02-生成树故障处理手册
本章节下载: 02-生成树故障处理手册 (263.61 KB)
多台设备通过物理链路连接成环时,业务流量中断。
本类故障的常见原因包括:
· 设备接口的物理状态为DOWN。
· 设备的生成树功能处于关闭状态。
本类故障的诊断流程如图1-1所示。
(1) 检查承载业务流量的接口状态是否为UP。
a. 检查接口的物理状态是否为UP。
执行display interface brief命令,通过“Link”字段查看网络中的接口物理状态是否为UP,例如:
<Sysname> display interface brief
Brief information on interfaces in route mode:
Link: ADM - administratively down; Stby - standby
Protocol: (s) - spoofing
Interface Link Protocol Primary IP Description
InLoop0 UP UP(s) --
MGE0/0/0 DOWN DOWN --
NULL0 UP UP(s) --
REG0 UP -- --
Brief information on interfaces in bridge mode:
Link: ADM - administratively down; Stby - standby
Speed: (a) - auto
Duplex: (a)/A - auto; H - half; F - full
Type: A - access; T - trunk; H - hybrid
Interface Link Speed Duplex Type PVID Description
GE0/0/1 ADM auto A A 1
- 如果网络中接口的状态为UP,请执行步骤b。
- 如果网络中接口的状态为ADM,请在接口视图下执行undo shutdown命令开启该接口。如果接口的状态仍为DOWN,请进行接口链路以及相关配置的排查;如果此时接口的状态为UP,但是故障仍未解决,请执行步骤b。
- 如果网络中接口的状态为DOWN,请进行接口链路以及相关配置的排查。接口状态恢复UP后,如果故障仍未解决,请执行步骤b。
b. 检查接口的数据链路层协议状态是否为UP。接口的数据链路层协议为DOWN的接口无法参与生成树拓扑的计算。
执行display interface命令,通过“Line protocol state”字段查看网络中的接口数据链路层协议状态是否为UP,例如:
<Sysname> display interface gigabitethernet 0/0/2
GigabitEthernet0/0/2
Current state: UP
Line protocol state: DOWN(LAGG)
...
DOWN(protocols)表示接口的数据链路层被一个或者多个协议模块关闭。protocols为多个协议的任意组合,可能的协议如下:
- DLDP:由于DLDP模块检测到单通而关闭接口的数据链路层。
- OAM:由于以太网OAM模块检测到远端链路故障而关闭接口的数据链路层。
- LAGG:聚合接口中没有选中的成员端口而关闭接口的数据链路层。
- BFD:由于BFD模块检测到链路故障而关闭接口的数据链路层。
- VBP:由于配置二层转发功能后而关闭接口的数据链路层。
如果接口的数据链路层被上述协议关闭,请检查并修改这些模块的配置,使得接口的数据链路层协议状态恢复为UP。如果接口的数据链路层协议状态恢复为UP后,故障仍未解决,请执行步骤(2)。
(2) 检查设备的生成树功能是否开启。
a. 检查设备上全局生成树功能是否开启。
执行display stp命令:
如果出现如下显示信息,则表示全局的生成树协议未开启:
<Sysname> display stp
Protocol status : Disabled
Protocol Std. : IEEE 802.1s
Version : 3
Bridge-Prio. : 32768
MAC address : 2eae-3769-0200
Max age(s) : 20
Forward delay(s) : 15
Hello time(s) : 2
Max hops : 20
TC Snooping : Disabled
<Sysname> display stp
STP is not configured.
请在系统视图下执行stp global enable命令开启全局的生成树功能。
如果出现生成树的状态和统计信息(如下所示),则说明全局的生成树功能已经开启,请继续执行步骤b。
<Sysname> display stp
-------[CIST Global Info][Mode MSTP]-------
Bridge ID : 32768.2eae-3769-0200
Bridge times : Hello 2s MaxAge 20s FwdDelay 15s MaxHops 20
Root ID/ERPC : 32768.2eae-3769-0200, 0
RegRoot ID/IRPC : 32768.2eae-3769-0200, 0
RootPort ID : 0.0
BPDU-Protection : Disabled
Bridge Config-
Digest-Snooping : Disabled
TC or TCN received : 0
Time since last TC : 0 days 2h:49m:11s
----[Port2(GigabitEthernet0/0/1)][DOWN]----
Port protocol : Enabled
Port role : Disabled Port
Port ID : 128.54
Port cost(Legacy) : Config=auto, Active=200000
Desg.bridge/port : 32768.2eae-3769-0200, 128.54
Port edged : Config=disabled, Active=disabled
Point-to-Point : Config=auto, Active=false
Transmit limit : 10 packets/hello-time
TC-Restriction : Disabled
Role-Restriction : Disabled
Protection type : Config=none, Active=none
MST BPDU format : Config=auto, Active=802.1s
Port Config-
Digest-Snooping : Disabled
Rapid transition : False
Num of VLANs mapped : 1
Port times : Hello 2s MaxAge 20s FwdDelay 15s MsgAge 0s RemHops 20
BPDU sent : 0
TCN: 0, Config: 0, RST: 0, MST: 0
BPDU received : 0
TCN: 0, Config: 0, RST: 0, MST: 0
b. (仅生成树模式为PVST时适用,非PVST模式请继续执行步骤c)检查VLAN的生成树功能是否开启。
在系统视图下,执行display this命令,查看是否存在undo stp vlan enable命令的配置,例如:
[Sysname] display this
...
#
undo stp vlan 2 enable
stp mode pvst
stp global enable
#
...
如果存在上述配置且网络中需要开启对应VLAN的生成树功能,请在系统视图下执行stp vlan enable命令,开启VLAN的生成树功能。
c. 检查接口的生成树功能是否开启。
执行display stp命令,查看是否存在生成树功能未开启的接口,例如:
<Sysname> display stp
...
----[Port2(GigabitEthernet0/0/1)][DISABLED]----
Port protocol : Disabled
...
请在需要参与生成树计算的接口视图下执行stp enable命令,开启接口的生成树功能。
(3) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
· 无
· 无
用户终端设备接入生成树网络时,连接终端设备的接口发生闪断,业务长时间丢包,造成终端设备掉线。
本类故障的常见原因为:连接用户终端设备的接口未被配置为边缘端口。
本类故障的诊断流程如图1-2所示。
图1-2 接入生成树网络的用户终端设备发生掉线的故障诊断流程图
(1) 检查生成树网络中与用户终端设备直连的接口是否为边缘端口。
在与用户终端设备直连的生成树网络设备上执行display stp命令,查看与用户终端设备直连的接口是否为边缘端口,例如:
<Sysname> display stp
...
----[Port2(GigabitEthernet0/0/1)][FORWARDING]----
Port protocol : Enabled
Port role : Designated Port
Port ID : 128.2
Port cost(Legacy) : Config=auto, Active=20
Desg.bridge/port : 32768.2eae-3769-0200, 128.2
Port edged : Config=enabled, Active=enabled
Point-to-Point : Config=auto, Active=true
Transmit limit : 10 packets/hello-time
Protection type : Config=none, Active=none
Rapid transition : True
Port times : Hello 2s MaxAge 20s FwdDelay 15s MsgAge 0s
...
¡ 如果与用户终端设备直连的接口是边缘端口,请执行步骤(2)。
¡ 如果与用户终端设备直连的接口不是边缘端口,请进入该接口视图,并执行stp edged-port命令,将该端口配置为边缘端口。
在接口下不能同时配置边缘端口和环路保护功能,执行stp edged-port命令时,如果设备打印如下错误提示信息,说明当前接口已经配置了环路保护功能。此时需要先执行undo stp loop-protection命令关闭环路保护功能,才能将该端口配置为边缘端口。
Failed to enable edged-port on GigabitEthernet0/0/1, because loop-protection is enabled.
(2) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
· 无
在MSTP网络中,设备上除了MSTI 0之外的其他实例,本不应该是主端口角色的端口被计算为了主端口,且端口角色无法通过调整优先级、开销值等参数来改变。
本类故障的常见原因为:同一MST域内,不同设备对MST域的配置不一致。
如果两台设备对MST域的配置不一致,则设备会认为对端设备与本端设备不在同一个MST域中,导致与域内设备相连的端口也被计算为了主端口。所以本类故障的诊断思路为:检查同一MST域内设备的MST域配置信息,确保各个设备的配置保持一致。
本类故障的诊断流程如图1-2所示。
图1-3 非0实例端口状态为主端口且无法调整的故障处理流程图
(1) 检查同一MST域内的设备对于MST域的域名、修订级别以及VLAN映射表配置是否相同,并确保这些参数的配置一致。
执行display stp region-configuration命令,显示设备生效的MST域配置信息。例如:
<Sysname> display stp region-configuration
Oper Configuration
Format selector : 0
Region name : hello
Revision level : 0
Configuration digest : 0x5f762d9a46311effb7a488a3267fca9f
Instance VLANs Mapped
0 21 to 4094
1 1 to 10
2 11 to 20
¡ Region name:MST域的域名,在系统视图下执行stp region-configuration命令进入MST域视图后,通过region-name命令进行配置。
¡ Revision level:MST域的修订级别,在系统视图下执行stp region-configuration命令进入MST域视图后,通过revision-level命令进行配置。
¡ Instance VLANs Mapped:MST域的VLAN映射关系,在系统视图下执行stp region-configuration命令进入MST域视图后,可以通过instance命令或vlan-mapping modulo命令进行配置。
如果同一MST域内不同设备的上述参数配置不相同,请执行上述操作将参数的配置修改为一致配置完MST域的相关参数后,必须在MST域视图下执行active region-configuration命令,用户对MST域的配置才能激活并生效,否则MST域仍会按照之前的配置生效。
(2) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
· 无
· 无
网络中设备的生成树根桥、端口角色及端口状态反复变化,无法保持稳定,导致网络拓扑不断变化。
本类故障的常见原因包括:
· 链路震荡:网络上某个端口的链路属性,如端口状态、速率和双工模式等持续变化。
· 节点故障:网络中设备的CPU占用率较高,无法及时处理生成树报文;或设备反复重启,造成生成树不断重新计算。
· 网络故障,包括:
¡ 报文转发出现拥塞,导致BPDU丢失。
¡ 错误地收到了其他网络的BPDU,引发当前网络的生成树重新计算。
¡ 网络中设备配置的其他功能导致BPDU被错误地丢弃。
本类故障的诊断流程如图1-4所示。
(1) 检查生成树网络中是否有设备发生CPU占用率过高、重启或接口链路的状态发生了变化。
根据网络的部署,请网络管理员自行通过控制器、设备管理平台、用户接口等方式查看是否存在设备发生重启、CPU占用率过高或物理链路状态的变化。
如果设备状态和链路状态均恢复稳定后,故障仍不能排除,请执行步骤(2)。
(2) 检查生成树网络的根桥是否发生了变化。
在生成树网络中的任意设备上执行display stp root命令,查看当前生成树网络中的根桥。例如:
<Sysname> display stp root
MST ID Root Bridge ID ExtPathCost IntPathCost Root Port
0 32768.14e3-19d3-0100 0 40 GE0/0/2
10 0.14e3-19d3-0100 0 40 GE0/0/2
20 0.14e3-1f59-0200 0 0
其中Root Bridge ID字段表示生成树网络中根桥的编号,根桥编号的组成形式为优先级.桥MAC地址,网络管理员可以根据该字段判断生成树网络中的根桥是否为需要的设备。如果网络中的根桥设备正确,但生成树网络仍然不断震荡,请执行步骤(3);如果网络中的根桥设备不是网络管理员需要的设备,可以通过以下方式修改根桥:
¡ 修改设备的优先级。设备的优先级参与生成树计算,数值越小表示优先级越高,网络管理员可配置stp priority命令,将指定设备的优先级设置为0或较小的值,以达到指定设备成为生成树根桥的目的。
¡ 通过在设备上执行stp root primary命令,将该设备指定为生成树的根桥。
网络管理员将需要的设备配置为根桥后,可以通过以下功能维护根桥以及网络拓扑的稳定:
¡ 开启根保护功能
在接口视图下配置stp root-protection命令后,此接口在所有MSTI上的端口角色只能为指定端口。一旦该端口收到某MSTI优先级更高的BPDU,立即将该MSTI端口设置为侦听状态,不再转发报文(相当于将此端口相连的链路断开)。当在2倍的Forward Delay时间(缺省情况下Forward Delay时间为15秒)内没有收到更优的BPDU时,端口会恢复原来的正常状态。根保护功能可以避免错误配置或恶性攻击导致的生成树拓扑不合法的变动。
¡ 配置边缘端口和BPDU保护
对于接入层设备,接入端口一般直接与用户终端(如PC)或文件服务器相连,此时接入端口应被设置为边缘端口以实现这些端口的快速迁移。正常情况下,接入端口不应该与用户终端交互生成树协议的BPDU报文,如果收到BPDU报文可能会引起网络拓扑结构的变化,造成生成树网络震荡。
生成树协议提供了BPDU保护功能来解决这类问题:在全局或接口视图下配置stp bpdu-protection命令后,如果边缘端口收到了BPDU,系统就将这些端口关闭,同时通知用户这些端口已被生成树协议关闭。被关闭的端口在经过一定时间间隔之后将被重新激活,这个时间间隔可通过shutdown-interval命令配置。
¡ 配置环路保护
下游设备依靠不断接收上游设备发送的BPDU来维持根端口和其他阻塞端口的状态。如果出现了链路拥塞或者单向链路故障,这些端口会收不到上游设备的BPDU,此时下游设备会重新选择端口角色,导致下游设备的根端口转变为指定端口,而阻塞端口会迁移到转发状态,交换网络中出现环路。
在下游设备的根端口和替换端口上通过stp loop-protection命令配置环路保护功能后,可以抑制上述环路的产生。在开启了环路保护功能的端口上,其所有MSTI的初始状态均为Discarding状态:如果该端口收到了BPDU,这些MSTI可以进行正常的状态迁移;否则,这些MSTI将一直处于Discarding状态以避免环路的产生。
需要注意的是,无需在与用户终端相连的端口上配置环路保护功能,否则该端口会因一直处于Discarding状态而无法正常转发用户报文。
¡ 配置防TC-BPDU攻击保护功能
在遭受到TC-BPDU恶意攻击行为时,设备会频繁地刷新转发地址表项。此类攻击给设备带来了很大负担,随时威胁着网络的稳定性。此时可以开启防TC-BPDU攻击保护功能,以避免频繁地刷新转发地址表项。在系统视图下执行stp tc-protection命令,可以开启防TC-BPDU攻击保护功能;在系统视图下执行stp tc-protection threshold number命令,可以配置在单位时间(固定为十秒)内,设备收到TC-BPDU后立即刷新转发地址表项的最高次数。
开启防TC-BPDU攻击保护功能后,如果设备在单位时间(固定为十秒)内收到TC-BPDU的次数大于number次,那么该设备在这段时间之内将只进行number次刷新转发地址表项的操作,而对于超出number次的那些TC-BPDU,设备会在这段时间过后再统一进行一次地址表项刷新的操作。
如果故障仍不能排除,请执行步骤(3)。
(3) 排查是否存在BPDU超时情况。
检查设备是否输出STP_BPDU_RECEIVE_EXPIRY日志,该日志描述设备在BPDU超时时间内没有收到任何BPDU报文,从而引发生成树重新计算。引发BPDU超时的原因可能是网络中BPDU报文转发出现了拥塞,或者设备中存在其他配置导致BPDU报文被错误丢弃。
为了更精确地定位故障,请执行步骤(4)。
(4) 如果故障仍然未能排除,请收集如下信息,并联系技术支持人员。
¡ 上述步骤的执行结果。
¡ 设备的配置文件、日志信息、告警信息。
· STP/5/STP_BPDU_RECEIVE_EXPIRY
· STP/6/STP_DETECTED_TC
· STP/6/STP_NOTIFIED_TC
· 无
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!