搞不懂,为什么启用了STP,环路还是发生了?

admin 3264 2026-07-15 01:08:02

[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年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部返回搜狐,查看更多

上一篇
下一篇
相关文章