命令 | 说明 |
---|---|
display stp brief | 查看实例、端口角色和状态、保护的简要信息 |
display stp | 查看生成树实例的状态信息和统计信息 |
display stp region-configuration | 查看STP域配置信息 |
display stp history(诊断视图下) | 查看STP计算历史记录 |
display stp tc-bpdu statistics | 查看端口TC/TCN报文收发计数 |
display stp interface GigabitEthernet x/x/x | 查看单个端口的stp信息 |
display stp brief命令中关注端口的角色和对应的状态,通过这种简要信息可以快速的检查网络中各个端口的stp情况,稳定情况下正常情况下角色状态对应关系如下表:
端口角色 | 端口状态 | 说明 |
---|---|---|
DESI(指定口) | FORWARDING | 指定交换机连接在网络中的端口 |
ROOT(根端口) | FORWARDING | 根端口对端的端口到达根桥开销最少 |
ALTE | DISCARDING | 提供到达根交换机可选择的端口 |
BACKUP | DISCARDING | 由指定口提供的到叶子节点路径的备份 |
display stp history命令中记录了历史上端口角色发生的变化,通过这个可以看出根桥以及根端口的变化,从而可以确定网络中是否存在抢根的行为。
display stp 命令中可以看到当前的根桥,域根桥,收到TC报文的历史计数以及最近一次收到TC报文的时间。可以了解当前的stp基本情况和TC报文情况。
display stp tc-bpdu statistics命令可以查看设备上各个端口TC报文的收发情况,在有TC攻击的时候可以通过多次查看这个命令,对比TC收发计数找TC的源头。
命令 | 说明 |
---|---|
debugging stp interface GigabitEthernet x/x/x packet all | 显示单个端口的stp收发报文情况 |
debugging stp interface GigabitEthernet x/x/x event | 显示单个端口stp的事件信息 |
故障描述:MSTP的网络拓扑中出现链路故障或链路故障恢复后,业务流量恢复需要超过30秒。
步骤一 故障时查看各个端口的STP状态
使用display stp brief多次查看设备上各个端口的STP状态,确认对应端口STP收敛情况。
步骤二 查看对应的端口的stp信息
使用display stp interface 端口号显示端口stp信息。
A 检查对端是否为终端或边缘端口失效;如果端口对端连接的是终端或不支持STP的设备或者3层端口,在端口上执行命令stp edge-port enable开启边缘端口属性或配置stp disable去使能STP。
B检查设备、端口的STP工作模式;如果设备工作在STP模式,可通过命令stp mode mstp调整为MSTP模式。如果设备工作在MSTP模式,但端口协商为STP模式,则需要在对端设备检查工作模式。
步骤三 查看对应的端口的stp信息
C 检查端口是否为点对点链路;Active=true表示为点对点链路,S系列交换机默认stp point-to-point auto。RSTP和MSTP模式的快速协商机制只能在点对点链路上。
故障描述:网络中并没有环路,S5700A连接S7700的端口阻塞。
步骤一 故障时查看各个端口的STP状态
使用display stp brief多次查看设备上各个端口的STP状态,确认对应端口STP收敛情况,当端口的角色是DESI同时STP状态一直都是DISCARDING说明该端口不正常。
步骤二 查看端口上配置
A 如果端口没有配置根保护也没有配置环路保护,并开启调试开关获取对端发送的STP报文信息,确认对端发送的STP优先级比本端低,检查对端端口配置(对端是S37/57需要端口配置bpdu enable) 。
B 如果配置了根保护, Root保护功能用在根桥设备的所有端口上,端口角色是指定口并且阻塞,说明对端发送过来的stp报文优先级比较高,通过debugging stp interface interface-type interface-number all诊断命令采集详细的交互报文,排查端口接收报文中的Root Identifier、Bridge Identifier字段的桥MAC对应的设备,修改优先级不能抢根。
C 果配置了环路保护, 端口角色是指定口并且阻塞,说明对端没有发stp报文过来,通过debugging stp interface interface-type interface-number all诊断命令采集详细的交互报文,没收到stp报文就需要向上排查网络。
步骤一 检查全局和端口下配置
故障时先确认全局视图下配置有stp bpdu-protection,对应端口上有边缘端口配置stp edged-port enable ,此时端口上有shutdown命令。
步骤二 查看对应时间点日志
查看对应时间点的日志信息,找到bpdu保护激发的日志信息可以确认是bpdu保护shutdown端口。
步骤三 检查对端情况
经过步骤一二确认是bpdu保护shutdown端口,需要检查对端设备配置确认使能stp或者透传stp报文。确认对端会发stp报文后,需要把本端的边缘端口去使能然后再undo shutdown恢复链路。
备注:如果设备上有端口经常的up down,那么这种情况和stp没有任何关系。stp只有在一种情况(全局视图配置stp stp bpdu-protection ,同时端口下配置stp edged-port enable 后再收到stp报文会把端口shutdown)下才会把端口shutdown,而且这种会在端口视图下有shutdown的配置,同时需要人工干预手动undo shutdown才能恢复up。
组网拓扑
故障描述:STP网络中出现业务流量时断时续。
步骤一 检查端口的STP状态,角色是否稳定
通过display stp interface查看端口的STP状态、角色是否稳定。
步骤二 查看设备收发TC的情况
通过命令行display stp观察最近收到TC的情况和故障时间是否一致。历史的TC信息可以通过日志信息中对应时间点确认和故障时间点吻合程度。
步骤三 查看网络中设备上各个端口TC收发情况
如果TC还在继续产生,通过执行多次命令行display stp tc-bpdu statistics观察最近收到TC计数增长的端口。关注环网之外的端口收到TC报文,那么需要排查该端口下面网络中是否有非边缘端口up down,stp配置变化。
如果故障现象没有消失,打开STP packet的debug开关,查看报文收、发是否正常,是否有异常STP报文进入环中。例如:
<Quidway> debugging stp interface GigabitEthernet 3/0/0 packet all
<Quidway> debugging stp interface GigabitEthernet 3/0/0 event
如果故障现象已经消失,查看STP计算历史信息,确认是否有异常STP报文进入环中:display stp history(诊断模式)