PC-A resolved Server-S's MAC (SSSS.SSSS.SSSS) via ARP three hours ago and cached it — Windows/Linux ARP cache entries commonly live ~4 hours. But PC-A and Server-S haven't exchanged a packet in the last 6 minutes. The switch's MAC/CAM table entry for Server-S's port has a default aging timer of just 300 seconds — it already expired and was removed, silently, with no notification to anyone.
BackgroundPC-A needs to talk to Server-S again. Its ARP cache is still valid, so no ARP happens — it builds the frame directly addressed to SSSS.SSSS.SSSS and sends it out its access port.
SendBefore the switch even considers where to send the frame, it reads the source MAC (PC-A's) and refreshes its own table entry for PC-A's port, resetting that entry's aging timer to zero. Source learning is unconditional — it happens on literally every frame the switch receives, regardless of what the destination lookup finds.
LearnThe switch now looks up the destination MAC, SSSS.SSSS.SSSS, in its table. It's not there — aged out in step 1. From the switch's point of view, this is indistinguishable from a MAC it has genuinely never seen before; there's no "this used to be known" flag.
MissUnicast destination + no table entry = unknown unicast. The switch's only correct move is to flood: send the frame out every other port in the VLAN except the one it arrived on. This is the exact same flooding action as a broadcast, but the classification and the reason for it are different — a broadcast is flooded because it's addressed to everyone by design; an unknown unicast is flooded because the switch simply doesn't yet know better.
CheckpointEvery other host on the VLAN gets the frame at the NIC level. Non-matching hosts drop it in hardware without bothering the CPU or OS. Server-S recognizes its own destination MAC and passes the frame up its stack.
FloodServer-S processes the request and sends a reply — addressed to AAAA.AAAA.AAAA (PC-A's MAC), which it already has correctly, since nothing about PC-A's addressing ever changed.
ReplyThe reply's source MAC (SSSS.SSSS.SSSS) is read on arrival, and the switch writes a fresh entry: Server-S's MAC → its port, aging timer reset to zero. The table is now exactly as populated as it was before the entry expired.
LearnThe switch looks up PC-A's MAC — still valid from step 3 — and forwards the reply out that single port. No flooding on the return leg; that only ever happened on the one frame that hit a genuine table miss.
Known UnicastAs long as PC-A and Server-S keep exchanging traffic more often than every 300 seconds, both entries stay warm and every frame from here on is a clean, single-port known-unicast forward. The flood in step 6 was a one-off cost of the table having gone cold — not a fault, not an error, just the mechanism working as designed.
Steadymac address-table aging-time on Cisco. Lowering it makes the table adapt faster to topology changes (e.g. after a failover) at the cost of more frequent flooding for quiet hosts; raising it reduces flooding overhead but means stale entries (e.g. a moved device) persist longer.| Term | Meaning |
|---|---|
| Unknown Unicast | A unicast-destined frame whose MAC isn't currently in the switch's table — handled by flooding |
| Source Learning | The switch recording a frame's source MAC against the port it arrived on — happens on every frame |
| MAC / CAM Table Aging | The timer (default 300s on most Cisco platforms) after which an unused entry is removed |
| ARP Cache Timeout | A separate, host-side timer (commonly ~4h) — independent of, and usually much longer than, MAC aging |
| MAC Flooding Attack | Deliberately overflowing the CAM table with fake MACs to force fail-open flooding for sniffing |
| Port Security | A switchport feature limiting the number/identity of MACs allowed to be learned on that port |
| Broadcast Storm | A sustained, often self-reinforcing flood — usually from a loop, not a single unknown-unicast event |
| Storm Control | A switchport feature that rate-limits broadcast/multicast/unknown-unicast traffic to contain storms |
| Static MAC Entry | A manually configured, non-aging MAC-to-port mapping |
| STP Topology Change | An event that triggers accelerated MAC table flushing network-wide after a link state change |