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报文数 |