交换机的MAC地址在交换机进行数据交换时是没有作用的,因为交换机并不对转发的数据帧进行拆包重封装。所以对于交换机来说,如果只是完成数据帧交换,则可以不要MAC地址(仅指二层交换机,三层交换机完成路由功能自然每个端口得有IP有MAC)。但是,若要求交换机有网管功能,即需要远程登录管理,则交换机必须有一个MAC地址,如此用户才可以对交换机进行远程登录管理。引用cisco的原文For L2 switches, there are mac addresses for different functions (to be able to communicate (when we want to telnet, ping or do snmp to the switch) and spanning tree (to form the bridge ID).但是事实上很多交换机不只一个MAC地址,而是每个端口均有一个MAC地址,这个就与Spanning Tree生成树协议有关运行生成树协议的交换机会发送BPDU获取Bridge ID,Bridge ID中包括网桥的优先级和网桥MAC地址,Bridge ID最小者当选根网桥,在选举出根网桥之后,Spanning Tree协议会在非根网桥选取唯一的根端口,这时就与端口的Port ID相关,在实际应用中是以端口的MAC地址作为Port ID。这就是端口MAC地址的用处之在。实际表现的形式就是交换机本地报文的二层封装,如BPDU。至于Port ID为何要以MAC地址而不由交换机自定义,我个人的想法是这个原因和网卡MAC地址使用网卡物理地址的原因类似,Port ID要求标识出哪个网桥的哪个端口,使用Bridge ID+Port ID就可以在全网唯一标识一个端口,那采用何种地址方能保证唯一?自然就是MAC地址。综上所述,交换机每个端口均有一个MAC地址。你看的那篇文章叙述错误。
这位哥,我认为你的说法不对;综上所述,交换机每个端口均有一个MAC地址。电脑的网卡上的mac是烧上的;我就问你了,一台交换机上就那么多的端口,每个端口都给烧上mac,那么多交换机设备,要你这样说早就 没了。不要说mac的用多少位数来表示和数量问题了,我知道你会用这个来反问我的。实际上,交换机上的每个端口是没mac的;交换机上有的只是管理用的mac,有的是mac表,端口是没mac;mac表只是记录着去往目的mac是通过那个口转发的;那些mac不是自己的,都是learning到的;所以我们看mac地址表的时候能看到一个端口可以对应很多的mac,因为交换机下可以是交换机;然后交换机下面就接着很多的pc,。你拿真的交换机show一下,看看吧。交换机端口压根就没mac。
每个接口都有一个MAC。之前听冯旭涛的CCNA课的时候他明确过这一点。