以太网交换网络中为了提高网络可靠性,通常会采用冗余设备和冗余链路,然而现网中由于组网调整、配置修改、升级割接等原因,经常会造成数据或协议报文环形转发,不可避免的形成环路。如图所示,三台设备两两相连就会形成环路。当设备未部署环路保护协议或者组网配置发生变更时,环形组网中就可能会产生广播风暴。
二层环路最大的危害就是会产生广播风暴,以太网是一个支持广播的网络,在没有环路的环境中,广播包在网络中以泛洪的形式被送达到网络的每一个角落,以保证每个设备都能够接受到它。在带宽允许的情况下,每个网桥在接收到广播报文以后,都会向除接收端口以外的其他所有接口转发这个广播包,一旦网络中有环路,这种简单的广播机制就会引发灾难性后果。
环路中一个广播报文被反复转发了千万次,产生了广播风暴并且很快达到或接近端口线速,并迅速消耗链路带宽。根据转发规则,这些广播报文不仅仅只是在环路上无限转发,环路设备还会向其他端口转发一份,这样整个网络中都充斥着大量重复广播报文。如果全网络都采用千兆端口互连,那么几乎每一条链路上都充斥着1000M/s的广播报文,正常的数据报文将很难再获得转发的机会。
二层网络设备处于同一个广播域下,广播报文在环路中会反复持续传送,无限循环,形成广播风暴,引发MAC地址表不稳定等故障现象,进而影响正常业务,导致用户通信质量较差,甚至通信中断。
为防止环路出现,并保证网络的可靠性,交换机设备上通常会部署一些破环协议。目前S系列交换机支持的二层环路破环协议主要有:
STP/RSTP/MSTP
RRPP
SEP
Smart Link
ERPS
除了二层环路破环协议,交换机同时支持环路检测技术,主要的环路检测技术有:
Loop Detection
Loopback Detection
如何判断环路故障
总体思路
所有故障皆“事出有因”,故障的发生一定是在一个稳定的正常运行的网络中,某一网络环节发生了变化而引起的,这些诱发网络产品生故障的变化包括:
网络调整:包括但不限于组网调整、配置修改、升级割接等操作;
网络环境发生变化:包括但不限于网络风暴、特定节日/促销活动/智能终端导致用户行为变化,网络设备电源/温度环境发生变化、传输光缆被切断、夏令时跳变、微波受大雨/大雾等其后影响、洪水/火灾/地震/雷击等外界不可抗力;
网络设备发生故障:包括但不限于软件发生缺陷、硬件老化故障(单板异常、光纤光模块故障)等。
所有这些诱发故障的内在因素绝大多数都有其“外在异常表现”,具体会反映在特定网元的告警、日志、流量统计、端口状态等信息中。因此故障快速定位的关键在于,如何有效而快速的通过事发时间、影响范围、所做操作及故障网络范围的网元基本信息的查看,快速发现这些“外在异常表现”所在的点,进而锁定故障网元节点,找出问题根因。
如下图所示,网络中出现二层环路通常会有如下现象,如果分析现网问题发现存在以上异常表现中的一个或者多个,则网络中存在二层环路可能性较大。
环路故障诊断步骤
判断网络中是否存在二层环路,一般可以使用查看接口带宽流量、查看MAC漂移告警、部署环路检测、查看CPU占用率四种方法进行确认。这四种方法没有严格的操作顺序,为更加准确判断故障属性,可以使用其中的一种或多种方法来进行问题定位。
查看接口带宽流量
1. 检查端口带宽流量简要信息。
通过displayinterface brief命令,查看所有接口下的流量,存在环路的接口上InUi和OutUi两个计数会逐步增加至端口速率上限。
display interface brief | include up
#
一般情况下,使用此命令查询只能看到当前网络的流量结果,此结果需要和网络的正常业务流量进行比较,业务流量的带宽可以从网管设备上的网络流量监控图中获取。
通过下面简单的判断,可以初步确定有没有环路存在。
如果当前网络流量远大于正常业务,可能存在二层环路。
如果当前网络流量正常,且没有部署广播抑制,则没有二层环路。
如果当前网路流量比正常流量稍大,且部署了广播抑制,则需要通过查看MAC地址漂移进一步判断。
通过观察设备流量大的端口个数和流量出入方向,也可以进行如下初步判断。
如果只有一台设备的一个端口出入方向流量较大,可能属于交换机单端口自环出现环路。
如果只有一台设备的两个端口流量较大,可能属于交换机双端口环路导致协议震荡。
如果某端口只有单方向流量较大,即只有出方向流量大或者只有入方向流量较大,则需要重点排查,因为环路有可能在该端口的上下游设备,属于下游设备报文转发异常导致伪环路问题。
上述步骤在确认可能是环路的情况下,可以通过如下步骤进一步判断确认环路是否的确存在。
2. 查看带宽异常的接口详细信息。
为排除先前报文统计数对故障判断的影响,在征询客户同意的前提下,您可以在用户视图执行命令resetcounters interface [ interface-type [ interface-number ]],先清除指定接口的统计信息。
任意视图下执行命令displayinterface [ interface-type [ interface-number ] ],或接口视图下执行命令displaythisinterface,查看接口当前运行状态详细信息。具体可查看回显信息中的Broadcast和Multicast和字段,以观察接口出入方向是否有大量的广播和组播报文计数。
如果存在某些接口的收发广播/组播报文数明显大于同一设备其他接口的收发广播/组播报文数,则存在环路的可能性很大;否则,请执行查看MAC地址漂移进一步判断。
查看MAC地址漂移
MAC地址漂移即设备上某一个接口学习到的MAC地址在同一VLAN中另一个接口上也学习到,后学习到的MAC地址表项会覆盖原来的表项。
导致MAC地址漂移的可能原因包括网络存在环路或者非法用户进行网络攻击等。因此出现MAC地址漂移不一定是因为存在环路,但是如果设备存在环路,则一定会有MAC地址漂移现象发生。
如图所示,当SwitchA向两个方向同时发送报文时,在SwitchB上的两个不同端口都会收到该报文,从而出现MAC地址漂移。当SwitchB的两个端口出现了MAC地址漂移时,说明交换机的两个端口间可能出现了环路。
交换机所有形态和版本均默认支持MAC地址漂移检测功能。MAC地址漂移检测配置主要是指MAC地址漂移后设备是否产生告警,以及MAC地址漂移后是否设置端口堵塞功能。
由于交换机各版本和形态间的MAC地址漂移检测的命令行和检测存在差异,将划分为框式设备和盒式设备来分别介绍。
1.框式交换机的MAC地址漂移查看方法:
对于V100R002版本设备,全局使能MAC地址漂移检测功能后,仅在非S系列单板上生效,并且设备检测到MAC地址漂移后,只支持发送TRAP告警。开启MAC地址漂移检测功能的命令如下:
[HUAWEI] mac-flapping alarm enable
对于V100R003及以后的版本,设备新增了基于VLAN的MAC地址漂移检测、检测到MAC地址漂移后执行对应的动作策略。系统视图和VLAN视图开启MAC地址漂移检测的命令如下:
系统视图下执行命令:
[HUAWEI] loop-detect eth-loop alarm-only
VLAN视图下执行命令:
system-view
[HUAWEI] vlan 10
[HUAWEI-vlan10] loop-detect eth-loop alarm-only
开启MAC地址漂移检测功能后,您可以执行命令displaytrapbuffer查看MAC地址漂移告警.
2. 盒式交换机MAC地址漂移查看方法
盒式交换机(不包括S2700系列)在V100R003及以后版本,不支持全局配置MAC地址漂移检测功能,只支持配置基于VLAN的MAC地址漂移检测,同时支持检测到MAC地址漂移后发送TRAP告警以及进行阻塞端口等动作。开启MAC地址漂移检测命令如下:
VLAN视图下:
system-view
[HUAWEI] vlan 10
[HUAWEI-vlan10]loop-detect eth-loop alarm-only
如何快速破环
以太网环路会在短时间内形成数据风暴,当端口的流量达到带宽的最大负荷,会形成链路拥塞,影响网络业务。因此,在确认现网发生数据环路后,您需要第一时间按照如下步骤处理,尽快恢复数据业务。
1. 梳理网络拓扑并识别环路。
环形网络拓扑一般较为复杂,可以寻求到网络拓扑结构全图,具体到网络的VLAN规划信息,每台设备名称、系统MAC、管理IP,本端端口名称、对端端口名称。
完整的拓扑信息是解决环路问题的首要条件,如果没有拓扑图,需要从发现环路的设备,通过逐跳登录,记录设备信息、端口信息和VLAN信息,手动绘制完整的拓扑。
2. 紧急破环。
紧急破环的操作前提是不要影响远程登录设备所涉及的中间设备、端口和VLAN等,避免引入其他问题,出现设备脱管、无法远程登录的现象。
紧急破环又称手动破环,当网络风暴严重影响正常的业务时,需要使用此方法尽快恢复业务。您可以通过如下三个方法紧急破环。
端口退出已成环的VLAN
在已经成环的网络上,将其中一个端口退出成环VLAN,属于影响面最小的破环方法。
Shutdown已经成环的端口
Shutdown已经成环的物理端口,也可以达到破环的效果。
执行此动作之前,您需要确保在接口视图下执行命令shutdown关闭接口后,不会影响正常数据业务,即端口两端设备在所有VLAN内仍能通信。
拔出成环光纤破环
通过拔出成环的端口的连接光纤,也可以紧急破环。
该方法可以使用Shutdown端口代替,只有在设备无法远程登录时才使用。
3. 确认业务已经恢复。
通过Ping等操作测证网络通信质量,并观察现网业务是否已经恢复。
环路拓扑存在冗余链路和配置,因此环路破除后业务一般会自行恢复。
如何进行网络加固和优化
是否需要部署适当的破环协议?
如果当前的环路问题是由于物理环路引入,且没有配置破环协议,请按照网络规划合理部署破环协议。以太网交换机常见的破环协议为STP/RSTP/MSTP/VBST、RRPP、SEP、ERPS等,具体应用请查询配置手册。
是否需要提升链路质量和可靠性?
如果当前环路问题是由于物理链路质量不可靠,存在协议报文拥塞丢失导致超时临时环路,请检查链路,并更换光纤光模块。
如果当前问题因为带宽不足导致协议报文被丢弃,需要扩充带宽或者使用聚合链路,提升链路可靠性。
是否需要部署广播抑制提升网络健壮性?
为了避免再次成环,成环后再次引入数据风暴,建议在环上设备端口下,部署广播抑制,按照经验,部署5%的广播抑制可以很好的防止广播风暴,具体抑制的比例值可以按照客户并发网络广播流量来评估确认。
是否需要部署QoS保证协议报文优先转发?
如果当前环路问题是由于网络拥塞导致协议报文未能转发,需要部署QoS,协议报文高优先级转发。
是否需要优化网络设计,提升网络?
复杂组网可以通过分层控制,建议合理规划设计接入层、汇聚层。
单层组网内设备数量较多时,建议按照逻辑组织和地理分布,划分不同的域。
如果想了解更多华为认证技术干货,请关注公众号【IE网工训练营】
领取专属 10元无门槛券
私享最新 技术干货