目錄

簡介

必要條件

需求

採用元件

背景資訊

什麼是MAC擺動？

一般疑難排解指南

案例研究1

問題描述

拓撲

疑難排解步驟

根本原因

解析

案例研究2

問題描述

拓撲

疑難排解步驟

根本原因

解析

預防

簡介

本檔案介紹如何對Cisco Catalyst交換器上的MAC擺動/回圈進行疑難排解。

必要條件

需求

思科建議您瞭解基本交換概念的基礎知識，並瞭解生成樹通訊協定(STP)及其Cisco Catalyst交換器上的功能。

採用元件

本檔案中的資訊是根據所有版本的Cisco Catalyst交換器（本檔案不限於任何特定軟體或硬體版本）。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

本檔案將提供一個指南，其中列出用於疑難排解Cisco Catalyst交換器上的MAC翻動或回圈問題的系統方法。MAC擺動/環路是由交換機MAC地址表的不一致導致的網路中斷。本文檔不僅提供了識別和解決這些問題的步驟，而且包含用於更好理解的實際示例。

什麼是MAC擺動？

當交換器收到的MAC來源位址相同，但來自不同介面的訊框時，就會發生MAC翻動。這會導致交換器在連線埠之間翻動，並使用新介面更新其MAC位址表。這種情況會導致網路不穩定，並導致效能問題。

在Cisco交換機中，MAC抖動通常記錄為類似以下內容的消息：

"%SW_MATM-4-MACFLAP_NOTIF: Host xxxx.xxxx.xxxx in vlan x is flapping between port (1) and port (2)"

在本例中，MAC地址首先在介面埠(1)上獲知，然後在介面埠(2)上看到，從而導致MAC翻動xxxx.xxxx.xxxx。

MAC抖動最常見的原因是網路中的第2層環路，通常是由於STP配置錯誤或冗餘鏈路問題。其他原因可能包括硬體故障、軟體錯誤，甚至包括MAC欺騙之類的安全問題。

對MAC翻頁進行故障排除通常涉及識別和解決網路中的任何環路、檢查裝置配置或更新裝置韌體/軟體。

一般疑難排解指南

- 確定MAC抖動：在交換機中查詢指示MAC擺動的日誌。例如，在Cisco交換器中，日誌訊息如下所示：

%SW_MATM-4-MACFLAP_NOTIF: Host [mac_address] in vlan [vlan_id] is flapping between port [port_id_1] and port [port_id_2]

- 記下MAC地址和介面：日誌消息提供正在擺動的MAC地址以及它正在擺動的介面。請注意這些資訊，因為它們有助於您的調查。

- 檢查受影響的介面：使用交換機的CLI調查涉及的介面。您可以使用命令show interfacesshow mac address-table 檢視哪些裝置連線到介面以及獲取MAC地址的位置。

- 跟蹤擺動的MAC地址：MAC通過埠X和Y學習。一個埠將我們引向該MAC的接入位置，另一個則引向環路。選取連線埠，並在路徑中的每台第show mac address-table2層交換器上使用命令開始工作。

- 檢查物理環路：檢視網路拓撲，以檢視是否存在任何物理環路。如果交換器之間有多條路徑，就可能會發生這種情況。如果找到回圈，您必須重新設定網路才能移除回圈。

- 檢查STP:STP旨在通過阻塞某些路徑來防止網路中的環路。如果STP配置錯誤，它不會像必須的那樣防止環路。使用命令show spanning-tree檢查STP配置。此外，使用命令show spanning-tree detail | include ieee|occur|from|is檢查拓撲更改通知(TCN)。

- 檢查重複的MAC地址：如果網路上的兩部裝置具有相同的MAC位址(主要在高可用性(HA)設定和多個網路介面控制器或網絡卡(NIC)中可見)，可能會造成MAC擺動。使用show mac address-table命令可查詢網路上的重複MAC地址。

- 檢查有故障的硬體或電纜：網路電纜或硬體故障可能導致幀傳送到錯誤的介面，從而導致MAC抖動。檢查電纜的物理狀態，並考慮換出硬體，以檢視問題是否仍然存在。介面抖動也可能導致交換機上的MAC抖動。

- 檢查軟體錯誤：有時，MAC抖動可能是由網路裝置的軟體錯誤引起的。檢查Bug search工具。

Bug Search Tool:https://bst.cloudapps.cisco.com/bugsearch

Bug Search Tool 說明:https://www.cisco.com/c/en/us/support/web/tools/bst/bsthelp/index.html#search

- 聯絡TAC支援：如果您已嘗試所有功能，但問題仍然存在，請聯絡Cisco TAC支援。它們可以提供進一步援助。

案例研究1

問題描述

eWLC控制器遇到與網關的連線丟失的情況，而丟包正在阻止AP加入控制器。

拓撲

疑難排解步驟

在連線到eWLC的交換器(Switch1)上識別MAC抖動。

*Aug  5 05:52:50.750: %SW_MATM-4-MACFLAP_NOTIF: Host 0000.5e00.0101 in vlan 4 is flapping between port Gi1/0/11 and port Te1/1/2

*Aug  5 05:53:03.327: %SW_MATM-4-MACFLAP_NOTIF: Host 0000.5e00.0101 in vlan 4 is flapping between port Gi1/0/11 and port Te1/1/2

*Aug  5 05:53:21.466: %SW_MATM-4-MACFLAP_NOTIF: Host 0000.5e00.0101 in vlan 4 is flapping between port Gi1/0/11 and port Te1/1/2

MAC Learning:

輸入命令show mac address-table address

，檢查連線埠上學習的MAC位址。

Switch1#show mac address-table address 0000.5e00.0101

Mac Address Table

-------------------------------------------

Vlan    Mac Address       Type        Ports

----    -----------       --------    -----

4    0000.5e00.0101    DYNAMIC     Gi1/0/11

4    0000.5e00.0101    DYNAMIC     Te1/1/2

連線埠Gi1/0/11和Te1/1/2的組態：

輸入命令show running-config interface

以檢查介面組態。

interface GigabitEthernet1/0/11

switchport trunk native vlan 4

switchport mode trunk

end

interface TenGigabitEthernet1/1/2

switchport mode trunk

end

連線埠Gi1/0/11和Te1/1/2的CDP鄰居：

輸入命令show cdp neighbors

以檢查已連線裝置的詳細資訊。

Switch1#show cdp neighbors gi1/0/11

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,

D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

eWLC            Gig 1/0/11        130              R T   C9115AXI- Gig 0 < ----- eWLC Controller

Switch1#show cdp neighbors gi1/1/2

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,

D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

Switch2

Ten 1/1/2         163             R S I  C9500-16X Ten 1/0/3 < ----- Uplink Switch

Switch2上的MAC學習（上行鏈路交換機）：

輸入命令show mac address-table address

，檢查連線埠上學習的MAC位址。

Switch2#show mac address-table address 0000.5E00.0101

Mac Address Table

-------------------------------------------

Vlan    Mac Address       Type        Ports

----    -----------       --------    -----

4    0000.5e00.0101    STATIC      Vl4 < ----- VRRP MAC of Vlan4

4    0000.5e00.0101    DYNAMIC     Te1/0/13 < ----- Learning from Switch1 (eWLC connected Switch)

Switch2#show vrrp  vlan 4

Vlan4 - Group 1 - Address-Family IPv4

State is MASTER

State duration 5 days 4 hours 22 mins

Virtual IP address is x.x.x.x

Virtual MAC address is 0000.5E00.0101 < ------ VRRP MAC of Vlan4

Advertisement interval is 1000 msec

根本原因

經驗證，交換器2和eWLC的虛擬路由器備援通訊協定(VRRP)ID相同，因此由VRRP產生相同的虛擬MAC。

解析

更改WLC上的VRRP例項後，問題得到解決，VRRP例項導致交換機上的重複MAC導致與網關的連線丟失和丟包，從而阻止AP加入控制器。

案例研究2

問題描述

有些伺服器無法訪問或遇到大量延遲/丟棄。

拓撲

疑難排解步驟

1.已注意到Core交換機上出現MAC抖動。

Nov 14 08:36:34.637: %SW_MATM-4-MACFLAP_NOTIF: Host xxxx.xxxx.xxxx in vlan 1 is flapping between port Twe1/0/19 and port Twe1/0/5

Nov 14 08:36:34.838: %SW_MATM-4-MACFLAP_NOTIF: Host yyyy.yyyy.yyyy in vlan 1 is flapping between port Twe1/0/17 and port Twe1/0/19

Nov 14 08:36:34.882: %SW_MATM-4-MACFLAP_NOTIF: Host zzzz.zzzz.zzzz in vlan 1 is flapping between port Po1 and port Twe1/0/19

2.已選擇用於故障排除yyyy.yyyy.yyyy過程的MAC地址。

MAC Learning:

輸入命令show mac address-table address

，檢查連線埠上學習的MAC位址。

Core-SW#show mac address-table address yyyy.yyyy.yyyy

Mac Address Table

-------------------------------------------

Vlan    Mac Address       Type        Ports

----    -----------       --------    -----

1    yyyy.yyyy.yyyy    DYNAMIC     Twe1/0/17

CDP埠Twe 1/0/17和Twe 1/0/19的鄰居：

輸入命令show cdp neighbors

以檢查已連線裝置的詳細資訊。

Core-SW#show cdp neighbors Twe 1/0/17

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,

D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

2960X-SW1

Twe 1/0/17        162              S I   WS-C2960X Gig 1/0/51

Core-SW#show cdp neighbors Twe 1/0/19

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,

D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

2960S-SW1

Twe 1/0/19        120              S I   WS-C2960S Gig 2/0/28

從2960X-SW1連線到核心 — 軟體Twe1/0/17的日誌：

MACyyyy.yyyy.yyyy在埠Gi1/0/51和Gi2/0/46(9200L)之間擺動。

2960X-SW1#show mac address-table address yyyy.yyyy.yyyy

Mac Address Table

-------------------------------------------

Vlan    Mac Address       Type        Ports

----    -----------       --------    -----

1    yyyy.yyyy.yyyy    DYNAMIC     Gi1/0/51

2960X-SW1#show mac address-table address yyyy.yyyy.yyyy

Mac Address Table

-------------------------------------------

Vlan    Mac Address       Type        Ports

----    -----------       --------    -----

1    yyyy.yyyy.yyyy DYNAMIC     Gi2/0/46

2960X-SW1#show run interface gi 1/0/51

Building configuration...

Current configuration : 62 bytes

!

interface GigabitEthernet1/0/51

switchport mode trunk

end

2960X-SW1#show run interface gi 2/0/46

Building configuration...

Current configuration : 62 bytes

!

interface GigabitEthernet2/0/46

switchport mode trunk

end

來自9200L的日誌：

（這似乎是此MAC地址的有效埠。）

9200L#show mac address-table address yyyy.yyyy.yyyy

Mac Address Table

-------------------------------------------

Vlan    Mac Address       Type        Ports

----    -----------       --------    -----

1    yyyy.yyyy.yyyy DYNAMIC     Gi1/0/1

9200L#show run interface gi 1/0/1

Building configuration...

Current configuration : 62 bytes

!

interface GigabitEthernet1/0/1

switchport mode access

end

2960S-SW1連線到Core-SW Twe1/0/19:

（似乎是循環路徑。） 為了緩解環路，Core-SW上的埠已關閉。

但是，在Core-SW上仍然觀察到MAC擺動。

2960S-SW1的日誌：

Nov 14 08:36:34.637: %SW_MATM-4-MACFLAP_NOTIF: Host xxxx.xxxx.xxxx in vlan 1 is flapping between port Gi3/0/27 and port Gi2/0/26

Nov 14 08:36:34.838: %SW_MATM-4-MACFLAP_NOTIF: Host yyyy.yyyy.yyyy in vlan 1 is flapping between port Gi3/0/27 and port Gi2/0/26

Nov 14 08:36:34.882: %SW_MATM-4-MACFLAP_NOTIF: Host zzzz.zzzz.zzzz in vlan 1 is flapping between port Gi3/0/27 and port Gi2/0/26

2960S-SW1#show run interface gi 3/0/27

Building configuration...

Current configuration : 62 bytes

!

interface GigabitEthernet3/0/27

switchport mode trunk

end

2960S-SW1#show cdp neighbor gi 3/0/27

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,

D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

2960X-SW2

Gig 3/0/27        176              S I   WS-C2960X Gig 1/0/27

2960X-SW2的日誌：

2960X-SW2#show run interface gi 3/0/15

Building configuration...

Current configuration : 39 bytes

!

interface GigabitEthernet3/0/15

end

2960X-SW2#show cdp neighbor gi 3/0/15

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,

D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

SG300     Gig 3/0/15        157              S I   SG300-28P gi18

2960X-SW2#config terminal

2960X-SW2(config)#interface gi 3/0/15

2960X-SW2(config-if)#shutdown

根本原因

由於連線到網路的SG300（非託管）交換機，出現MAC擺動。

解析

通過關閉連線到非託管交換機SG300的埠解決了MAC抖動問題。

預防

STP Portfast:

STP PortFast可使第2層LAN連線埠立即進入轉送狀態，繞過偵聽和學習狀態。STP PortFast可防止產生STP TCN，對於沒有接收STP橋接協定資料單元(BPDU)的連線埠而言，STP TCN並無意義。 僅在與端接VLAN的終端主機裝置連線的埠上配置STP PortFast，並且埠絕不能從中接收STP BPDU，例如工作站、伺服器、未配置為支援橋接的路由器上的埠。

BPDU防護：

STP BPDU防護補充了STP PortFast的功能。在已啟用STP PortFast的連線埠上，STP BPDU防護可保護啟用STP PortFast時STP無法提供的第2層回圈。STP BPDU防護會關閉接收BPDU的連線埠。

根防護：

根防護可防止埠成為STP根埠。使用STP根防護可防止不合適的埠成為STP根埠。例如，不合適的埠會連結到不受直接網路管理控制的裝置。

環路防護：

環路防護是針對STP的思科專有最佳化。環路防護可保護第2層網路免受環路的影響，當某些原因導致點對點鏈路上的BPDU無法正常轉發時（例如，網路介面故障或CPU繁忙），就會出現環路。 環路防護是對單向鏈路檢測(UDLD)提供的單向鏈路故障防護的補充。 環路防護隔離故障並使STP收斂到穩定的拓撲，並將故障元件從STP拓撲中排除。

BPDU過濾器：

這將禁用STP。BPDU在接收時既不會傳送也不會處理。這在服務提供商中很常見，不一定是企業網路。

UDLD主動：

Cisco專有UDLD通訊協定監控支援UDLD的裝置與連線埠之間的連結實體組態。UDLD會偵測是否存在單向連結。UDLD可以在正常或主動模式下運作。如果收到的UDLD封包不包含適用於鄰近裝置的資訊，正常模式UDLD會將連結分類為單向連結。除了正常模式UDLD的功能外，如果無法重新建立兩個先前同步的鄰居之間的關係，則主動模式UDLD會將埠置於err-disabled狀態。

風暴控制：

流量風暴控制是在硬體中實施的，不會影響交換機的整體效能。通常，PC和伺服器等終端站是可以被抑制的廣播流量的來源。為了避免不必要的過度廣播流量處理，請在連線到終端站的接入埠和連線到關鍵網路節點的埠上啟用廣播流量風暴控制。