So I am going through the Cisco Network Academy courses and recently watched their video about how an ethernet switch's MAC address table is populated. If there are 3 hosts connected to the switch, say A, B, and C, if host A sends a frame to host C then the MAC address of host A is stored in the table. Since the table was empty before the frame was sent, the frame is sent to all hosts in attempt to find the matching MAC. So the switch doesn't store those addresses even if they don't match? Even after finding the matching MAC, the destination MAC is never stored until that host sends a frame and then the source address is finally stored? In other words, a MAC address is only appended to the table when a host sends a frame rather than receiving? I feel like after the destination MAC is matched that the switch would just go ahead and append that address for later use rather than waiting for that host to send a frame.
Also side question, they mention the switch only storing the information in the table for around 5 minutes. Really? I understand memory for large tables but wouldn't it be simpler to keep the addresses for a network so they wouldn't have to reacquired so often.
Trying to extend my somewhat low networking knowledge so sorry if it is a dumb question. Thanks for any responses!