Ok, I have read up about this 16K limit for the MAC address table, or better known as the CAM table, on certain switches. Lets say I have 14 different edge switches with that 16K limit, and I have VLAN 200 set up across all of these same switches, would I expect to see the tables "sync" across all of the switches for that VLAN? For example, if one switch fills up with 10K mac addresses, would I expect to see these same MAC addresses in the CAM table across all switches in that VLAN? Could this be something that differs by configuration and/or vendor implementation?
2 Answers
Synchronizing MAC address tables across switches doesn't make any sense. Each switch maintains its own MAC address table.
For instance, suppose you have Switch 1 and Switch 2 connected together of their ports 24, and MAC address 0123.4567.89ab
comes into Switch 1 port 5. On switch 1, the MAC address table would reflect that MAC address 0123.4567.89ab
is connected to port 5. If any frames from the host with that MAC address find their way to Switch 2, the MAC address table of Switch 2 will have MAC address 0123.4567.89ab
coming into port 24. If no frames from MAC address 0123.4567.89ab
get sent to Switch 2, then Switch 2 will not have 0123.4567.89ab
in its MAC address table.
If you synchronize MAC address table across those two switches, then how would you propose to resolve the port conflict where 0123.4567.89ab
is on port 5 of one switch, but it is on port 24 of the other switch?
The closest thing you could have is with switch stacks, where multiple switches are connected in a stack, and the stack looks like a single switch. You configure the stack, not the individual switches, and things like STP and MAC address tables are done as if the stack was a single switch.
-
So, to avoid a duplicate mac scenario per access port, if the frame does make its way to a neighboring switch and gets stored, its shows up in the trunk port (port 24) of the switch cam table? Is that how it can show up on both switches AND avoid a port conflict? Sep 21, 2016 at 17:28
-
1Since each switch maintains its own table, there will be no port conflict. For Switch 1, the MAC address only comes into port 5, but for Switch 2 the MAC address only comes into port 24. If the host changes position, say it now connects to Switch 2 on port 7, the first frame coming into Switch 2 port 7 with that MAC address will change the Switch 2 MAC address table. If it happens to switch among multiple ports in a very short time, you will get warnings about a flapping MAC address.– Ron Maupin ♦Sep 21, 2016 at 17:32
Switches don't normally1 sync MAC tables, they independently build them based on the Source MAC addresses and ingress ports of frames they see.
However pretty much all devices send out broadcast (or effectively broadcast) packets first (DHCP, ARP etc). When a broadcast packet is sent from a MAC address that packet will be processed by every switch in the VLAN and hence it's MAC address will be recorded by every switch in the VLAN.
So under normal circumstances you would expect all the switches on a VLAN to have pretty much the same list of MAC addresses in their switching table for that VLAN. Obviously the ports associated with those MAC addresses will be different.
1 There are exceptions to this, some protocols for virtual Ethernet networks explicitly advertise the location of MAC addresses. https://datatracker.ietf.org/doc/html/draft-ietf-bess-evpn-overlay-04