簡介
本檔案介紹瞭解Catalyst 9000交換器上MAC抖動通知的關鍵點。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- C9200
- C9300
- C9500
- C9400
- C9600
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
相關產品
本文件也適用於以下硬體和軟體版本:
- 採用Cisco IOS® XE 16.x的Catalyst 3650/3850系列交換器。
背景資訊
Catalyst 9000交換器會瞭解連線埠上接收的封包的來源mac位址。如果連線埠設定為存取,則會從已設定的vlan得知mac位址。如果將連線埠設定為中繼,則會根據封包上的Dot1q標籤得知MAC位址。
附註:每個vlan每次只能在一個埠上獲取mac地址。不允許在多個連線埠上得知相同vlan中的相同mac位址。
什麼是Mac翻動通知
Mac flapping通知是當交換機從兩個或多個埠收到位於同一vlan中具有相同源mac地址的資料包時,由交換機生成的系統日誌消息。
正常運作
如圖1所示,主機A使用vlan 10中的來源mac位址aaaa將封包傳送到交換器。交換器會更新mac位址表中的此資訊,且流量流動不會中斷。
圖1
意外情況
現在,在映像2中,主機A和主機B使用同一vlan中相同的源mac地址將資料包傳送到交換機。
圖2
由於不允許它在多個連線埠上的同一vlan上得知相同的mac,因此會產生syslog,且會發生一系列事件。
- 交換器會從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層環路)的症狀。