环路到底是怎么来的?二层环路、三层环路全讲透了

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

你听说过“环路导致网络风暴”,也可能听过“某地网崩是因为环路”,但:

  • 二层环路和三层环路到底有啥区别?
  • 是不是只要物理成环就一定会出问题?
  • 到底该怎么防?用 STP 就够了吗?

今天我们就来系统讲明白这个话题。

一、什么是“环路”?

简单说:

当一个数据包,在网络中永远绕圈转,出不去,也没人丢,就成了“环路”。

常见后果:

  • 网络广播风暴(Broadcast Storm)
  • CPU 被打满,设备控制面失联
  • MAC 表不断刷新,出现 MAC 抖动
  • 网速慢、丢包、页面打不开、ARP 无法建立
  • 严重时网关“假死”,整个园区瘫痪

二、什么是二层环路?

关键字:交换机、广播包、MAC 学习、没有TTL机制

场景特征:

  • 全都是交换机(L2设备)连接
  • 没有路由器参与
  • 使用的是广播或泛洪(如 ARP)
  • 设备没有 TTL 机制(不像IP那样能“跳数”自动丢弃)

数据成环过程(图示):

我们假设网络结构如下:

上面三台交换机构成了一个物理环

假如一台 PC1 发了一个 ARP 请求(广播包),如下流程会发生:

  1. PC1 → Switch1:广播ARP
  2. Switch1 → Switch2、Switch3:泛洪ARP
  3. Switch2 → Switch3:也泛洪ARP
  4. 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 三层?

★二层环路的影响更致命更难查

原因:

  1. 二层广播包无法被 TTL 控制,一旦开始转圈,只能靠人为断链或 STP/环路检测阻断
  2. 无法定位入口点:抓包发现全网泛洪,往往查不出是谁发起的
  3. 会拖垮整网,包括核心交换机、DHCP、网关、ARP 全部异常
  4. 三层环路大多因配置错误,能通过 Tracert 定位,影响范围受限,TTL能兜底

六、防环机制有哪些?

我们分别说二层、三层的应对手段。

二层防环机制:

三层防环机制:

一句话总结

环路不是“有没有环”,而是“数据有没有在环里瞎转”。

搞定环路防护,本质就是——

  • 控住广播
  • 控住学习
  • 控住路径

原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值