环路保护解决什么问题
光纤单通、收发器半坏、网卡只发不收,这类「单向链路」会造成一个隐蔽的故障:原本被生成树阻塞的端口收不到对端的 BPDU,超时后误判为「对端不再存在」,于是进入转发状态——环路就此形成。环路保护(Loop Guard)在根端口与备用端口上监视 BPDU,一旦超时未收到就把端口置为 Discarding(不一致状态),宁可让这条链路停摆,也不让它变成环路。
基本信息
| 适用平台 | 华为 VRP 与 H3C Comware(接口下 stp loop-protection)、思科 IOS(接口下 spanning-tree guard loop) |
|---|---|
| 作用端口 | 根端口、备用端口(阻塞态端口) |
| 触发条件 | 该端口在预期时间内未收到 BPDU |
| 触发结果 | 端口进入 Discarding(不一致)状态,不再转发 |
| 恢复方式 | 重新收到 BPDU 后自动恢复,部分平台的恢复行为随版本不同 |
| 与根保护关系 | 两者目标不同,配在同一端口上相互冲突 |
典型使用场景
- 光缆隐患场景:单纤故障或收发器单向劣化时,避免误判引发的二层环路
- 双上联冗余链路:备用链路阻塞期间的保护,防止它因收不到 BPDU 而误开
- 接入上行口:上联设备端口单向故障时的兜底保护
- 大面积广播风暴的根因防御:单向链路引起的环路往往影响面极大
- 排障期间的自保:怀疑存在单向链路时先开保护,避免故障扩大
华为 VRP
华为 VRP
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] stp loop-protection # 根端口/备用端口上开启
[Huawei-GigabitEthernet0/0/1] stp root-protection # 注意:与环路保护不要同时配
<Huawei> display stp interface GigabitEthernet0/0/1 # 看保护状态与端口角色
<Huawei> display stp brief # 端口是否被置为 Discarding思科 IOS
思科 IOS
SW-A(config)# interface GigabitEthernet1/0/1
SW-A(config-if)# spanning-tree guard loop # Loop Guard
! 同一接口上不要再配 spanning-tree guard root
SW-A# show spanning-tree interface Gi1/0/1 detail # 查看是否处于 loop-inconsistent
SW-A# show spanning-tree inconsistentports # 集中查看不一致端口H3C Comware
H3C Comware
[H3C] interface GigabitEthernet1/0/1
[H3C-GigabitEthernet1/0/1] stp loop-protection
<H3C> display stp interface GigabitEthernet1/0/1
<H3C> display stp brief
! 保护触发后端口状态异常但物理链路仍为 up,这是正常表现三种保护对比
| 保护机制 | 防什么 | 触发动作 |
|---|---|---|
| 环路保护 | 单向链路导致阻塞口误开 | 端口进入 Discarding 不一致状态 |
| 根保护 | 下游设备抢占根桥 | 端口进入 Discarding,收到合规 BPDU 后恢复 |
| BPDU 保护 | 边缘端口收到 BPDU(私接设备) | 端口关闭或告警,需人工或自动恢复 |
保护触发时端口物理状态仍是 up,只是生成树状态异常,很容易被误认为「链路正常却不通」。排查生成树相关故障时,一定要看端口在生成树里的角色与状态,而不只看接口的 up/down。