交换机二层环路问题处理指南.docx
《交换机二层环路问题处理指南.docx》由会员分享,可在线阅读,更多相关《交换机二层环路问题处理指南.docx(24页珍藏版)》请在冰豆网上搜索。
交换机二层环路问题处理指南
1介绍
以太网链路由于各种原因,导致数据或协议报文环形转发,导致网络形成数据风暴,最终影响正常业务。
本文档仅介绍二层网络的常见环路问题识别和处理。
本指导手册按照如下思路进行二层环路问题分析和处理:
1、网络业务故障,如何观察确认存在二层环路?
2、环路问题发生后,如何快速破环恢复业务?
3、如何排查环路问题的根本原因,是否已知案例?
。
4、针对问题原因,对网络进行适当的优化。
处理二层环路问题,您首先需要准备如下:
1、整网的拓扑图,包含设备名称、登陆方式、系统MAC。
2、登陆软件,记录全部的操作记录。
准备好这些,我们开始二层环路问题的处理之旅。
2网络业务故障,如何确认存在环路?
网络业务故障后,如发生二层环路,通常会存端口流量数据风暴和反复大量的MAC漂移现象。
因此,在骨干链路所在的节点,通过如下三步操作:
图1:
环路排查流程图
可以判断网络是否可能存在二层环路。
2.1第一步:
是否可以通过端口流量发现数据风暴?
通过displayinterfacebrief命令,查看所有接口下的流量,存在环路的接口上InUti和OutUti两个计数会逐步增加:
第一次查询:
[151]dispinterfaceEthernetbrief|inup
PHY:
Physical
*down:
administrativelydown
(l):
loopback
(b):
BFDdown
InUti/OutUti:
inpututility/outpututility
InterfacePHYAuto-NegDuplexBandwidthInUtiOutUtiTrunk
GigabitEthernet0/0/2upenablefull100M0%0.01%--
GigabitEthernet0/0/16upenablefull1000M0.56%0.56%1
GigabitEthernet1/0/12upenablefull1000M0.56%0.56%1
MEth0/0/1upenablehalf100M0.01%0.01%--
最后一次查询:
[151]dispinterfaceEthernetbrief|inup
PHY:
Physical
*down:
administrativelydown
(l):
loopback
(b):
BFDdown
InUti/OutUti:
inpututility/outpututility
InterfacePHYAuto-NegDuplexBandwidthInUtiOutUtiTrunk
GigabitEthernet0/0/2upenablefull100M0%0.01%--
GigabitEthernet0/0/16upenablefull1000M76%76%1
GigabitEthernet1/0/12upenablefull1000M76%76%1
MEth0/0/1upenablehalf100M0.01%0.01%--
一般情况下,查询只能看到网络的当前流量结果,此时需要和网络的正常业务流量进行比较,业务流量的带宽可以从客户的网络流量监控图获取。
如果只有一台设备的一个端口出入方向流量较大,可能是单端口环回。
如果只有一台设备的两个端口流量较大,可能是本设备两个端口环回;
如果某端口只有单方向流量,只有出或者只有入,需要重点排查,因为环路有可能在该端口的上下游设备。
通常情况下:
如果当前网络流量远大于正常业务,可能存在二层环路。
如果当前网络流量正常,没有部署广播抑制,没有二层环路。
如果当前网路流量比正常流量稍大,且部署了广播抑制,需要继续后面的第二步和第三步操作。
2.2第二步:
是否可以通过MAC-Flapping检测漂移?
MAC地址漂移即设备上一个接口学习到的MAC地址在同一VLAN中另一个接口上也学习到,后学习到的MAC地址表项的覆盖原来的表项。
导致MAC地址漂移的因为包括网络存在环路、或者非法用户进行网络攻击。
例如下图,当Switch1向两个方向同时发报文时,在Switch2上的两个不同端口都会收到该报文,从而出现MAC地址漂移。
当Switch2的两个端口出现了MAC地址漂移时,说明交换机的两个端口间可能出现了环路。
图2:
MAC-Flapping示意图
MAC地址漂移,交换机所有形态和版本均默认支持漂移,具体的MAC漂移配置主要是指漂移后是否告警,漂移后是否设置端口堵塞的功能。
由于框式交换机和盒式交换机MAC漂移检测的命令行和检测存在差异,我们分别介绍:
2.2.1框式交换机
V1R2版本,在非S系列单板上支持全局使能的MAC-Flapping检测功能(全局使能,只支持发送TRAP)。
在V1R2上,开启MAC地址漂移检测:
[Quidway]mac-flappingalarmenable
V1R3及以后的版本,在V1R2版本的基础上,新增了基于VLAN的MAC地址漂移检测、检测到MAC地址漂移后执行对应的动作策略。
在V1R3及以后的版本上,开启MAC地址漂移检测(下面两个命令均可使用):
系统视图下:
[Quidway]loop-detecteth-loopalarm-only
VLAN视图下:
[Quidway-vlan1001]loop-detecteth-loopalarm-only
各个版本的告警信息存在一定的差异,样例如下:
版本
告警信息
V1R1
不支持
V1R2
全局检测
L2IF/4/MAC_FLAPPING_ALARM:
OID1.3.6.1.4.1.2011.5.25.42.2.1.7.12Themac-addresshasflapvalue.(BaseTrapSeverity=0,BaseTrapProbableCause=0,BaseTrapEventType=4,L2IfPort=549,entPhysicalIndex=1,MacAdd=0000-0000-002b,vlanid=1001,FormerIfDescName=Ethernet3/0/2,CurrentIfDescName=Ethernet3/0/3,DeviceName=S9306-169)
VLAN检测
不支持
V1R3
全局检测
L2IFPPI/4/MAC_FLAPPING_ALARM:
OID1.3.6.1.4.1.2011.5.25.42.2.1.7.12Themac-addresshasflapvalue.(L2IfPort=0,entPhysicalIndex=0,BaseTrapSeverity=4,BaseTrapProbableCause=549,BaseTrapEventType=1,MacAdd=00e0-fc00-4447,vlanid=1001,FormerIfDescName=GigabitEthernet6/0/6,CurrentIfDescName=GigabitEthernet6/0/7,DeviceName=9306-222.159)
VLAN检测
L2IFPPI/4/MFLPVLANALARM:
OID1.3.6.1.4.1.2011.5.25.160.3.7Loopexistinvlan1001,formac-flapping.
V1R6
全局检测
L2IFPPI/4/MAC_FLAPPING_ALARM:
OID1.3.6.1.4.1.2011.5.25.42.2.1.7.12Themac-addresshasflapvalue.(L2IfPort=0,entPhysicalIndex=0,BaseTrapSeverity=4,BaseTrapProbableCause=549,BaseTrapEventType=1,MacAdd=0025-9e6e-1c55,vlanid=1001,FormerIfDescName=GigabitEthernet2/1/23,CurrentIfDescName=GigabitEthernet2/1/22,DeviceName=9303-222.157)
VLAN检测
L2IFPPI/4/MFLPVLANALARM:
OID1.3.6.1.4.1.2011.5.25.160.3.7Loopexistsinvlan1001,forflappingmac-address0025-9e6e-1c55betweenportGE2/1/23andportGE2/1/22.
2.2.2盒式交换机
盒式交换机(不包括23、27系列)V1R3及以后版本,不支持全局使能的MAC地址漂移检测,只支持基于VLAN的MAC地址漂移检测,同时支持检测到漂移后的发送TRAP、阻塞端口等动作。
开启MAC地址漂移检测:
VLAN视图下:
[Quidway-vlan1001]loop-detecteth-loopalarm-only
各个版本的告警信息存在一定的差异,样例如下:
版本
告警信息
V1R3
L2IF/4/MFLPPORTRESUME:
OID1.3.6.1.4.1.2011.5.25.160.3.7Loopexistinvlanfor(hwMflpVlanId:
"[1001]";hwMflpVlanCfgAlarmReason:
"[forflappingmac-address0000-0000-002bbetweenportGE0/0/24andportGE0/0/23]")
V1R3
L2IFPPI/4/MFLPVLANALARM:
OID1.3.6.1.4.1.2011.5.25.160.3.7Loopexistsinvlan1001,forflappingmac-address0000-0000-002bbetweenportGE0/0/24andportGE0/0/23.
V1R6
L2IFPPI/4/MFLPVLANALARM:
OID1.3.6.1.4.1.2011.5.25.160.3.7Loopexistsinvlan1001,forflappingmac-address0000-0000-002bbetweenportGE0/0/24andportGE0/0/23.
2.3第三步:
设备作为三层网关,是否存在大量ARP报文被CPCAR丢包记录?
dispclock
2011-11-3020:
04:
32
Wednesday
TimeZone:
BJadd08:
00:
00
dispcpu-defendarp-requeststatisticsslot3
CPCARonslot3
-------------------------------------------------------------------------------
PacketTypePass(Bytes)Drop(Bytes)Pass(Packets)Drop(Packets)
arp-request91720644610013391561348833897078517
-------------------------------------------------------------------------------
dispcpu-defendarp-replystatisticsslot3
CPCARonslot3
-------------------------------------------------------------------------------
PacketTypePass(Bytes)Drop(Bytes)Pass(Packets)Drop(Packets)
arp-reply381073700469254845405604025690080655
-------------------------------------------------------------------------------
dispclock
2011-11-3020:
04:
35
Wednesday
TimeZone:
BJadd08:
00:
00
dispcpu-defendarp-requeststatisticsslot3
CPCARonslot3
-------------------------------------------------------------------------------
PacketTypePass(Bytes)Drop(Bytes)Pass(Packets)Drop(Packets)
arp-request91728872610017599401348954897084705
-------------------------------------------------------------------------------
dispcpu-defendarp-replystatisticsslot3
CPCARonslot3
-------------------------------------------------------------------------------
PacketTypePass(Bytes)Drop(Bytes)Pass(Packets)Drop(Packets)
arp-reply381082540469254845405604155690080655
-------------------------------------------------------------------------------
通常情况下,ARP的交互是有序进行,短时间内不会出现超多报文的丢弃。
问题一般发生在9300作为汇聚网关场景,出现上述情况后,可能的原因是ARP的广播报文在物理环形的网络中转发,形成协议报文的风暴,当前设备上送CPU,被交换机CPU限速丢弃。
2.4第四步,当前是否可以增加配置环路检测发现环路?
框式交换机和盒式交换机都支持检测环,框式交换机的环路监测称为LoopDetection;盒式交换机的环回监测称为LoopbackDetection。
2.4.1LoopDetection(框式)
框式交换机端口配置LoopDetection功能以后,设备会从该端口发送环路检测报文,在端口所属且使能LoopDetection功能的VLAN内进行环路检测,如果设备接收到自己发送的检测报文,网络上存在环路。
框式交换机上的环路监测能检测到下面两种情况下的端口环路:
1、设备上端口收到本端口发送的检测报文。
2、设备上端口收到非本端口发送的检测报文。
开启了LoopDetection以后,用displayloop-detection命令可以查看当前环路检测的状态,用displayloop-detectioninterface命令可以查看具体某一个端口的状态。
displayloop-detection
LoopDetectionisenable.
Detectionintervaltimeis5seconds.
Followingvlansenableloop-detection:
vlan556
Followingportsareblockedforloop:
NULL
Followingportsareshutdownforloop:
NULL
Followingportsarenolearningforloop:
NULL
displayloop-detectioninterfacegigabitethernet1/0/0
Theportisenable.
Theport'sstatuslist:
StatusWorkModeRecovery-timeEnabledVLAN
-----------------------------------------------------------------------
NormalShutdown200556
告警示例如下:
版本
告警信息
V1R2
LDT/4/DetectLoop:
OID:
1.3.6.1.4.1.2011.5.25.174.3.1InterfaceIndex:
12InterfaceName:
Ethernet3/0/1VlanListLow:
VlanListHigh:
Theportdetectedloop!
V1R3
LDT/4/DetectLoop:
OID:
1.3.6.1.4.1.2011.5.25.174.3.1InterfaceIndex:
7InterfaceName:
GigabitEthernet6/0/1VlanListLow:
1000VlanListHigh:
none,Theportdetectedloop!
V1R6
LDT/4/DetectLoop:
OID:
1.3.6.1.4.1.2011.5.25.174.3.1Theportdetectedloop.(InterfaceIndex:
14InterfaceName:
GigabitEthernet1/0/1VlanListLow:
1000VlanListHigh:
none)
2.4.2LoopbackDetection(盒式)
盒式交换机端口配置LoopbackDetection功能以后,设备会从该端口发送环路检测报文,一个untagged报文和指定VLANTag报文。
盒式交换机的LoopbackDetection,只能针对设备上端口收到本端口发送的检测报文的环路。
开启了LoopDetection以后,用displayloop-detection命令可以查看环路检测功能的配置信息和接口状态信息。
displayloopback-detect
Loopback-detectisenabledinthesystemview
Loopback-detectinterval:
30
Loopback-detecksending-packetinterval:
5
InterfaceProtocolIDRecoverTimeActionStatus
--------------------------------------------------------------------------------
GigabitEthernet0/0/260230blockNORMAL
盒式交换机告警示例如下:
版本
告警信息
V1R3
LDT/4/Porttrap:
OID1.3.6.1.4.1.2011.5.25.174.3.3Loopbackdoesexistoninterface(27)GigabitEthernet0/0/22(VLAN1000),loopbackdetectstatus:
2.(1:
normal;2:
block;3:
shutdown;4:
trap;5:
nolearn)
V1R6
LDT/4/Porttrap:
OID1.3.6.1.4.1.2011.5.25.174.3.3Loopbackdoesexistoninterface(27)GigabitEthernet0/0/22(VLAN1000),loopbackdetectstatus:
2.(1:
normal;2:
block;3:
shutdown;4:
trap;5:
nolearn)
3环路问题发生后,如何快速破环?
以太网的环路,会在短时间内形成数据风暴,当端口的流量达到带宽的最大负荷,会形成链路拥塞,影响网络业务。
因此,在确认网络发生数据环路后,请按照如下步骤处理:
3.1第一步:
是否理解网络业务并明确拓扑?
环形网络拓扑一般较为复杂,可以向客户寻求网络拓扑结构全图,具体到网络的VLAN规划信息,每台设备名称、系统MAC、管理IP,本端端口名称、对端端口名称。
完整的拓扑信息是解决环路问题的首要条件,如果没有拓扑图,需要从发现环路的设备,通过逐跳登陆,记录设备信息、端口信息和VLAN信息,手动绘制完整的拓扑。
3.2第二步:
是否需要用影响最小的方法破环?
紧急破环又称手动破环,当网络风暴严重影响正常的业务时,需要在尽快恢复业务。
可以通过如下三个方法紧急破环:
(注意紧急破环不要影响远程telnet路径所在的设备、端口和VLAN,避免无法登陆。
)
3.2.1方法一:
端口退出成环VLAN破环
将成环的网络上,其中一个端口退出成环VLAN,属于影响面最小的方法。
端口
命令行
备注
Access
undodefaultvlan
可能影响下游业务。
Trunk
undoporttrunkallow-passvlanid
无
Hybrid
undohybridvlanid
不区分tagged和untagged
备注:
需要注意不要shutdown远程telnet路径所在的端口,避免无法远程登陆。
3.2.2方法二:
shutdown成环端口破环
Shutdown成环的物理端口,也可以达到破环的效果。
此时,需要保证shutdown的端口两端在全部VLAN内能够通信。
3.2.3方法三:
通过拔出成环光纤破环
通过拔出成环的光纤,可以紧急破环。
备注:
该方法可以使用shutdown端口代替,只有在设备无法登陆时才使用。
3.3第三步:
操作后确认业务是否恢复?
通过ping等测证网络通信质量,并和客户一起观察现网业务是否已经恢复。
环路拓扑存在冗余链路和配置,环路破除后业务会自行恢复,特殊情况在此不一概而论。
4环路问题发生后,如何定位问题根因?
4.1第一步:
是否由于近期施工操作引入环路?
如果环路问题是由于近期施工操作引入,可以和施工方确认,了解施工的过程,特别是新增线路连接的细节,结合拓扑结构,确认后排出物理环路。
4.2第二步:
是否由于近期修改配置引入的环路?
常见的容易配置引入环路的命令行如下:
特性
命令行
成环原因
应对方案
接口管理
Undoshutdown
端口进入转发引入环路。