一次解决华为5700交换机接口处于discard状态导致业务不通的故障

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次解决华为5700交换机接口处于discard状态导致业务不通的故障相关的知识,希望对你有一定的参考价值。

在以太网交换网中部署生成树协议后,如果网络中出现环路,生成树协议通过拓扑计算,可实现:
消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路。
链路备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。
华为交换机默认是开启mstp,但是没有配置。

一次在机房解决交换机问题的时候,发现业务不通。分析过后,主要是eth0/1接口学习不到mac地址,同时接口又是处于up状态。经过反复检查接口配置,没有问题。最后检查stp状态,使用display stp brief命令的时候发现接口处于discard状态。因为华为交换机默认都是开启mstp的,接口有3种状态机制,其中一种就是discard状态,这种状态下接口只会接受bpdu报文,而不会转发业务流量,所以问题就出现在这上面。

技术分享图片

但是问题很奇怪,因为我这个接口eth0/1使用的只是access模式,只连接一台服务器,按道理不是交换机,这个接口不会参与stp收敛计算,也就应该不会被判断为discard状态。
没有时间考虑太多了,后来处于稳定,不敢贸然关闭交换机的stp,后来直接想把该接口配置为边缘接口,不参与stp计算,那么该接口就应该会处于正常的状态。
交换机用户侧设备(如服务器等)不需运行STP协议。若连接这些设备的交换机端口使能了STP,那么端口状态在Up/Down上不停跳转,或STP拓扑变化时端口需要一段时间才能进入转发状态,这对某些业务是不可接受的。为了避免上述问题,需要把连接不需要运行STP协议设备的端口配置为边缘端口。边缘端口状态变为Up后可以快速进入转发状态,并且不会发送TC报文,也不会对运行了STP协议的网络造成影响。
在MSTP里面,如果某一个指定端口位于整个网络的边缘,即不再与其他交换设备连接,而是直接与终端设备直连,这种端口叫做边缘端口。

边缘端口不接收处理配置BPDU报文,不参与MSTP运算,可以由Disable直接转到Forwarding状态,且不经历时延,就像在端口上将MSTP禁用。

配置为边缘端口后,端口仍然会发送BPDU报文,这可能导致BPDU报文发送到其他网络,引起其他网络产生震荡。因此可以配置边缘端口的BPDU报文过滤功能,使边缘端口不处理、不发送BPDU报文。

所以综上所述,直接在接口下配置:

stp edged-port enable     //配置边缘接口,缺省情况下,端口为非边缘端口。
stp bpdu-filter enable      //配置当前端口为BPDU filter端口,缺省情况下,端口为非BPDU filter端口。

配置完成后,检查eth0/1接口,处于fowarding状态,同时业务恢复。

本着通了就走的精神,就没管了。看来还是要考IE.
技术分享图片

以上是关于一次解决华为5700交换机接口处于discard状态导致业务不通的故障的主要内容,如果未能解决你的问题,请参考以下文章

怎么查询华为s5700交换机上所有端口对应的IP地址和MAC地址?

华为S5700交换机。eth/24口内。有数据combo-port auto怎么删掉?

华为S9300s5700交换机端口镜像配置

华为S5700系列交换机配置链路聚合LACP报错。

华为S5700如何实现链路聚合以及负载均衡--交换机初学者求助

华为S5700/S5720系列交换机的光模块解决方案和常见问题解答