STP 实验:二层环路为什么危险,如何看懂根桥和端口状态?
通过 STP/RSTP 的根桥选举、端口角色和状态变化,建立二层环路防护的实验排查框架。
二层交换网络为了冗余,常常会连接多条链路。但二层没有 TTL 机制,一旦形成环路,广播帧可能被无限转发,最终导致广播风暴、MAC 地址表抖动和业务中断。
STP 的作用就是在保留冗余链路的同时,逻辑阻塞部分端口,让二层网络形成无环拓扑。
先看根桥
STP 会选举根桥。根桥是生成树计算的中心,其他交换机会基于到根桥的路径开销选择根端口。
display stp
如果没有人为规划,根桥可能被随机选到接入层设备上。生产网络中通常应该把核心交换机设置为根桥或备份根桥。
stp root primary
再看端口角色
常见端口角色包括根端口、指定端口和阻塞端口。实验中最重要的是看清楚哪条链路被阻塞,以及这个结果是否符合拓扑设计。
display stp brief
如果所有冗余链路都转发,就要警惕 STP 没有启用、模式不一致或配置被错误关闭。
RSTP 的意义
RSTP 相比传统 STP 收敛更快,更适合现代网络。实验时可以观察链路断开后的收敛速度,理解协议从阻塞到转发的状态变化。
stp mode rstp
常见问题
STP 实验最容易忽略两件事:一是根桥位置不合理,二是边缘端口没有合理规划。连接普通终端的端口通常不应该参与复杂的生成树收敛。
对于接入口,可以考虑边缘端口配置,但前提是确认该端口不会接入交换机。
排障口诀
先看根桥,再看端口角色;先确认拓扑,再判断阻塞是否合理。不要看到链路被阻塞就认为是故障,STP 的正常工作结果往往就是阻塞一部分冗余链路。
实验目标
STP 实验建议用三台交换机构成三角形拓扑。这个拓扑天然存在二层环路,适合观察 STP 如何阻塞冗余链路。
SW1 ----- SW2
\ /
\ /
SW3
实验目标不是让所有链路都转发,而是确认网络没有环路,同时保留备用链路。当主链路故障时,备用链路可以重新参与转发。
配置建议
生产网络中,根桥位置应该可控。通常核心交换机作为主根桥,汇聚交换机作为备份根桥。
stp enable
stp mode rstp
stp root primary
在备份设备上可以配置:
stp root secondary
这样做的好处是拓扑收敛结果可预测,不会因为设备 MAC 地址或默认优先级导致根桥落在不合适的位置。
验证重点
观察 display stp brief 时,要重点看三类信息:根桥是谁,当前设备到根桥的根端口是哪一个,哪些端口处于丢弃或阻塞状态。
如果根桥不是预期设备,先检查优先级配置。如果所有端口都转发,要检查 STP 是否被关闭,或者是否所有链路都没有加入同一个二层域。
故障演练
可以手动断开当前转发链路,观察被阻塞端口是否进入转发状态。这个演练很重要,因为它能证明 STP 不只是“挡住环路”,还承担冗余切换。
恢复链路后,再观察拓扑是否回到预期状态。如果频繁出现端口状态变化,要警惕链路抖动或接入设备异常。
生产注意点
边缘端口配置要谨慎。连接 PC、服务器等终端的接口可以启用边缘端口特性,加快接入速度;但如果该接口后来接入了交换机,就可能带来环路风险。
所以生产环境要配合 BPDU 防护、根保护等机制,避免接入层错误连接影响全网。
参考资料
- 华为 HCIA-Datacom V1.0 实验手册
- IEEE 802.1D / 802.1w 相关标准
