1 网络业务故障,如何确认存在环路?
网络业务故障后,如发生二层环路,通常会存端口流量数据风暴和反复大量的MAC漂移现象。因此,在骨干链路所在的节点,通过如下三步操作:
图1:环路排查流程图
可以判断网络是否可能存在二层环路。
1.1 第一步:是否可以通过端口流量发现数据风暴?
通过display interface brief命令,查看所有接口下的流量,存在环路的接口上InUti和OutUti两个计数会逐步增加:
第一次查询:
[151]disp interface Ethernet brief | in up
PHY: Physical
*down: administratively down
(l): loopback
(b): BFD down
InUti/OutUti: input utility/output utility
Interface PHY Auto-Neg Duplex Bandwidth InUti OutUti Trunk
GigabitEthernet0/0/2 up enable full 100M 0% 0.01% --
GigabitEthernet0/0/16 up enable full 1000M 0.56% 0.56% 1
GigabitEthernet1/0/12 up enable full 1000M 0.56% 0.56% 1
MEth0/0/1 up enable half 100M 0.01% 0.01% --
最后一次查询:
[151]disp interface Ethernet brief | in up
PHY: Physical
*down: administratively down
(l): loopback
(b): BFD down
InUti/OutUti: input utility/output utility
Interface PHY Auto-Neg Duplex Bandwidth InUti OutUti Trunk
GigabitEthernet0/0/2 up enable full 100M 0% 0.01% --
GigabitEthernet0/0/16 up enable full 1000M 76% 76% 1
GigabitEthernet1/0/12 up enable full 1000M 76% 76% 1
MEth0/0/1 up enable half 100M 0.01% 0.01% --
一般情况下,查询只能看到网络的当前流量结果,此时需要和网络的正常业务流量进行比较,业务流量的带宽可以从客户的网络流量监控图获取。
如果只有一台设备的一个端口出入方向流量较大,可能是单端口环回。
如果只有一台设备的两个端口流量较大,可能是本设备两个端口环回;
如果某端口只有单方向流量,只有出或者只有入,需要重点排查,因为环路有可能在该端口的上下游设备。
通常情况下:
如果当前网络流量远大于正常业务,可能存在二层环路。
如果当前网络流量正常,没有部署广播抑制,没有二层环路。
如果当前网路流量比正常流量稍大,且部署了广播抑制,需要继续后面的第二步和第三步操作。
1.2 第二步:是否可以通过MAC-Flapping检测漂移?
MAC地址漂移即设备上一个接口学习到的MAC地址在同一VLAN中另一个接口上也学习到,后学习到的MAC地址表项的覆盖原来的表项。
导致MAC地址漂移的因为包括网络存在环路、或者非法用户进行网络攻击。
例如下图,当Switch1向两个方向同时发报文时,在Switch2上的两个不同端口都会收到该报文,从而出现MAC地址漂移。当Switch2的两个端口出现了MAC地址漂移时,说明交换机的两个端口间可能出现了环路。
图2:MAC-Flapping示意图
MAC地址漂移,交换机所有形态和版本均默认支持漂移,具体的MAC漂移配置主要是指漂移后是否告警,漂移后是否设置端口堵塞的功能。
由于框式交换机和盒式交换机MAC漂移检测的命令行和检测存在差异,我们分别介绍:
1.2.1 框式交换机
V1R2版本,在非S系列单板上支持全局使能的MAC-Flapping检测功能(全局使能,只支持发送TRAP)。
在V1R2上,开启MAC地址漂移检测:
[Quidway]mac-flapping alarm enable
V1R3及以后的版本,在V1R2版本的基础上,新增了基于VLAN的MAC地址漂移检测、检测到MAC地址漂移后执行对应的动作策略。
在V1R3及以后的版本上,开启MAC地址漂移检测(下面两个命令均可使用):
系统视图下:[Quidway]loop-detect eth-loop alarm-only
VLAN视图下:[Quidway -vlan1001]loop-detect eth-loop alarm-only
1.2.2 盒式交换机
盒式交换机(不包括23、27系列)V1R3及以后版本,不支持全局使能的MAC地址漂移检测,只支持基于VLAN的MAC地址漂移检测,同时支持检测到漂移后的发送TRAP、阻塞端口等动作。
开启MAC地址漂移检测:
VLAN视图下:[Quidway -vlan1001]loop-detect eth-loop alarm-only
1.3 第三步:设备作为三层网关,是否存在大量ARP报文被CPCAR丢包记录?
<dgg62aslhwug>disp clock
2011-11-30 20:04:32
Wednesday
Time Zone : BJ add 08:00:00
<dgg62aslhwug>disp cpu-defend arp-request statistics slot 3
CPCAR on slot 3
-------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-request 91720644 61001339156 1348833 897078517
-------------------------------------------------------------------------------
<dgg62aslhwug>disp cpu-defend arp-reply statistics slot 3
CPCAR on slot 3
-------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-reply 381073700 46925484540 5604025 690080655
-------------------------------------------------------------------------------
<dgg62aslhwug>disp clock
2011-11-30 20:04:35
Wednesday
Time Zone : BJ add 08:00:00
<dgg62aslhwug>disp cpu-defend arp-request statistics slot 3
CPCAR on slot 3
-------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-request 91728872 61001759940 1348954 897084705
-------------------------------------------------------------------------------
<dgg62aslhwug>disp cpu-defend arp-reply statistics slot 3
CPCAR on slot 3
-------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-reply 381082540 46925484540 5604155 690080655
-------------------------------------------------------------------------------
通常情况下,ARP的交互是有序进行,短时间内不会出现超多报文的丢弃。
问题一般发生在9300作为汇聚网关场景,出现上述情况后,可能的原因是ARP的广播报文在物理环形的网络中转发,形成协议报文的风暴,当前设备上送CPU,被交换机CPU限速丢弃。
1.4 第四步,当前是否可以增加配置环路检测发现环路?
框式交换机和盒式交换机都支持检测环,框式交换机的环路监测称为Loop Detection;盒式交换机的环回监测称为Loopback Detection。
1.4.1 Loop Detection(框式)
框式交换机端口配置Loop Detection功能以后,设备会从该端口发送环路检测报文,在端口所属且使能Loop Detection功能的VLAN内进行环路检测,如果设备接收到自己发送的检测报文,网络上存在环路。
框式交换机上的环路监测能检测到下面两种情况下的端口环路:
1、 设备上端口收到本端口发送的检测报文。
2、 设备上端口收到非本端口发送的检测报文。
开启了Loop Detection以后,用display loop-detection命令可以查看当前环路检测的状态,用display loop-detection interface命令可以查看具体某一个端口的状态。
<Quidway> display loop-detection
Loop Detection is enable.
Detection interval time is 5 seconds.
Following vlans enable loop-detection:
vlan 556
Following ports are blocked for loop:
NULL
Following ports are shutdown for loop:
NULL
Following ports are nolearning for loop:
NULL
<Quidway> display loop-detection interface gigabitethernet 1/0/0
The port is enable.
The port's status list:
Status WorkMode Recovery-time EnabledVLAN
-----------------------------------------------------------------------
Normal Shutdown 200 556
1.4.2 Loopback Detection(盒式)
盒式交换机端口配置Loopback Detection功能以后,设备会从该端口发送环路检测报文,一个untagged报文和指定VLAN Tag报文。盒式交换机的Loopback Detection,只能针对设备上端口收到本端口发送的检测报文的环路。
开启了Loop Detection以后,用display loop-detection命令可以查看环路检测功能的配置信息和接口状态信息。
<Quidway> display loopback-detect
Loopback-detect is enabled in the system view
Loopback-detect interval: 30
Loopback-deteck sending-packet interval: 5
Interface ProtocolID RecoverTime Action Status
--------------------------------------------------------------------------------
GigabitEthernet0/0/2 602 30 block NORMAL
2 环路问题发生后,如何快速破环?
以太网的环路,会在短时间内形成数据风暴,当端口的流量达到带宽的最大负荷,会形成链路拥塞,影响网络业务。因此,在确认网络发生数据环路后,请按照如下步骤处理:
2.1 第一步:是否理解网络业务并明确拓扑?
环形网络拓扑一般较为复杂,可以向客户寻求网络拓扑结构全图,具体到网络的VLAN规划信息,每台设备名称、系统MAC、管理IP,本端端口名称、对端端口名称。
完整的拓扑信息是解决环路问题的首要条件,如果没有拓扑图,需要从发现环路的设备,通过逐跳登陆,记录设备信息、端口信息和VLAN信息,手动绘制完整的拓扑。
2.2 第二步:是否需要用影响最小的方法破环?
紧急破环又称手动破环,当网络风暴严重影响正常的业务时,需要在尽快恢复业务。
可以通过如下三个方法紧急破环:
(注意紧急破环不要影响远程telnet路径所在的设备、端口和VLAN,避免无法登陆。)
2.2.1 方法一:端口退出成环VLAN破环
将成环的网络上,其中一个端口退出成环VLAN,属于影响面最小的方法。
端口 | 命令行 | 备注 |
Access | undo default vlan | 可能影响下游业务。 |
Trunk | undo port trunk allow-pass vlan id | 无 |
Hybrid | undo hybrid vlan id | 不区分tagged和untagged |
备注:需要注意不要shutdown远程telnet路径所在的端口,避免无法远程登陆。
2.2.2 方法二:shutdown成环端口破环
Shutdown成环的物理端口,也可以达到破环的效果。
此时,需要保证shutdown的端口两端在全部VLAN内能够通信。
2.2.3 方法三:通过拔出成环光纤破环
通过拔出成环的光纤,可以紧急破环。
备注:该方法可以使用shutdown端口代替,只有在设备无法登陆时才使用。
2.3 第三步:操作后确认业务是否恢复?
通过ping等测证网络通信质量,并和客户一起观察现网业务是否已经恢复。
环路拓扑存在冗余链路和配置,环路破除后业务会自行恢复,特殊情况在此不一概而论。
3 环路问题发生后,如何定位问题根因?
3.1 第一步:是否由于近期施工操作引入环路?
如果环路问题是由于近期施工操作引入,可以和施工方确认,了解施工的过程,特别是新增线路连接的细节,结合拓扑结构,确认后排出物理环路。
3.2 第二步:是否由于近期修改配置引入的环路?
常见的容易配置引入环路的命令行如下:
特性 | 命令行 | 成环原因 | 应对方案 |
接口管理 | Undo shutdown | 端口进入转发引入环路。 | 关闭端口或者部署破环协议 |
STP | Bpdu enable | 盒式交换机端口下需要使能bpdu enable命令才能接收并处理STP报文。 | 配置命令(V1R6及以后版本已默认使能) |
框式交换机端口下需要去使能该命令,交换机才不会透传STP报文。 | 删除命令 | ||
bpdu bridge enable | 使能该命令会导致STP报文透传,无法上送处理。 | 删除命令 | |
bpdu-tunnel stp bridge role provider | 使能该命令会导致STP无法处理报文。 | 删除命令 | |
RRPP | Rrpp enable | 全局不配置rrpp enable,无法计算堵塞端口破环。 | 配置命令 |
SmartLink | Smartlink enable | SmartLink组模式下不使能该命令,无法计算堵塞端口。 | 配置命令 |
3.3 第三步:是否典型的常见环路问题?
3.3.1 交换机自环出现环路
前置条件:交换机未配置STP和LDT
问题现象:端口出方向和入方向流量持续增加。
问题原因:端口自环或者链路环回。
处理方法:
1、首先在端口下去使能loopback internal。
2、设备由于链路引入环路有两种:
一种是单端口收发环回。第二种是设备上两个端口环路。
此类环路造成的原因是光纤或者网线误接,需要拆除连线。
3.3.2 交换机下游设备自环出现环路
前置条件:设备未部署STP和LDT,本设备未环回。
问题现象:端口入方向和出方向流量持续增大,环回链路在下游。
问题原因:下游链路环回或者自环。
处理方法:
1、首先逐跳向下游寻找环路的链路。
1、然后在端口下去使能loopback internal。
2、设备由于链路引入环路有两种:
一种是单端口收发环回。第二种是设备上两个端口环路。
此类环路造成的原因是光纤或者网线误接,需要拆除连线。
3.3.3 环形组网链路震荡导致环收敛震荡
前置条件:设备部署STP、RRPP、SEP或者SMLK等破环协议。
问题现象:环路一段时间收敛正常,一段时间收敛失败,或者持续震荡。
问题原因:网络上链路存在震荡,导致环网协议报文转发失败,反复超时震荡。如:
1、链路存在错包,协议报文被丢弃。
2、未知单播抑制、不合理的qos等配置丢弃协议报文。
处理方法:
1、 如因为错包丢弃,建议更换问题网线、光纤或者光模块。
2、 如因为被抑制丢包,建议修改单播抑制和不合理的Qos配置。
3、 观察当前网络带宽,确认是否是网络流量拥塞,导致协议报文丢失,超时放开堵塞端口导致临时环路,此类问题需要进行网络优化。
3.3.4 环形组网寄存器下发失败无法破环
前置条件:物理环路,协议已经破环。
问题现象:网络数据风暴
问题原因:软件计算堵塞端口正确,但是芯片下发失败。
处理方法:此类问题极其少见,可以通过shutdown、undo shutdown期望的堵塞端口,观察协议是否收敛成功。
3.3.5 链路单通引入RRPP网络单向环
前置条件:RRPP组网
问题现象:RRPP堵塞端口超时放开
问题原因:RRPP心跳检测方向,链路单通。
处理方法:解决单通链路问题。
该问题有两个规避方法:
1、链路自协商,链路质量较差的情况下,链路单通无法协商UP,无单通问题。
2、通过在链路上部署DLDP检测协议,检测到链路单通后,会完全shutdown两侧的端口,解决单向环环路问题。
3.3.6 协议堵塞的端口L2PT(bpdu-tunnel)协议报文成环
前置条件:二层网络环路收敛正常,堵塞端口状态下发正常
问题现象:disp l2protocol-tunnel statistics查看到报文增加很快,软转发成环。
问题原因:由于堵塞端口软件转发L2PT(bpdu-tunnel)协议报文,未判断端口是否堵塞,从堵塞端口发送L2PT报文,引起的L2PT报文成环,
处理方法:R6以前版本需要加载最新的补丁解决问题。V1R6C00SPC900解决该问题。
3.3.7 下游设备报文转发异常导致疑似环路
图9:报文转发异常导致环路
前置条件:二层网络环路收敛正常,堵塞端口状态下发正常
问题现象:在LSW3形成频繁的MAC-Flapping,出现疑似环路问题。
问题原因:二层网络的边缘设备,由于个别厂家实现差异,对于无法处理的报文,会反弹转发,常见的设备有机顶盒等。
处理方法:由于报文反弹,此类问题需要更换边缘设备解决。