本文由WOLFLAB网络实验室,杨广成老师带队进行整理​

MAC 地址

1. MAC 基础 ★★★★

(1) 定义: MAC(Media Access Control)地址用来定义网络设备的位置。

(2) 组成:MAC地址由48比特长、12位的16进制数字组成,其中从左到右开始,

0到23bit是厂商向IETF等机构申请用来标识厂商的代码,24到47bit由厂商


自行分派,是各个厂商制造的所有网卡的一个唯一编号。

(3)   MAC地址分类:

①单播(物理)MAC地址:MAC地址的为0为单播MAC地址,这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址。

②广播MAC地址:全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示LAN 上的所有终端设备。

③组播MAC地址:除广播地址外,第8 bit为1的MAC地址为组播MAC地址

(例如01-00-00-00-00-00),用来代表LAN上的一组终端。

(4) MAC地址表:记录了相连设备的MAC地址、接口号以及所属的VLAN ID之间的对应关系。在转发数据时,路由设备根据报文中的目的MAC地址和VLAN

ID查询MAC地址表,快速定位出接口,从而减少广播。

MAC地址表的分类:

①动态表项:由接口通过接收到报文中的源MAC地址学习获得,表项有老化时间。

②静态表项:由用户手工配置,并下发到各接口板,表项不老化。

③黑洞表项:用于指示丢弃含有特定源MAC地址或目的MAC地址的数据帧,由用户手工配置,并下发到各接口板,表项不老化。

(5) MAC地址表项的生成方式:自动生成、手工配置。


2. MAC 地址漂移 ★★★


(1)        定义:即设备上一个接口学习到的MAC地址在同一VLAN中另一个接口上也学习到,后学习到的MAC地址表项覆盖原来的表项。

(2)        产生原因:

①网络中产生环路:正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。出现这种现象一般都意味着网络中出现环路,形成广播风暴。处于风暴影响中的每个交换机节点都有MAC地址漂移的现象。

HCIE Datacom考试-MAC 地址基础及漂移技术汇总_mac地址

(3)        影响:

①导致数据帧无法正常转发到目的,出现大量的丢包;

②消耗设备的性能;

(4)        MAC地址漂移检测:

①基于VLAN的MAC地址漂移检测:

可以检测指定VLAN下的所有的MAC地址是否发生漂移。

当系统检测到VLAN内有MAC地址发生漂移时,可以进行以下处理动作:

①接口阻断或MAC地址阻断。当检测到MAC地址发生漂移则执行接口阻断或MAC地址阻断动作。

②发送告警。当检测到MAC地址发生漂移时只给网管发送告警。

②全局MAC地址漂移检测:可以检测到设备上所有的MAC地址是否发生了漂移。(默认开启)


缺省情况下,MAC地址漂移检测的安全级别为middle,即MAC地址发生10次迁移后,系统认为发生了MAC地址漂移。

当系统统检测到是该接口学习的MAC发生漂移,可以配置漂移后处理动作为将该接口关闭或者退出VLAN,默认情况下可以发出告警。某些特定场景下,如交换机连接双网卡的负载分担服务器时,可能会出现服务器的MAC地址在两个接口上学习到,而这种情况不需要作为MAC地址漂移被检测出来。可以将服务器所在的VLAN加入MAC 地址漂移检测白名单,不对该VLAN进行检测。

③MAC地址防漂移:

a) 配置接口MAC地址学习优先级:

不同接口学到相同的MAC地址表项,那么高优先级接口学到的

MAC地址表项可以覆盖低优先级接口学到的MAC地址表项。

默认情况下接口MAC地址学习优先级0,优先级可调整范围0-3。

b) 配置不允许相同优先级接口MAC地址覆盖。

c) 配置MAC-spoofing-defend功能:

将网络侧接口配置为信任接口,该接口学习到的MAC地址在其他接口将不会再学习到,可以防止用户侧仿冒网络侧服务器MAC 地址发送报文。

d) 配置STP、Smart-Link等二层破环协议。

e) 配置IPSG功能:


扩展问题1:如何识别一个MAC地址是单播,组播还是广播?

查看MAC地址是否为全1,即FF-FF-FF-FF-FF-FF,是则为广播MAC地址, 不是则看MAC地址的第8位是否为0,为0则为单播MAC,为1则为组播MAC。


扩展问题2:交换机处理数据帧的行为?

转发:从一个接口接收到的数据从同一VLAN的另一个接口发出;

收到单播帧,并且其目的MAC地址在MAC地址表中有对应的转发表项。泛洪:从一个接口收到的数据帧从其他所有端口发出;

收到未知单播帧、组播帧、广播帧时。

丢弃:该帧小与64字节(数据帧不完整)或者大于接口MTU时; 从该接口收到数据帧,该数据帧又要从该接口发出时。


扩展问题3:交换机收到一个数据帧,如何判断是二层转发还是三层转发?:

根据数据帧目的MAC地址,如果目的MAC地址为交换机的MAC地址,进行三层转发;如果不是交换机本身的MAC地址,则进行二层转发。


扩展问题4:常见的组播MAC地址有哪些?


01-80-C2-00-00-00:STP发送的目的MAC地址;

01-80-C2-00-00-14:ISIS L1 LAN IIH报文;

01-80-C2-00-00-15:ISIS L2 LAN IIH报文;

01-00-5E-0X-XX-XX:用于IPV4组播地址映射到组播MAC地址;

33-33-XX-XX-XX-XX:用于IPV6组播地址映射到组播MAC地址;


处理并泛洪


不一定;例如 :在开启igmp snooping表的场景


MAC表主要是交换机上的,主要根据接收数据帧的源MAC地址生成,记录

MAC和接口、Vlan的对应关系;

ARP表主要主机和三层网络设备上的,主要根据ARP的报文生成,记录是报文中源IP和源MAC的对应关系。

关注WOLFLAB网络实验室 51CTO官方号,我们每周都会更新哦!