MSTP故障处理手册
目 录
1 MSTP故障处理
1.1 广播风暴故障处理
1.1.1 故障描述
二层网络中存在广播风暴。
1.1.2 故障处理流程
图1-1 广播风暴故障诊断流程图

1.1.3 故障处理步骤
1. 检查设备全局MSTP是否开启
执行display stp命令查看设备全局MSTP是否开启。如果没有开启,则在系统视图下通过stp enable命令开启全局MSTP。
2. 检查端口MSTP是否开启
执行display stp interface命令查看端口MSTP是否开启。如果没有开启,则在接口视图下通过stp enable命令开启端口MSTP。
3. 检查端口是否存在STP报文超时现象
执行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命令将超时因子设置的大一些。
1.2 端口无法快速迁移故障处理
1.2.1 故障描述
链路发生故障后,整个网络的流量恢复时间超过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-2 端口无法快速迁移故障处理组网图

1.2.2 故障处理流程
图1-3 端口无法快速迁移故障诊断流程图

1.2.3 故障处理步骤
1. 检查端口对端连接是否为终端
检查端口对端连接是否为终端,如果该端口直接与终端相连,请在接口视图下通过stp edged-port enable命令配置该端口为边缘端口。
2. 检查本设备是否工作在STP模式
执行display stp命令查看设备的工作模式,如果设备工作在STP模式,则在系统视图下执行stp mode命令将设备的工作模式修改为MSTP。
3. 检查上游设备的工作模式
在上游设备上执行display stp命令查看设备的工作模式,如果上游设备工作在STP模式或者RSTP模式,则在系统视图下通过stp mode命令将上游设备工作模式修改为MSTP。对于上游设备工作在RSTP模式的情况,还可以在端口(如图1-2中Switch B的端口Ethernet1/3)上通过stp no-agreement-check命令开启No Agreement Check特性。
4. 检查端口是否为点对点链路
执行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则表明端口为非点对点链路。
如果端口为点对点链路还无法快速迁移,请寻求技术支持。
5. 检查端口的双工模式
执行display interface brief命令查看端口的双工模式,如果端口为半双工模式,则在接口视图下通过duplex auto命令将本端口和其对端端口修改为自协商模式。
如果两端端口都工作在自协商模式,请检查链路是否存在故障,如果链路出现故障,请排除此故障。
1.3 指定端口长期处于Discarding状态故障处理
1.3.1 故障描述
指定端口一直处于Discarding状态,无法迁移到Forwarding状态。
1.3.2 故障处理流程
图1-4 指定端口长期处于Discarding状态故障诊断流程图

1.3.3 故障处理步骤
1. 检查是否收到本端口自己发送的报文
执行debugging stp packet interface命令打开端口的STP报文详细信息调试开关,查看端口是否接收到了本端口自己发送出去的报文,如果是,表明网络中存在自环,请检查网络消除自环。
2. 检查端口收到报文格式是否和配置格式一致
方法一:通过查看打印的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命令修改端口的报文格式。
3. 检查端口根保护是否生效
方法一:通过查看打印的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
如果出现了链路故障,则将故障排除。
4. 检查端口环路保护是否生效
方法一:通过查看打印的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命令检查对端端口的链路状态,对于光纤口请检查光纤的收光线和发光线是否正常)。如果是链路拥塞,可以通过增大超时因子解决该问题;如果出现单向链路,则排除此故障。
1.4 端口STP DOWN故障处理
1.4.1 故障描述
执行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.4.2 故障处理流程
图1-5 端口STP DOWN故障诊断流程图

1.4.3 故障处理步骤
1. 检查BPDU保护是否生效
方法一:通过查看打印的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命令开启端口。
2. 检查报文格式是否频繁切换
方法一:通过查看打印的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命令开启端口,否则请寻求技术支持。
1.5 STP网络流量不稳定故障处理
1.5.1 故障描述
在一个STP的组网内,网络中流量持续不稳定,时断时续。
1.5.2 故障处理流程
图1-6 STP网络流量不稳定故障诊断流程图

1.5.3 故障处理步骤
1. 检查端口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配置是否正确。
2. 请检查端口STP角色是否震荡
执行display stp history命令查看端口角色计算历史纪录,如果端口的角色不停更新且端口优先级在不停变化,表明端口收到来在不同设备的报文,表明组网错误,请消除错误组网。
3. 检查设备是否频繁收到TC报文
执行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报文收发情况。
1.6 设备无法处于同一个MSTP域故障处理
1.6.1 故障描述
在MSTP域配置(Format selector、域名、MSTP修订级别以及实例和VLAN映射关系)都相同的情况下,两台设备无法处于同一个MSTP域中,执行display stp brief命令时,CIST实例上根端口在多实例上角色为Master。
1.6.2 故障处理流程
图1-7 设备无法处于同一个MSTP域故障诊断流程图

1.6.3 故障处理步骤
1. 检查本端设备运行模式
执行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。
2. 检查对端设备是否支持标准配置摘要计算
检查对端设备是否支持标准配置摘要计算,如果对端设备不支持,则在本端设备上开启配置摘要侦听功能。
1.7 故障诊断命令
命令
说明
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报文数
MSTP故障处理手册的更多相关文章
- B 站崩了,总结下「高可用」和「异地多活」
你好,我是悟空. 一.背景 不用想象一种异常场景了,这就真实发生了:B 站晚上 11 点突然挂了,网站主页直接报 404. 手机 APP 端数据加载不出来. 23:30 分,B 站做了降级页面,将 4 ...
- 【转】ISMS方针、手册、程序文件模板
<ISMS方针.手册.程序文件模板> 1 信息安全管理手册 2 信息安全适用性声明 3 信息安全管理体系程序文件 3.01文件管理程序 3.02记录管理程序 3.03纠正措施管理程序 3. ...
- Spring Security 5.0.x 参考手册 【翻译自官方GIT-2018.06.12】
源码请移步至:https://github.com/aquariuspj/spring-security/tree/translator/docs/manual/src/docs/asciidoc 版 ...
- 深入理解java虚拟机,GC参考手册
深入理解java虚拟机 一.<深入理解Java虚拟机> 1.第2章 Java内存区域与内存溢出异常 2.第3章 垃圾收集器与内存分配策略 3.第4章 虚拟机性能监控与故障处理工具 4.第5 ...
- FREERTOS 手册阅读笔记
郑重声明,版权所有! 转载需说明. FREERTOS堆栈大小的单位是word,不是byte. 根据处理器架构优化系统的任务优先级不能超过32,If the architecture optimized ...
- JS魔法堂:不完全国际化&本地化手册 之 理論篇
前言 最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...
- 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具
上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...
- 转职成为TypeScript程序员的参考手册
写在前面 作者并没有任何可以作为背书的履历来证明自己写作这份手册的分量. 其内容大都来自于TypeScript官方资料或者搜索引擎获得,期间掺杂少量作者的私见,并会标明. 大部分内容来自于http:/ ...
- Redis学习手册(目录)
为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...
随机推荐
- keras中的loss、optimizer、metrics
用keras搭好模型架构之后的下一步,就是执行编译操作.在编译时,经常需要指定三个参数 loss optimizer metrics 这三个参数有两类选择: 使用字符串 使用标识符,如keras.lo ...
- python中,花括号,中括号,小括号的区别
python中,花括号,中括号,小括号的区别 Python主要有三种数据类型:字典.列表.元组.其分别由花括号,中括号,小括号表示. 如: 字典:dic={'a':12,'b':34} 列表:list ...
- 【Android】播放音频的几种方式介绍
接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPl ...
- Java Nashorn--Part 2
在命令行中执行 JavaScript 现在我们有一个 my_script.js 文件,想在 Nashorn 下执行,则需要在命令行下执行该命令: jrunscript my_script.js jru ...
- Win7 64bit 安装VisualSVN出现报错:Servic 'VisualSVN Server' failed to start.解决的方法
问题描写叙述: Win7 64bit 安装VisualSVN时出现报错: Servic 'VisualSVN Server' failed to start.Please check VisualSV ...
- python标准库介绍——36 popen2 模块详解
==popen2 模块== ``popen2`` 模块允许你执行外部命令, 并通过流来分别访问它的 ``stdin`` 和 ``stdout`` ( 可能还有 ``stderr`` ). 在 pyth ...
- Maven 使用国内镜像
1 修改maven 的配置文件 settings.xml,添加阿里云的一个中央仓库. 2 找到maven 的配置文件,一般在 maven 安装目录 apache-maven-3.5.0\conf 文件 ...
- Zephir入门 —— 语法篇
概述 Zephir的语法跟PHP很相似,所以这里不会把官网的文档照搬过来翻译一遍,而是会把一些Zephir相较于PHP比较特别的语法挑出来讲一下.如果想要要完整学习Zephir的语法,没有比官网的文档 ...
- 参数化查询 '(@ActualShipTime datetime' 需要参数 @AuthorizationNumber,但未提供该参数。
转自 http://www.cnblogs.com/cxd4321/archive/2012/08/09/2629716.html 在平时的C#项目开发中,当调用某个存储过程或函数的时候,我们可能经常 ...
- logstash 中multiline插件的用法
input { stdin { codec =>multiline { charset=>... #可选 字符编码 max_bytes=>... #可选 bytes类型 设置最大的字 ...