Am I spot on with that or am I missing something?
Yes, you got that correct. Once a packet has been sent, the switch remembers were the sending computer is. This entry stays until either:
- The computer sends no more packets for some duration (defined by the switch).
- The computer is moved to a different switch port, from which the switch will then see packets arriving.
- The switch runs out of memory for remembering MAC addresses and removes some.
The switch need ultrafast access to this information, so it cannot be stored in a normal RAM chip. Instead a CAM is used. That means content addressed memory, which is fast for the kind of operations a switch or a router need to do, but has very small capacity. Typically low-end switches can remember a few thousand computers at most.
What do the other computers do with the packets they received the first time that the packets were sent out?
Usually the operating system will tell the network interface to only hand over packets destined for its own MAC address. So the hardware will ignore those packets, and the operating system will never see them. In special situations, that may not be sufficient, so the operating system can tell the network interface to hand over all the packets, and then the operating system must decide which to ignore. This is for example used if you run a virtual machine with a different MAC address attached to the same network segment.