交换机网络出现环路状态及环路防范策略
一、当网络出现环路时,通常会有以下这些症状表现:
网络性能方面
· 网络卡顿与延迟:环路会导致广播风暴,大量的广播数据包在网络中不断循环传输,占据了大量的网络带宽。这使得正常的数据传输受到严重干扰,数据包的传输延迟明显增加,用户在访问网络资源时会明显感觉到卡顿,比如网页加载缓慢、视频播放卡顿、文件下载速度极慢等。
· 网络丢包:由于网络中充斥着大量的无用广播数据包,交换机等网络设备的处理能力会达到极限。当设备无法及时处理所有数据包时,就会导致部分数据包被丢弃。这会影响到依赖可靠数据传输的应用,如实时通信、在线游戏等,造成语音通话中断、游戏画面卡顿和丢帧等问题。
· 带宽耗尽:广播风暴会使网络带宽被迅速耗尽。原本可以正常使用的网络带宽,因为环路产生的大量冗余数据包而被占用,导致整个网络几乎无法为正常业务提供服务。例如,企业网络中原本可以支持多人同时办公的带宽,在出现环路后,员工可能连基本的邮件收发都变得困难。
网络设备方面
· 设备发热严重:网络设备(如交换机)在处理大量的广播数据包时,会增加其 CPU 和其他硬件组件的工作负荷。长时间的高负荷运行会使设备产生过多的热量,导致设备发热严重。如果不及时处理,可能会影响设备的稳定性和寿命,甚至导致设备损坏。
· 设备指示灯异常:交换机端口的指示灯通常可以反映端口的工作状态。在出现环路时,受影响端口的指示灯可能会出现快速闪烁、不规则闪烁或常亮等异常情况。这是因为端口不断地接收和发送大量数据包,导致指示灯状态频繁变化。
· 设备频繁重启:当网络设备的 CPU 资源被广播风暴耗尽,设备可能会出现性能崩溃的情况。为了尝试恢复正常运行,设备可能会自动重启。但由于环路问题没有得到解决,重启后不久又会再次出现类似的问题,导致设备频繁重启。
网络连接方面
· 部分或全部设备断网:环路产生的广播风暴可能会导致交换机的 MAC 地址表出现混。SW交换机依靠 MAC 地址表来转发数据包,当 MAC 地址表异常时,交换机可能无法正确地将数据包转发到目标设备,从而导致部分或全部设备无法正常连接到网络。
· 网络拓扑结构异常:在一些支持网络拓扑自动发现和显示的网络管理系统中,可能会显示出异常的网络拓扑结构。例如,原本正常连接的设备之间可能会出现异常的连接关系,或者某些设备显示为无法正常识别或连接状态。
二、交换机防环路的策略:
1、指定STP根指定汇聚交换机为STP的根交换机;
启用环路保护功能(stp bpdu-protection是用来保护边缘端口的边缘端口下面是接pc的 所以收不到BPDU包。而如果不小心在该接口下接入了一个交换机 就会接收到BPDU包 而开启了这个功能之后 你的这个端口检测到有BPDU包的存在 就会自动把状态变为down。如果你网络中没有启用边缘端口不需要使用这个命令)
端口开启bpdu enable不论是trunk,还是access口,都可以配置bpdu enable命令。BPDU桥协议数据单元,是STP生成树协议中的报文,开启主要是防环。通过BPDU来协商哪个端口处于blocking的状态来阻塞数据发出,这样就可以达到防环。在每个或者单个端口上开启;如果接收到任何BPDU,该端口即被屏蔽。
开启边缘端口配置的接口不参与生成树计算,即可以转发BPDU也可以接收BPDU。配置BPDU保护功能后,如果边缘端口收到了BPDU,交换机将关闭这些端口,同时通知网管系统,被关闭的端口只能由网络管理人员手动恢复。
终端、服务器都不支持STP协议,如果这些设备和交换机连接,建议在交换机的端口上执行命令stp edged-port enable开启边缘端口属性或执行命令stp disable去使能STP。
否则,当用户插拔链路连接介质,或先执行shutdown,再执行undo shutdown,重启端口后,因对端端口不会发送STP的协议报文进行协商,导致交换机上的端口经过2倍的Forward Delay(默认为15秒)时间后才能正常转发报文。
或者使用stp disable命令。
stp bpdu-protection
用来保护边缘端口的边缘端口下面是接pc的 所以收不到BPDU包 。而如果不小心在该接口下接入了一个交换机就会接收到BPDU包 而开启了这个功能之后 你的这个端口检测到有BPDU包的存在 就会自动把状态变为down。如果你网络中没有启用边缘端口不需要使用这个命令。
启用环路检测功能loopback-detection环回检测,环回监测会在相应端口发送检测包,如果能够从发送的端口收到发送的包,即为端口内存在环路,对access端口,会删除mac列表,block端口,对trunk端口会上报,不会禁用端口。因此,环回监测功能只能发现单一端口的自环,或者是下级存在外部环路,例如本端口下级联hub,在hub上产生环路。如果需要检测和防止多端口的环路,例如两端口同时接入一根网线的两段,则需要开启stp。
在分别对接入层交换机配置STP和Loopback-detection进行测试后,得出结果:
1.当接入层交换机有两个端口用网线同时与同一个傻瓜交换机相连形成环路时:
(1)STP生效,阻塞其中一个端口,网络正常。
(2)Loopback-detection未生效,该交换机开始广播风暴,网络不正常。
2.当接入层交换机有一个端口用网线连着一个傻瓜交换机,傻瓜交换机上有两个端口用网线对接时:
(1)STP生效。阻塞该接入层交换机端口,其他接口网络正常,但该交换机无法远程控制。
(2)Loopback-detection生效,阻塞该接入层交换机端口,并通报trap信息,其他接口网络正常。
TC-guard gongji防护
启用防TC-BPDU报文gongji功能后,在单位时间内,MSTP进程处理TC类型BPDU报文的次数可配置(缺省的单位时间是2秒,缺省的处理次数是3次。)。如果在单位时间内,MSTP进程在收到TC类型BPDU报文数量大于配置的阈值,那么MSTP进程只会处理阈值指定的次数。对于其它超出阈值的TC类型BPDU报文,定时器到期后,MSTP进程只对其统一处理一次。这样可以避免频繁的删除MAC地址表项和ARP表项,从而达到保护交换机的目的。
当网络拓扑发生变化时,交换机会从自己的指定端口向外发送TCN BPDU报文 接收到TCN BPDU报文的交换机向发送者发送TCA报文 根交换机接收到TCN BPDU报文向网络中发送TC BPDU 收到TC BPDU的交换机将 MAC地址表老化时间设为15s 就这些 TCA是应答TCN的,只回应发送TCN的交换机 TC是发送到整个网络的。通过查看端口的TC报文计数,发现端口收到大量的TC报文,且在不断增长。触发MAC删除、ARP表项刷新,设备处理大量arp-miss、arp-request和arp-reply报文,导致CPU升高,OSPF Hello报文、VRRP心跳报文不能及时处理,出现震荡。
stp tc-protection //tc保护
arp topology-change disable
mac-address update arp
当设备收到TC报文后,默认会清掉MAC、老化ARP。当设备上的ARP表项较多时,ARP的重新学习会导致网络中的ARP报文过多。配置arp topology-change disable、mac-address update arp后,在网络拓扑变化时,可以根据MAC地址的出接口变化刷新ARP表项出接口。可以减少大量不必要的ARP表项刷新。
执行此命令arp topology-change disable,去使能设备响应TC报文的功能后,当网络的拓扑发生变化的时候,系统的ARP表项不再进行老化或者删除操作,如果未对设备使能“MAC刷新ARP”功能,此时由于设备中保存的ARP表项没有得到及时刷新,可能导致用户业务中断。苏州东元信息技术有限公司因此建议执行命令mac-address update arp,使能MAC刷新ARP功能。