如何解决交换机的环路问题

环路的产生,一般是在一个有环的网络中,某个设备发送了广播的数据包,结果数据包在环路中进行了无限循环。

比如上面的网络拓扑图中, 三台交换机关闭stp协议后。就形成了一个二层的环路。当pc1 设置为自动获取ip地址,这个时候,pc1 就发送一个广播,LSW2 收到后这个广播数据包后。进行的动作是,把这个数据包除去收到数据包的接口(GE 0/0/3)外的其他接口发送除去。同样LSW1和LSW2也执行相应的操作。这样数据包就无限的在环路中进行了传递。

正常的网络是什么样子

比如还是上面的拓扑图,开启生成树后,就不会形成一个环路。破环的方式就是,阻塞掉某些端口,比如阻塞了LSW3中 g0/0/1 端口。这样,LSW2收到的数据只能传递给 LSW1, LSW1 收到的数据只能传递给 LSW3,这样就不会有环路了,数据包也不会无限传递。

如何发现或者检测出环路

  1. 网络变慢或瘫痪
  2. CPU利用率异常升高
  3. 端口指示灯快速闪烁
  4. 日志中出现大量广播风暴告警

当网络出现上述现象时,可能表明网络中已形成环路。环路产生的本质原因是:交换机在无防环机制的网络中,广播数据包会在环路中无限循环转发。通过检查交换机接口的广播流量统计(特别是异常激增的广播包),可以快速定位环路问题。

<Huawei>display interface g0/0/1 | inc Broadcast
      Broadcast: 0 packets
      Broadcast: 0 packets

三台设备都关闭stp

[Huawei]
May 31 2025 22:34:45-08:00 Huawei DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5
.25.191.3.1 configurations have been changed. The current change number is 4, th
e change loop count is 0, and the maximum number of records is 4095.

观察环路的现象


[Huawei]display interface g0/0/1 | inc Broadcast
      Broadcast: 10926 packets
      Broadcast: 0 packets

[Huawei]display interface g0/0/1 | inc Broadcast
      Broadcast: 13597 packets
      Broadcast: 0 packets

可以看到短时间内产生的大量广播数据包。着通常就是环路。

如何防止环路

  1. 开启stp生成树协议 (一般接入、汇聚、核心交换机都支持stp)
  2. 如果 接入层 下挂的设备有环路问题,就在接入层的端口上开启广播抑制。
storm-control broadcast min-rate 1000 max-rate 2000