MSTP故障處理手冊
Copyright © 2013 杭州華三通信技術有限公司 版權所有,保留一切權利。 非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部, 並不得以任何形式傳播。本文檔中的信息可能變動,恕不另行通知。 |
二層網絡中存在廣播風暴。
圖1-1 廣播風暴故障診斷流程圖
執行display stp命令查看設備全局MSTP是否開啟。如果沒有開啟,則在係統視圖下通過stp enable命令開啟全局MSTP。
執行display stp interface命令查看端口MSTP是否開啟。如果沒有開啟,則在接口視圖下通過stp enable命令開啟端口MSTP。
執行display stp history命令查看端口是否存在報文超時現象,例如:
<Sysname> display stp instance 2 history slot 1
--------------- STP slot 1 history trace ---------------
------------------- Instance 2 ---------------------
Port Ethernet1/1
Role change : ROOT->DESI (Aged)
Time : 2012/08/08 00:22:56
Port priority : 0.00e0-fc01-6510 0 0.00e0-fc01-6510 128.1
在端口Ethernet1/1信息的Role change項中存在Aged字樣,表明該端口由於報文超時引起角色變化,此時可以通過stp timer-factor命令將超時因子設置的大一些。
鏈路發生故障後,整個網絡的流量恢複時間超過30秒。如圖1-2所示,Switch A為根橋,Switch B的Ethernet1/1和Switch C的Ethernet1/2為根端口,Switch C的Ethernet1/3為替換端口,Switch B的Ethernet1/3為指定端口,當Switch A和Switch B之間的鏈路發生故障後,Switch C的Ethernet1/3端口計算為指定端口後無法快速遷移到Forwarding狀態,導致流量中斷30秒。
圖1-3 端口無法快速遷移故障診斷流程圖
檢查端口對端連接是否為終端,如果該端口直接與終端相連,請在接口視圖下通過stp edged-port enable命令配置該端口為邊緣端口。
執行display stp命令查看設備的工作模式,如果設備工作在STP模式,則在係統視圖下執行stp mode命令將設備的工作模式修改為MSTP。
在上遊設備上執行display stp命令查看設備的工作模式,如果上遊設備工作在STP模式或者RSTP模式,則在係統視圖下通過stp mode命令將上遊設備工作模式修改為MSTP。對於上遊設備工作在RSTP模式的情況,還可以在端口(如圖1-2中Switch B的端口Ethernet1/3)上通過stp no-agreement-check命令開啟No Agreement Check特性。
執行display stp interface命令查看端口是否為點對點鏈路:
<Sysname> display stp interface ethernet 1/3
----[CIST][Port3(Ethernet1/3)][UP]----
Port Protocol :enabled
Port Role :CIST Disabled Port
Port Priority :128
Port Cost(Legacy) :Config=auto / Active=200000
Desg. Bridge/Port :0.00e0-fc00-2000 / 128.2
Port Edged :Config=disabled / Active=disabled
Point-to-point :Config=auto / Active=true
Transmit Limit :10 packets/hello-time
Protection Type :None
MST BPDU Format :Config=auto / Active=legacy
Port Config-
Digest-Snooping :disabled
Num of Vlans Mapped :20
PortTimes :Hello 2s MaxAge 20s FwDly 15s MsgAge 0s RemHop 20
BPDU Sent :0
TCN: 0, Config: 0, RST: 0, MST: 0
BPDU Received :0
TCN: 0, Config: 0, RST: 0, MST: 0
當Point-to-point項中Active為true表明端口為點對點鏈路,如果為false則表明端口為非點對點鏈路。
如果端口為點對點鏈路還無法快速遷移,請尋求技術支持。
執行display interface brief命令查看端口的雙工模式,如果端口為半雙工模式,則在接口視圖下通過duplex auto命令將本端口和其對端端口修改為自協商模式。
如果兩端端口都工作在自協商模式,請檢查鏈路是否存在故障,如果鏈路出現故障,請排除此故障。
指定端口一直處於Discarding狀態,無法遷移到Forwarding狀態。
圖1-4 指定端口長期處於Discarding狀態故障診斷流程圖
執行debugging stp packet interface命令打開端口的STP報文詳細信息調試開關,查看端口是否接收到了本端口自己發送出去的報文,如果是,表明網絡中存在自環,請檢查網絡消除自環。
方法一:通過查看打印的Log日誌,如果有打印“Port interface-type interface-number received MSTP BPDUs of a different format than the configured one. Please change your MSTP BPDU format configuration.”,表明端口收到了不同格式的報文。
方法二:通過調試信息查看端口收到的報文類型,執行display stp interface命令查看端口實際配置的報文類型,比較兩者是否一致,如果不一致表明端口收到不同格式報文。
如果端口收到的報文格式和配置的格式不一致,則通過stp compliance命令修改端口的報文格式。
方法一:通過查看打印的Log日誌,如果有打印“Instance instance-id's ROOT-Protection port interface-type interface-number received superior BPDUs.”,表明端口開啟了根保護。
方法二:執行display stp abnormal-port命令查看端口是否因根保護起作用而被Discarding。
<Sysname> display stp abnormal-port
MSTID Blocked Port Reason
0 Ethernet 1/4 ROOT-Protected
如果端口因啟動根保護而被Discarding,請檢查是否誤將設備設置為根橋或備份根橋,執行display stp instance命令查看設備在實例上的根類型。如:
<Sysname> display stp instance 0
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :0.00e0-fc02-1900
Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0.00e0-fc02-1900 / 0
CIST RegRoot/IRPC :0.00e0-fc02-1900 / 0
CIST RootPortId :0.0
BPDU-Protection :disabled
Bridge Config-
Digest-Snooping :disabled
CIST Root Type :PRIMARY root
上述信息表明設備被配置為根橋。
如果根橋和備份根橋配置正確,請檢查本端口是否誤將根保護特性開啟。如果是,請將根保護特性關閉;如果根保護特性配置正確,請執行display interface命令查看端口當前的鏈路狀態,檢查設備通往根橋的鏈路是否出現故障。如:
<Sysname> display interface ethernet 1/1
Ethernet1/1 current state: DOWN
IP Packet Frame Type: PKTFMT_ETHNT_2, Hardware Address: 0000-fc00-6507
Description: Ethernet1/1 Interface
Loopback is not set
Media type is twisted pair
Port hardware type is 100_BASE_T
Unknown-speed mode, unknown-duplex mode
如果出現了鏈路故障,則將故障排除。
方法一:通過查看打印的Log日誌,如果有打印“Instance instance-id's LOOP-Protection port interface-type interface-number failed to receive configuration BPDUs.”,表明端口開啟了環路保護。
方法二:執行display stp abnormal-port命令查看端口是否因環路保護起作用而被Discarding。
<Syaname> display stp abnormal-port
MSTID Blocked Port Reason
0 Ethernet 1/4 LOOP-Protected
如果端口因啟動環路保護而被Discarding,請檢查對端STP是否開啟。如果開啟STP,請檢查是否出現鏈路擁塞或者存在單向鏈路故障(執行display stp interface命令檢查對端端口的鏈路狀態,對於光纖口請檢查光纖的收光線和發光線是否正常)。如果是鏈路擁塞,可以通過增大超時因子解決該問題;如果出現單向鏈路,則排除此故障。
執行display interface命令查看端口信息時,端口為STP DOWN。例如:
<Sysname> display interface ethernet 1/1
Ethernet1/1 current state: STP DOWN
IP Packet Frame Type: PKTFMT_ETHNT_2, Hardware Address: 0000-fc00-6507
Description: Ethernet1/1 Interface
Loopback is not set
Media type is twisted pair
Port hardware type is 100_BASE_T
Unknown-speed mode, unknown-duplex mode
圖1-5 端口STP DOWN故障診斷流程圖
方法一:通過查看打印的Log日誌,如果有打印“BPDU-Protection port interface-type interface-number received BPDUs.”,表明端口開啟了BPDU保護。
方法二:執行display stp down-port命令查看端口是否因BPDU保護生效而被STP 關閉。例如:
<Sysname> display stp down-port
Down Port Reason
Ethernet1/1 BPDU-Protected
如果端口因BPDU保護生效而被STP DOWN,請檢查對端設備是交換機還是終端,如果對端為交換機,表明端口的配置錯誤,請通過undo stp edged-port命令將端口的邊緣端口屬性去掉,並通過undo shutdown命令開啟端口;如果對端為終端設備,表明存在惡意攻擊,端口被關閉屬於正常情況,請消除攻擊源,然後再通過undo shutdown命令開啟端口。
方法一:通過查看打印的Log日誌,如果有打印“Port interface-type interface-number received MSTP BPDUs of different formats continually. Shut it down in order to prevent broadcast.”,表明端口因報文格式頻繁切換而被關閉。
方法二:執行display stp down-port命令查看端口是否因報文格式頻繁切換而被STP關閉。例如:
<Sysname> display stp down-port
Down Port Reason
Ethernet1/1 Formatfrequency-Protected
如果端口因報文格式頻繁切換而被STP關閉,請檢查組網中報文格式的配置是否正確,如果配置正確,請檢查是否存在惡意攻擊,如果存在惡意攻擊,端口被關閉屬於正常情況,請消除攻擊源,然後再通過undo shutdown命令開啟端口,否則請尋求技術支持。
在一個STP的組網內,網絡中流量持續不穩定,時斷時續。
圖1-6 STP網絡流量不穩定故障診斷流程圖
如果設備頻繁打印下麵信息表明存在鏈路故障或者組網錯誤:
<Sysname> system-view
[Sysname] stp port-log instance all
%Aug 16 00:49:41:856 2012 Sysname MSTP/3/PDISC: Instance 2's port Ethernet1/1 has been set to discarding state。
%Aug 16 00:49:41:856 2012 Sysname MSTP/3/PFWD: Instance 2's port Ethernet1/2 has been set to forwarding state.
請確認不停打印狀態切換信息的端口是否存在鏈路故障,如果鏈路無故障,請檢查全網設備STP配置是否正確。
執行display stp history命令查看端口角色計算曆史紀錄,如果端口的角色不停更新且端口優先級在不停變化,表明端口收到來在不同設備的報文,表明組網錯誤,請消除錯誤組網。
執行display stp命令查看收到TC報文的數量,同時查看最近一次拓撲變化時間,如果TC報文的數量一直遞增且最近一次拓撲變化時間在10秒以內,那麼端口肯定頻繁收到TC報文。
接下來就是追溯TC源頭,執行display stp tc命令查看頻繁收到TC報文的端口,如果某端口收到的TC報文一直遞增,查看該端口的對端設備的TC接收端口,一級一級往上直到找到TC源。
例如:
<Sysname> display stp tc
MSTID Port Receive Send
0 Ethernet1/1 17 17
0 Ethernet1/2 2 0
<Sysname> display stp tc
MSTID Port Receive Send
0 Ethernet1/1 25 25
0 Ethernet1/2 2 0
端口Ethernet1/1收到的TC數量持續增加,表明端口Ethernet1/1的對端一直發送TC報文,繼續檢查端口Ethernet1/1的對端設備的TC報文收發情況。
在MSTP域配置(Format selector、域名、MSTP修訂級別以及實例和VLAN映射關係)都相同的情況下,兩台設備無法處於同一個MSTP域中,執行display stp brief命令時,CIST實例上根端口在多實例上角色為Master。
圖1-7 設備無法處於同一個MSTP域故障診斷流程圖
執行display stp命令查看設備當前運行模式,例如:
<Sysname> display stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :0.00e0-fc00-1234
Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0.00e0-fc00-1234 / 0
CIST RegRoot/IRPC :0.00e0-fc00-1234 / 0
CIST RootPortId :0.0
BPDU-Protection :disabled
Bridge Config-
Digest-Snooping :enabled
CIST Root Type :PRIMARY root
TC or TCN received :463
Time since last TC :0 days 0h:17m:54s
上述信息表示設備當前運行模式為MSTP。如果設備運行模式不是MSTP,通過stp mode命令修改設備當前運行模式為MSTP。
檢查對端設備是否支持標準配置摘要計算,如果對端設備不支持,則在本端設備上開啟配置摘要偵聽功能。
命令 | 說明 |
debugging stp all | 打開生成樹的所有調試信息開關 |
debugging stp event | 打開生成樹事件調試信息開關 |
debugging stp fsm | 打開生成樹狀態機調試信息開關 |
debugging stp global-error | 打開生成樹全局錯誤調試信息開關 |
debugging stp global-event | 打開生成樹全局事件調試信息開關 |
debugging stp packet | 打開生成樹報文調試信息開關 |
debugging stp roles | 打開生成樹端口角色變化調試信息開關 |
debugging stp tc | 打開生成樹TC事件調試信息開關 |
display stp | 顯示生成樹的狀態和統計信息 |
display stp abnormal-port | 顯示被生成樹保護功能阻塞的端口信息 |
display stp bpdu-statistics | 顯示端口上的BPDU統計信息 |
display stp down-port | 顯示被生成樹保護功能down掉的端口信息 |
display stp history | 顯示生成樹端口角色計算的曆史信息 |
display stp ignored-vlan | 顯示已使能VLAN Ignore功能的VLAN列表 |
display stp region-configuration | 顯示當前生效的MST域配置信息 |
display stp root | 顯示所有生成樹的根橋信息 |
display stp tc | 顯示生成樹所有端口收發的TC或TCN報文數 |