为什么有些设备的MAC地址无法上到交换机?

交换机在底层其实是靠学习源MAC地址来工作的,它会把进入端口的数据包的源MAC记录下来,然后根据目的MAC地址进行转发。如果发现某个设备MAC地址突然消失了,通常是因为MAC地址表有老化机制,超过设定的时间没有收到该设备的报文,表项就会被清除。

评论 (2)

解释得很到位,MAC地址老化确实是主因。不过除了超时清除,有时候端口shutdown、或者设备重启换MAC,也会导致查不到。另外如果是接入交换机开启了端口安全,限制mac数量,突然多了或者换了新设备也会被直接丢弃,这个在实际运维中也挺常见的。

除了老化的原因,很多情况下其实是触发了交换机的端口安全(Port-Security)机制。如果管理员配置了MAC地址数量上限或者绑定了特定MAC,一旦设备MAC不符或者数量超限,端口就会直接error-disable或丢弃帧,这时候在交换机上看不到MAC学习记录也是正常的,排查时要重点看端口状态和日志。