交换机的MAC地址是如何形成的?

当交换机需要转发数据但MAC地址表中没有目的MAC地址的条目时,它会将数据帧从除接收端口外的所有端口广播出去。当目的设备回复时,交换机通过回复帧中的源MAC地址,学习到该地址与端口的对应关系,这是第二种形成方式。

评论 (2)

这里只说了“泛洪”后的自学习机制。其实MAC地址表的形成还有两个关键动作:一个是端口down/up时的动态清除,另一个是管理员可以手动配置静态MAC绑定。纯靠设备自发学习虽然灵活,但面对ARP欺骗或MAC泛洪攻击时确实比较被动,实际运维中静态条目还是很有必要的。

这其实描述的是MAC地址表的“动态学习”机制,也就是自学习(Self-learning)。不过楼主说的“形成方式”略显宽泛,完整的MAC地址表形成通常包含三种:1. 出厂时预置的(针对特定模块或管理口);2. 动态学习(如你所述的源地址学习);3. 管理员手动静态配置(Static MAC)。另外,交换机内部处理未知单播、组播和广播时泛洪(Flooding)是转发逻辑,而MAC地址表的“形成”核心在于对“已知单播”中源MAC的抓取。所以严格来说,回复帧学习的是“源MAC”,而不是“目的MAC”。这一点在面试或者认证考试里很容易设坑,值得注意。