交换机MSTP常见问题定位

2020-06-04 11:33:34 浏览数 (1)

诊断工具
  • display工具
  • debug命令工具
  • log工具

端口无法快速收敛故障定位

端口discarding或自动shutdown故障定位

STP网络流量不稳定故障定位


诊断工具

display命令工具

命令

说明

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

display stp brief命令中关注端口的角色和对应的状态,通过这种简要信息可以快速的检查网络中各个端口的stp情况,稳定情况下正常情况下角色状态对应关系如下表

端口角色

端口状态

说明

DESI(指定口)

FORWARDING

指定交换机连接在网络中的端口

ROOT(根端口)

FORWARDING

根端口对端的端口到达根桥开销最少

ALTE

DISCARDING

提供到达根交换机可选择的端口

BACKUP

DISCARDING

由指定口提供的到叶子节点路径的备份

display stp history

display stp history命令中记录了历史上端口角色发生的变化,通过这个可以看出根桥以及根端口的变化,从而可以确定网络中是否存在抢根的行为。

display stp

display stp 命令中可以看到当前的根桥,域根桥,收到TC报文的历史计数以及最近一次收到TC报文的时间。可以了解当前的stp基本情况和TC报文情况。

display stp tc-bpdu statistics

display stp tc-bpdu statistics命令可以查看设备上各个端口TC报文的收发情况,在有TC攻击的时候可以通过多次查看这个命令,对比TC收发计数找TC的源头。

DEBUG命令工具

命令

说明

debugging stp interface GigabitEthernet x/x/x packet all

显示单个端口的stp收发报文情况

debugging stp interface GigabitEthernet x/x/x event

显示单个端口stp的事件信息

debugging stp interface xx packet
log
  • 盒式产品由于mstp的日志信息级别比较低,而logbuffer中默认记录warning以及以上级别(1,2,3),所以如果需要捕获stp相关信息,需要使用如下命令调整mstp的日志级别:
  • info-center source MSTP channel 3 trap level informational
  • info-center source MSTP channel 4 log level informational

端口无法快速收敛故障定位

故障举例

故障描述: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模式的快速协商机制只能在点对点链路上。

端口Discarding或自动shutdown故障定位

定位思路
故障举例

故障描述:网络中并没有环路,S5700A连接S7700的端口阻塞。

端口Discarding故障定位

步骤一 故障时查看各个端口的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报文就需要向上排查网络。

端口自动shutdown故障定位

步骤一 检查全局和端口下配置

故障时先确认全局视图下配置有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网络中出现业务流量时断时续。

步骤一 检查端口的STP状态,角色是否稳定

通过display stp interface查看端口的STP状态、角色是否稳定。

步骤二 查看设备收发TC的情况

通过命令行display stp观察最近收到TC的情况和故障时间是否一致。历史的TC信息可以通过日志信息中对应时间点确认和故障时间点吻合程度。

步骤三 查看网络中设备上各个端口TC收发情况

如果TC还在继续产生,通过执行多次命令行display stp tc-bpdu statistics观察最近收到TC计数增长的端口。关注环网之外的端口收到TC报文,那么需要排查该端口下面网络中是否有非边缘端口up down,stp配置变化。

步骤四 查看STP历史变化情况

如果故障现象没有消失,打开STP packet的debug开关,查看报文收、发是否正常,是否有异常STP报文进入环中。例如:

代码语言:javascript复制
<Quidway> debugging  stp interface GigabitEthernet  3/0/0 packet  all
<Quidway> debugging  stp interface GigabitEthernet  3/0/0 event

如果故障现象已经消失,查看STP计算历史信息,确认是否有异常STP报文进入环中:display stp history(诊断模式)

0 人点赞