HUWEI交换机如何判断环路故障
定义
以太网交换网络中为了提高网络可靠性,通常会采用冗余设备和冗余链路,然而现网中由于组网调整、配置修改、升级割接等原因,经常会造成数据或协议报文环形转发,不可避免的形成环路。如图1所示,三台设备两两相连就会形成环路。当设备未部署环路保护协议或者组网配置发生变更时,环形组网中就可能会产生广播风暴。
图1 以太网交换网络冗余链路组网图
二层环路最大的危害就是会产生广播风暴,以太网是一个支持广播的网络,在没有环路的环境中,广播包在网络中以泛洪的形式被送达到网络的每一个角落,以保证每个设备都能够接受到它。在带宽允许的情况下,每个网桥在接收到广播报文以后,都会向除接收端口以外的其他所有接口转发这个广播包,一旦网络中有环路,这种简单的广播机制就会引发灾难性后果。
环路中一个广播报文被反复转发了千万次,产生了广播风暴并且很快达到或接近端口线速,并迅速消耗链路带宽。根据转发规则,这些广播报文不仅仅只是在环路上无限转发,环路设备还会向其他端口转发一份,这样整个网络中都充斥着大量重复广播报文。如果全网络都采用千兆端口互连,那么几乎每一条链路上都充斥着1000M/s的广播报文,正常的数据报文将很难再获得转发的机会。
二层网络设备处于同一个广播域下,广播报文在环路中会反复持续传送,无限循环,形成广播风暴,引发MAC地址表不稳定等故障现象,进而影响正常业务,导致用户通信质量较差,甚至通信中断。
为防止环路出现,并保证网络的可靠性,交换机设备上通常会部署一些破环协议。目前S系列交换机支持的二层环路破环协议主要有:
- STP/RSTP/MSTP
- RRPP
- SEP
- Smart Link
- ERPS
除了二层环路破环协议,S系列交换机同时支持环路检测技术,主要的环路检测技术有:
- Loop Detection
- Loopback Detection
总体思路
所有故障皆“事出有因”,故障的发生一定是在一个稳定的正常运行的网络中,某一网络环节发生了变化而引起的,这些诱发网络产品生故障的变化包括:
- 网络调整:包括但不限于组网调整、配置修改、升级割接等操作;
- 网络环境发生变化:包括但不限于网络风暴、特定节日/促销活动/智能终端导致用户行为变化,网络设备电源/温度环境发生变化、传输光缆被切断、夏令时跳变、微波受大雨/大雾等其后影响、洪水/火灾/地震/雷击等外界不可抗力;
- 网络设备发生故障:包括但不限于软件发生缺陷、硬件老化故障(单板异常、光纤光模块故障)等。
所有这些诱发故障的内在因素绝大多数都有其“外在异常表现”,具体会反映在特定网元的告警、日志、流量统计、端口状态等信息中。因此故障快速定位的关键在于,如何有效而快速的通过事发时间、影响范围、所做操作及故障网络范围的网元基本信息的查看,快速发现这些“外在异常表现”所在的点,进而锁定故障网元节点,找出问题根因。
如下图所示,网络中出现二层环路通常会有如下现象,如果分析现网问题发现存在以下异常表现中的一个或者多个,则网络中存在二层环路可能性较大。
图2 二层环路常见异常表现
环路故障诊断步骤
判断网络中是否存在二层环路,一般可以使用查看接口带宽流量、查看MAC漂移告警、部署环路检测、查看CPU占用率四种方法进行确认。这四种方法没有严格的操作顺序,为更加准确判断故障属性,可以使用其中的一种或多种方法来进行问题定位。

如何快速破环
以太网环路会在短时间内形成数据风暴,当端口的流量达到带宽的最大负荷,会形成链路拥塞,影响网络业务。因此,在确认现网存在数据环路后,您需要第一时间按照如下步骤处理,尽快恢复数据业务。
- 1、梳理网络拓扑并识别环路。
环形网络拓扑一般较为复杂,可以寻求到网络拓扑结构全图,具体到网络的VLAN规划信息,每台设备名称、系统MAC、管理IP,本端端口名称、对端端口名称。
完整的拓扑信息是解决环路问题的首要条件,如果没有拓扑图,需要从发现环路的设备,通过逐跳登录,记录设备信息、端口信息和VLAN信息,手动绘制完整的拓扑。
- 2、紧急破环。
紧急破环的操作前提是不要影响远程登录设备所涉及的中间设备、端口和VLAN等,避免引入其他问题,出现设备脱管、无法远程登录的现象。
紧急破环又称手动破环,当网络风暴严重影响正常的业务时,需要使用此方法尽快恢复业务。您可以通过如下三个方法紧急破环。
- 端口退出已成环的VLAN
在已经成环的网络上,将其中一个端口退出成环VLAN,属于影响面最小的破环方法。根据端口类型可执行如下表所示相关命令。
注意:紧急破环的操作前提是不要影响远程登录设备所涉及的中间设备、端口和VLAN等,避免引入其他问题,出现设备脱管、无法远程登录的现象。
端口类型 |
命令行 |
备注 |
---|---|---|
Access |
undo port default vlan |
执行此命令后,可能会影响下游设备业务,请谨慎操作。 |
Trunk |
undo port trunk allow-pass vlan id |
无 |
Hybrid |
undo port hybrid vlan id |
执行此命令后,该端口将不区分tagged和untagged报文。 |
- Shutdown已经成环的端口
- Shutdown已经成环的物理端口,也可以达到破环的效果。
- 执行此动作之前,您需要确保在接口视图下执行命令shutdown关闭接口后,不会影响正常数据业务,即端口两端设备在所有VLAN内仍能通信。
- 拔出成环光纤破环
- 通过拔出成环的端口的连接光纤,也可以紧急破环。
- 该方法可以使用Shutdown端口代替,只有在设备无法远程登录时才使用。
- Shutdown已经成环的端口
- 3、确认业务已经恢复。
- 通过Ping等操作测证网络通信质量,并观察现网业务是否已经恢复。
- 环路拓扑存在冗余链路和配置,因此环路破除后业务一般会自行恢复。
HUWEI交换机如何判断环路故障的更多相关文章
- IEEP部署企业级网络工程-网络故障-环路故障
网络故障 1.环路故障 概念 1).以太网是一个支持广播的网络, 在没有环路的环境中,广播报文在网络中以泛洪的形式被送达到网络的第一个角落,以保证每个设备都能够接受到它.每台二层设备在接收到广播报文以 ...
- H3C交换机引发的奇葩故障
设备:H3C S5120-28P-SI 故障:某个交换机的接口速率只有100Mbps. 描述:这个故障还是很特别的,因为按普通的测试办法很难第一时间判断是交换机的固件问题,我也是做了几乎所有外围设备和 ...
- 【交换机】交换机RLDP(环路检测&链路检测)功能介绍及配置说明
功能简介RLDP 全称是Rapid Link Detection Protocol,是锐捷网络自主开发的一个用于快速检测以太网链路故障的链路协议.一般的以太网链路检测机制都只是利用物理连接的状态,通过 ...
- Going in Cycle!! UVA - 11090(二分+判断环路 )
题意: 给定一个n个点m条边的加权有向图,求平均权值最小的回路 解析: 首先肯定是想到找出环路 然后..呵..呵..呵呵... 显然不现实!! 二分大法好 ....去猜结果 然后带入验证 ...真是 ...
- 判断无向图是否有环路的方法 -并查集 -BFS
可以利用并查集或者带颜色标记的BFS(来自算法导论)判断. 首先介绍第一种,用并查集来判断: 首先初始化所有元素的根为-1,-1代表根节点,接下来对于图中的每一条边(v1,v2)都并入集合,并入的方式 ...
- Cisco交换机堆叠与HSRP之间的区别
随着Internet的日益普及,人们对网络的依赖性也越来越强.这同时对网络的稳定性提出了更高的要求,人们自然想到了基于设备的备份结构,就像在服务器中为提高数据的安全性而采用双硬盘结构一样.核心交换机是 ...
- 交换机广播风暴,STP生成树协议,端口聚合
交换机(工作在数据链路层)具有学习功能: 一台刚重启的交换机上的mac地址表为空,根据数据包的来源,目的地来学习MAC地址与端口的映射关系映射关系,对于MAC地址表之中已有的就不管了,对未知端 ...
- 【培训】交换机VLAN
为了解决用交换机做LAN互联无法限制广播的问题,出现了VLAN技术,把一个LAN划分为多个逻辑的“LAN”-VLAN. VLAN技术将一个物理的LAN逻辑地划分为不同的广播域,每一个VLAN包含一组有 ...
- ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总
一.设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source ( ...
随机推荐
- 【优雅代码】01-lombok精选注解及原理
[优雅代码]01-lombok精选注解及原理 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点 ...
- 编写Java程序,通过给定可变参数方法,计算任意给定的多个int类型数据之和
返回本章节 返回作业目录 需求说明: 通过给定可变参数方法,计算任意给定的多个int类型数据之和. 实现思路: 定义可变形参方法,参数类型是int类型. 定义变量 sum 接受最终的和. 通过 for ...
- Hadoop编译打包记录
Hadoop编译打包,基于2.7.2版本的源码. # 打包过程中需要使用到的工具 java -version mvn -version ant -version type protoc type cm ...
- linux centos7 修改文件启动报错如何拯救
系统无法启动 CentOS启动的时候读条已经读满,但是没有反应,按下f5键跳出启动列表,最后一条信息:A start job is running for /etc/rc.d/rc.local Com ...
- [服务器部署] Flask + virtualenv + uWSGI + Nginx 遇到的问题
1.配置好了Flask + virtualenv +uWSGI,启动uWSGI并调试,网页显示 Internal Server Error 参考:https://www.cnblogs.com/cle ...
- Jquery通过遍历数组给checkbox赋默认值
需求:有一个数组:(北京菜,粤菜),checkbox如下: 现在想通过遍历这个数组,使数组里包含的值,在checkbox选中 代码: var flavors = new Array([北京菜 , 粤菜 ...
- Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口
更好阅读体验:Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口 问题 Java集合源码为什么设计为:「实现类继承了抽象类,同时实现抽象类实现的接口?」 看着List 集合的UML ...
- python 迭代器链式处理数据
pytorch.utils.data可兼容迭代数据训练处理,在dataloader中使用提高训练效率:借助迭代器避免内存溢出不足的现象.借助链式处理使得数据读取利用更高效(可类比操作系统的资源调控) ...
- HBase环境搭建(hbase1.2.5+zookeeper3.4.6)
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6627857018461880836/ 系统版本,Hadoop已安装完成 Mysql安装完成 Hive版本 Sqoo ...
- hyperf 如何对AMQP消息进行手动消费?
转发自白狼栈:查看原文 在使用 hyperf 官方自带的 AMQP 队列时你会发现,不需要我们再额外启动进程对消息进行消费.这是因为默认情况下,使用 @Consumer 注解时,hyperf 会为我们 ...