介绍
以太网链路由于各种原因,导致数据或协议报文环形转发,导致网络形成数据风暴,最终影响正常业务。本文档仅介绍二层网络的常见环路问题识别和处理。
本指导手册按照如下思路进行二层环路问题分析和处理:
1、 网络业务故障,如何观察确认存在二层环路?
2、 环路问题发生后,如何快速破环恢复业务?
3、 如何排查环路问题的根本原因,是否已知案例?。
4、 针对问题原因,对网络进行适当的优化。
处理二层环路问题,您首先需要准备如下:
1、 整网的拓扑图,包含设备名称、登陆方式、系统MAC。
2、 登陆软件,记录全部的操作记录。
准备好这些,我们开始二层环路问题的处理之旅。
网络业务故障,如何确认存在环路?
网络业务故障后,如发生二层环路,通常会存端口流量数据风暴和反复大量的MAC漂移现象。因此,在骨干链路所在的节点,通过如下三步操作:
图1:环路排查流程图
可以判断网络是否可能存在二层环路。
第一步:是否可以通过端口流量发现数据风暴?
通过displayinterface 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 BandwidthInUti 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 BandwidthInUti 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% --
一般情况下,查询只能看到网络的当前流量结果,此时需要和网络的正常业务流量进行比较,业务流量的带宽可以从客户的网络流量监控图获取。
如果只有一台设备的一个端口出入方向流量较大,可能是单端口环回。
如果只有一台设备的两个端口流量较大,可能是本设备两个端口环回;
如果某端口只有单方向流量,只有出或者只有入,需要重点排查,因为环路有可能在该端口的上下游设备。
通常情况下:
如果当前网络流量远大于正常业务,可能存在二层环路。
如果当前网络流量正常,没有部署广播抑制,没有二层环路。
如果当前网路流量比正常流量稍大,且部署了广播抑制,需要继续后面的第二步和第三步操作。
MAC地址漂移即设备上一个接口学习到的MAC地址在同一VLAN中另一个接口上也学习到,后学习到的MAC地址表项的覆盖原来的表项。
导致MAC地址漂移的因为包括网络存在环路、或者非法用户进行网络攻击。
例如下图,当Switch1向两个方向同时发报文时,在Switch2上的两个不同端口都会收到该报文,从而出现MAC地址漂移。当Switch2的两个端口出现了MAC地址漂移时,说明交换机的两个端口间可能出现了环路。
图2:MAC-Flapping示意图
MAC地址漂移,交换机所有形态和版本均默认支持漂移,具体的MAC漂移配置主要是指漂移后是否告警,漂移后是否设置端口堵塞的功能。
由于框式交换机和盒式交换机MAC漂移检测的命令行和检测存在差异,我们分别介绍:
1 框式交换机
V1R2版本,在非S系列单板上支持全局使能的MAC-Flapping检测功能(全局使能,只支持发送TRAP)。
在V1R2上,开启MAC地址漂移检测:
[Quidway]mac-flappingalarm enable
V1R3及以后的版本,在V1R2版本的基础上,新增了基于VLAN的MAC地址漂移检测、检测到MAC地址漂移后执行对应的动作策略。
在V1R3及以后的版本上,开启MAC地址漂移检测(下面两个命令均可使用):
系统视图下:[Quidway]loop-detect eth-loopalarm-only
VLAN视图下:[Quidway -vlan1001]loop-detect eth-loop alarm-only
各个版本的告警信息存在一定的差异,样例如下:
2 盒式交换机
盒式交换机(不包括23、27系列)V1R3及以后版本,不支持全局使能的MAC地址漂移检测,只支持基于VLAN的MAC地址漂移检测,同时支持检测到漂移后的发送TRAP、阻塞端口等动作。
开启MAC地址漂移检测:
VLAN视图下:[Quidway -vlan1001]loop-detecteth-loop alarm-only
各个版本的告警信息存在一定的差异,样例如下:
第三步:设备作为三层网关,是否存在大量ARP报文被CPCAR丢包记录?
2011-11-302032
Wednesday
TimeZone : BJ add 0800
CPCAR on slot 3
-------------------------------------------------------------------------------
PacketType Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-request 91720644 61001339156 1348833 897078517
-------------------------------------------------------------------------------
CPCAR on slot 3
-------------------------------------------------------------------------------
PacketType Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-reply 381073700 46925484540 5604025 690080655
-------------------------------------------------------------------------------
2011-11-302035
Wednesday
TimeZone : BJ add 0800
CPCAR on slot 3
-------------------------------------------------------------------------------
PacketType Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-request 91728872 61001759940 1348954 897084705
-------------------------------------------------------------------------------
CPCAR on slot 3
-------------------------------------------------------------------------------
PacketType Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
arp-reply 381082540 46925484540 5604155 690080655
-------------------------------------------------------------------------------
通常情况下,ARP的交互是有序进行,短时间内不会出现超多报文的丢弃。
问题一般发生在9300作为汇聚网关场景,出现上述情况后,可能的原因是ARP的广播报文在物理环形的网络中转发,形成协议报文的风暴,当前设备上送CPU,被交换机CPU限速丢弃。
第四步,当前是否可以增加配置环路检测发现环路?
框式交换机和盒式交换机都支持检测环,框式交换机的环路监测称为Loop Detection;盒式交换机的环回监测称为Loopback Detection。
1 Loop Detection(框式)
框式交换机端口配置LoopDetection功能以后,设备会从该端口发送环路检测报文,在端口所属且使能Loop Detection功能的VLAN内进行环路检测,如果设备接收到自己发送的检测报文,网络上存在环路。
框式交换机上的环路监测能检测到下面两种情况下的端口环路:
1、 设备上端口收到本端口发送的检测报文。
2、 设备上端口收到非本端口发送的检测报文。
开启了LoopDetection以后,用display loop-detection命令可以查看当前环路检测的状态,用display loop-detection interface命令可以查看具体某一个端口的状态。
LoopDetection is enable.
Detectioninterval time is 5 seconds.
Followingvlans enable loop-detection:
vlan 556
Followingports are blocked for loop:
NULL
Followingports are shutdown for loop:
NULL
Followingports are nolearning for loop:
NULL
The portis enable.
Theport's status list:
Status WorkMode Recovery-time EnabledVLAN
-----------------------------------------------------------------------
Normal Shutdown 200 556
告警示例如下:
2 Loopback Detection(盒式)
盒式交换机端口配置LoopbackDetection功能以后,设备会从该端口发送环路检测报文,一个untagged报文和指定VLAN Tag报文。盒式交换机的Loopback Detection,只能针对设备上端口收到本端口发送的检测报文的环路。
开启了LoopDetection以后,用display loop-detection命令可以查看环路检测功能的配置信息和接口状态信息。
Loopback-detectis enabled in the system view
Loopback-detectinterval: 30
Loopback-detecksending-packet interval: 5
Interface ProtocolID RecoverTime Action Status
--------------------------------------------------------------------------------
GigabitEthernet0/0/2 602 30 block NORMAL
盒式交换机告警示例如下:
编辑:黄飞
评论
查看更多