打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
华为交换机STP与环路检测冲突经典案例
华为交换机STP与环路检测冲突
2010-01-18 15:24
中国银行福建省分行选择华为3Com公司具有线速交换能力的系列局域网交换机Quidway S8016、S3050组建大楼局域网。为了保证网络的可靠性,使用两台QuidWayS8016作为核心交换设备来进行整个大楼局域网络的三层交换处理,之间运行VRRP协议进行负载均担和备份保护。楼层交换机采用QuidWayS3050设备,每台交换机与两台核心交换机组成光纤环路,启用RSTP协议进行链路备份。图1是网络拓扑图。
故障情况简单描述
不久福建省中行的网络出现故障,赶到5楼机房,发现8016B上有很多RSTP不断重新计算以及下连3050C的光口不断Forwarding/Discarding迁移的信息。此时8016B上也有VRRP主备倒换的告警信息,因为上次已经减少VRRP组数并错开各个VRRP组的Hello报文时间间隔,故此时VRRP切换并不集中。由于同时有大量生成树协议的BPDU报文上送CPU重新计算以及因生成树计算错误导致的部分VRRP组主备切换,两台8016上的CPU利用率很高,网络基本不可用。首先断电8016B,恢复业务,再仔细分析日志信息,并询问网络改动,发现故障情况与新增一台3050C有关系。断开新增的3050C,恢复双机环境,网络运行正常。初步判断此次网络动荡与新增的3050C有关。
故障原因分析
1.新加的3050C没有升级,存在STP方面的缺陷。
3楼新增加的3050C是原来的备用机,使用的是0019版本,没有升级到中行目前在用的0022版本,该版本存在缺陷,可能会丢弃部分STP协议报文不上送CPU处理,导致RSTP计算错误和网络形成广播风暴。从0020版本以后已经解决,目前中行在用的0022版本也不存在该问题。因此我们建议把3楼的3050C升级之后再接入到网络中。
2.3楼新增3050C没有关闭上行端口的环路检测功能(loopback-detection)华为3Com交换机上有环路检测功能,可以配合生成树协议(STP/RSTP/MSTP)有效地检测网络中的环路,生成树协议主要用于检测拓扑环路,环路检测功能可以有效检测端口下的环路。环路检测功能是基于端口和VLAN的,当检测到端口存在环回后,首先会上报LOG,提示某个端口在某个VLAN中存在环回情况,并设置该端口不再学习MAC地址,端口的流量和其他端口隔离,从而进入一个该端口下面存在环路而不影响其他端口的状态。但与此同时,一些正常的协议报文,比如生成树协议的BPDU报文,也无法通过了,这样会导致生成树协议计算错误。
同时,如果STP计算错误,没有把相应的链路Discarding掉,就会引起环路检测功能检测到网络中存在的环路,并会把收到环路检测报文的端口UP/Down一次,这将引起全网RSTP协议的重新计算,影响到所有的交换机,耗费大量的CPU资源。在没有关闭上行口环路检测功能的3楼新增3050C上的告警信息也证实了上述判断。
如果形成如图2所示的环路,可能会导致环路检测报文从一个上连口出去,从同一台设备的另一个上连口返回,出现告警信息。
如果形成如图3所示的环路,可能会导致环路检测报文从一个上连口出去,从同一台设备的另一个上连口返回,即出现如告警信息。
3.STP重新计算和VRRP主备倒换,导致设备CPU利用率高和网络动荡,由于STP协议报文和VRRP报文都要上送到CPU处理,占用大量的CPU资源。当新增3050C的环路检测功能和STP缺陷导致整网的STP计算错误,网络设备不断重新计算STP,并发生端口不断迁移,导致网络发生较大动荡,这时候CPU利用率在60%~65%,甚至更高,这样就可能影响正常数据转发。
故障排除步骤
1.查看设备故障现象,发现RSTP协议计算导致端口不断迁移,以及VRRP切换,CPU利用率60%~65%,判断应为环路所致,在Down掉一些端口无效后,为确保业务不受影响,断电8016B,恢复网络和正常业务。
2.拔下8016B的光纤和电缆,再裸机加电,查看8016B的日志,分析故障原因,发现出现故障时候有大量的RSTP端口迁移,而且故障时间与下午增加3楼3050C的时间吻合。
3.登录到3楼新增加的3050C,发现其没有升级也没有关闭上行口的环路检测功能,其日志中有环路告警,可能因该交换机的STP报文处理缺陷和环路检测功能导致RSTP计算错误,最终引起设备CPU利用率高以及网络动荡。
4.断开3楼新增的3050C,再逐步恢复8016B的光纤和电缆连接,网络正常。观察至今一直稳定。
5.升级新增加的3050C,关闭上行链路的环回链路检测功能、配置调度算法保证BPDU报文的发送,再接入到网络中。
后期设备维护建议
1.建议升级3楼新增的3050C到0022版本或者更新的版本。目前3楼新增加的3050C使用的版本过老,对于STP协议报文处理有所不足,而且不支持IP+Port+MAC的绑定功能,建议升级到统一的0022版本,或者更新的0025版本。
2.建议关闭3楼新增3050C上连光口的环路检测功能(Loopback-Detection)。华为交换机包含了环路检测功能,用于检测端口环路(比如交换机某个端口通过Hub或者直接网线产生的环路,STP协议是无法检测和避免的)。一般来说,环路检测和STP之间是不冲突的,但是如果在STP的干路上出现了单环路(从某个端口发送出去的报文,又从本端口收上来),则可能导致STP异常(因为出现单环路的端口会被隔离掉,STP报文不能正常转发,而且此时STP协议不知道)。STP干路上出现单环路的原因,可能是某个VLAN内存在单环路。
建议在上行口的接口模式下,配置如下命令:
undo loopback-detechtion enable
关闭端口的环路检测功能。
3.建议在3楼交换机上配置WRR(Weighted Round Robin)加权轮循调度算法。交换机的端口支持4个或8个输出队列,WRR队列调度算法在队列之间进行轮流调度,保证每个队列都得到一定的服务时间,可以避免低优先级队列中的报文(比如STP中的BPDU报文)可能长时间得不到服务。
这样可以有效避免因为楼层交换机负载大而引起BPDU报文丢失的问题。
建议在全局模式下,配置如下命令:
queue wrr 25 25 25 25
4.建议两台8016升级到5339版本。
福建中行两台8016当前使用的版本为VRP Software, Version 3.10(NSSA), Release 5330,运行时间超过了一年(Quidway S8016 Uptime is 54 Week,0 Day,5 Hour,23 Minute),当前的版本是5339,该版本已经在全国大量使用,对很多方面进行了优化,对VRRP也支持得更好,建议近期将两台8016升级到5339版本。
相关链接:环路检测功能
基于端口,VLAN来进行环回检测,默认每隔30s检测一次。可以调整检测间隔从5秒到300秒。只有启动了环回检测功能的端口才会自动进行环回检测。缺省情况下,端口的环回检测功能是Enable状态。
命令loopback-detection control enable,此命令可以启动Trunk和Multi端口在检测到环回后的受控功能,如果系统发现Trunk或者Multi端口上某个VLAN存在环回,会使端口受控。该命令对Access端口没有影响,即Access端口存在环回时,都会进入受控状态。
在Trunk和Hybrid端口上配置了命令loopback-detection per-vlan enable后,系统会对端口上所有的VLAN进行环回检测。配置了undo loopback-detection per-vlan enable,系统只对端口的缺省VLAN进行环回检测。
缺省情况下,系统对Trunk和Hybrid端口上所有的VLAN进行环回检测。当检测到端口存在环回后,首先会上报Long,提示某个端口在某个VLAN中存在环回情况。如果配置了端口要进入受控状态,则会设置该端口不再学习MAC地址,端口的流量和其他端口隔离。从而进入一个该端口下面存在环路而不影响其他端口的状态。
推荐配置
设备的上行端口一般是配置成Trunk,建议直接关闭上行端口的环路检测功能(请在上行端口下配置 [undo] loopback-detection per-vlan enable),或者打开环回检测,但是配置该端口不受控(端口下配置[undo] loopback-detechion control enable),这样,当该端口检测到某个VLAN存在环路后,仅仅上报环回的Trap,但不会使端口进入受控状态。这样,一些VLAN的环路则不会影响别的VLAN中的业务。建议直接关闭上行口的环路检测功能。对于下行端口和用户端口,打开环路检测,且配置端口受控。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
网管都遇到过!局域网几大棘手问题及解决方案
环路产生的原理及检测
交换机STP的概念及配置(一)
STP、RSTP、MSTP
【思唯网络】路由交换技术
怎样快速检测网络环路?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服