搞不懂,为什么启用了STP,环路还是发生了?
[Huawei-mst-region] instance 1 vlan 10
[Huawei-mst-region] instance 2 vlan 20
[Huawei-mst-region] active region-configuration
三、根桥被意外抢占
STP 的稳定性依赖于根桥位置的稳定。如果网络中突然出现一个桥优先级更低的设备,它会成为新的根桥,导致拓扑重新收敛。
常见原因:
新接入的交换机未修改默认优先级(华为默认 32768)
配置了 stp root primary 但未保存配置,重启后失效
有人误操作,执行了 stp priority 0
这会导致:
所有流量被迫经过非核心设备
转发路径非最优,甚至形成临时环路
✅ 解决方案:
明确指定核心交换机为根桥和备份根桥
配置桥优先级(建议 4096 和 8192)
启用根保护(Root Guard)
# 指定根桥
[Huawei] stp priority 4096
# 在连接接入层的端口启用根保护
[Huawei-GigabitEthernet0/0/1] stp root-protection
★⚠️ 根保护会阻塞收到更优 BPDU 的端口,防止非法根桥抢占。
四、BPDU 传输受阻:过滤或丢失
STP 依赖 BPDU 报文进行拓扑计算。如果 BPDU 被过滤或丢弃,STP 将“失明”。
常见原因:
人为配置了 ACL 过滤组播地址 01-80-C2-00-00-00(BPDU 目的 MAC)
端口启用了 bpdu-filter,导致不发送也不接收 BPDU
网络拥塞或低端设备处理能力不足,BPDU 丢包
结果:交换机误认为链路中断,重新开放阻塞端口,形成环路。
✅ 解决方案:
避免在二层网络中过滤 STP 报文
谨慎使用 bpdu-filter,仅在确认无环的边缘端口启用
使用 display stp statistics 查看 BPDU 收发情况,确认无丢包
五、端口状态异常:边缘端口误接交换机
边缘端口(Edge Port)是 STP 的优化机制,启用后端口直接进入 Forwarding 状态,加快终端接入。
但问题在于:
管理员将用户端口配置为 stp edged-port enable
用户却在该端口下联了一个小型交换机或路由器
由于边缘端口不参与 STP 计算,下联设备形成的环路无法被检测,广播帧直接泛洪。
✅ 解决方案:
启用 BPDU Guard:一旦收到 BPDU,立即禁用端口
启用 Loop Protection:防止因上游阻塞导致的非对称环路
# 配置 BPDU Guard
[Huawei-GigabitEthernet0/0/1] stp bpdu-protection
[Huawei] stp bpdu-protection # 全局启用(针对边缘端口)
# 配置环路保护
[Huawei-GigabitEthernet0/0/1] stp loop-protection
★📌 提示:stp bpdu-protection 是全局命令,保护所有边缘端口。
六、STP 稳定运行的五大检查项
★🔍 运维建议:定期执行 display stp brief 和 display stp topology-change,监控拓扑变化频率,及时发现异常。
STP 不是“一启了之”的功能,而是需要精细化配置与持续监控的防御机制。
只有真正理解其失效场景,才能让这道“二层防火墙”始终坚不可摧。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部返回搜狐,查看更多

