目录

简介

先决条件

要求

使用的组件

相关产品

背景信息

什么是Mac抖动通知

正常运行

意外场景

第 2 层环路

简介

本文档介绍了解Catalyst 9000交换机上mac抖动通知的关键点。

先决条件

要求

Cisco 建议您了解以下主题：

- Catalyst交换机上的MAC地址学习

使用的组件

本文档中的信息基于以下软件和硬件版本：

- 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层环路）的症状。