二层网络中的环路是怎么产生的?
一、什么是“环路”?
简单说:
当一个数据包,在网络中永远绕圈转,出不去,也没人丢,就成了“环路”。

常见后果:
二、什么是二层环路?
关键字:交换机、广播包、MAC 学习、没有TTL机制

场景特征:
- 全都是交换机(L2设备)连接
- 没有路由器参与
- 使用的是广播或泛洪(如 ARP)
- 设备没有 TTL 机制(不像IP那样能“跳数”自动丢弃)
数据成环过程(图示):
我们假设网络结构如下:

上面三台交换机构成了一个物理环。
假如一台 PC1 发了一个 ARP 请求(广播包),如下流程会发生:
- PC1 → Switch1:广播ARP
- Switch1 → Switch2、Switch3:泛洪ARP
- Switch2 → Switch3:也泛洪ARP
- Switch3 → Switch1:继续广播
结果:一个包在网络中不断转圈,没人丢它。
这就是二层环路。
典型二层环路现象:
- 网络周期性掉线、突然卡死
- ARP 表不稳定
- MAC 表跳来跳去,学习不稳定
- Ping 通,但网页打不开 / 服务访问中断
- 打开 display mac-address / display arp,发现一堆漂移现象
三、那什么是三层环路?
关键字:路由、IP包、策略路由/静态路由/OSPF不收敛

场景特征:
- 有三层设备(L3交换、路由器)参与
- 出现了IP包在路由表中不断跳转的现象
- 一般不会造成广播风暴,但会造成性能问题或路由震荡
示例结构:
+---------+ +---------+
| RouterA |--------| RouterB |
+---------+ +---------+
\ /
\ /
\ /
\+--------+/
|RouterC|
+--------+
三个三层设备组成了一个逻辑路由环。
如果出现以下配置失误:
- RouterA → 到10.1.1.0/24 走 RouterB
- RouterB → 到10.1.1.0/24 走 RouterC
- RouterC → 到10.1.1.0/24 走 RouterA
则 IP 包会这样循环:
→ A → B → C → A → B → C…
但因为 IP 层是有 TTL 的,跳够 255 次后,最终会被丢弃。 所以三层环路不会导致广播风暴,但会带来:
- Ping 丢包
- Tracert 显示跳来跳去
- 路由表不稳定
- OSPF/BGP 等协议疯狂更新 / flap
- 用户访问缓慢或失败
四、物理成环就一定有环路吗?
不是!关键是有没有“逻辑环路”。
举例:堆叠、链路聚合、LACP、IRF 这些结构在物理上是“环”,但控制平面能识别这些链路并形成单一逻辑路径,就不会发生数据环路。
另外,STP 等防环协议正常运行时,哪怕物理成环,也不会数据成环。
五、谁的影响更大?二层 or 三层?
★二层环路的影响更致命,更难查。
原因:
- 二层广播包无法被 TTL 控制,一旦开始转圈,只能靠人为断链或 STP/环路检测阻断
- 无法定位入口点:抓包发现全网泛洪,往往查不出是谁发起的
- 会拖垮整网,包括核心交换机、DHCP、网关、ARP 全部异常
- 三层环路大多因配置错误,能通过 Tracert 定位,影响范围受限,TTL能兜底
六、防环机制有哪些?
我们分别说二层、三层的应对手段。
二层防环机制:

三层防环机制:

阅读剩余
版权声明:
作者:SE_YJ
链接:https://www.cnesa.cn/6678.html
文章版权归作者所有,未经允许请勿转载。
THE END