简介
本文档介绍了解Catalyst 9000交换机上mac抖动通知的关键点。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于以下软件和硬件版本:
- C9200
- C9300
- C9500
- C9400
- C9600
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
相关产品
本文档还可与以下硬件和软件版本一起使用:
- Catalyst 3650/3850系列交换机,采用Cisco IOS® XE 16.x。
背景信息
Catalyst 9000交换机获取端口上接收的数据包的源MAC地址。如果端口配置为接入,则会在已配置的vlan上获取mac地址。如果端口配置为TRUNK,将根据数据包上的Dot1q标记获取MAC地址。
注意:每个vlan每次只能在一个端口上获取mac地址。不允许在多个端口上获取同一vlan中的同一mac地址。
什么是Mac抖动通知
Mac抖动通知是当交换机从两个或多个端口收到同一个vlan中具有相同源mac地址的数据包时生成的系统日志消息。
正常运行
如图1所示,主机A使用vlan 10中的源mac地址aaaa向交换机发送数据包。交换机在mac地址表中更新此信息,流量流不中断。
图1
意外场景
现在,在映像2中,主机A和主机B使用同一vlan中的相同源mac地址向交换机发送数据包。
图2
由于不允许它在多个端口上的同一vlan上获取同一mac,因此会生成系统日志,并且会发生一系列事件。
- 交换机从mac地址表上一个端口删除mac地址。
- 现在,在最后接收数据包的端口获取MAC地址。
- 只要交换机继续接收来自两个端口的流量,就会重复这些事件。
%SW_MATM-4-MACFLAP_NOTIF: Host aaaa.aaaa.aaaa in vlan 10 is flapping between port Gi1/0/1 and port Gi1/0/2
每当mac地址从一个端口更改为另一个端口时,都会出现流量中断。当在端口Gi1/0/2上获取MAC地址时,发往主机A的流量会在此端口转发,反之亦然,从而导致丢包。
第 2 层环路
请看图3中的拓扑。您可以想象主机A将广播数据包发送到网络,在正常操作中,您可以看到阻塞了冗余链路,因此当发送广播时,我们不会在发送方交换机上收到数据包,因此mac地址表不会发生更改,流量传输也不会出现问题。
图3
考虑到映像4上的拓扑,您的网络中存在环路。现在,当主机A向网络发送广播数据包时,您在交换机的不同端口上收到了相同的数据包,从而触发mac抖动通知。如前一个场景所述,这会导致流量中断。
图4
注意:有一些功能(例如无线漫游)可以触发交换机上的mac抖动,但不会造成任何影响。但是,mac抖动可能是更大的问题(例如第2层环路)的症状。