eNSP 实战难度 · 进阶

STP 生成树图解:冗余链路如何不形成环路

STP 生成树协议原理图解,一张图看懂根桥选举、端口阻塞与破环,附华为 eNSP 配置与验证。

#STP#生成树#二层#eNSP

先看效果

STP生成树阻塞冗余端口形成无环拓扑的图
三台交换机形成环路,STP 阻塞其中一条链路,逻辑上变成树

为什么需要 STP

为了保证可靠,交换网络里通常会有冗余链路(环)。但二层网络最怕环:一个广播包在环里无限循环,几秒钟就能把带宽和 CPU 打满,这叫广播风暴——网络瞬间瘫痪。

STP(生成树协议)就是解决环的:它在有环的物理拓扑里,逻辑上选出一棵无环的树,把多余的链路端口堵塞(Block)起来。一旦主链路断了,被堵塞的端口自动打开接管。

原理图解

看上面这张图,三台交换机(SW1、SW2、SW3)首尾相连成环:

  • STP 先选根桥(Root Bridge):BID 最小的交换机,通常你手动把核心交换机设为根;
  • 每台非根交换机选一个根端口(离根最近的口);
  • 每条链路选一个指定端口(Designated Port,负责转发);
  • 剩下的端口变成 Alternate/Blocked,不转发数据,只收 BPDU。

图中红色虚线那条链路的端口被阻塞,物理上是环,逻辑上变成了树。SW3 上行的备用链路一旦主链路故障就顶上,几秒内恢复。

eNSP 完整配置

三台 S5700 组成环,核心 SW1 指定为根桥。

# ===== SW1(核心,设为根桥)=====
<Huawei> system-view
[Huawei] sysname SW1

[SW1] stp mode stp
[SW1] stp root primary        # 把 SW1 设为根桥
[SW1] stp priority 0          # 或者直接改优先级(越小越优先,取 4096 的倍数)

[SW1] save

# ===== SW2 =====
[SW2] stp mode stp
[SW2] stp root secondary     # 设为备份根桥

# ===== SW3 =====
[SW3] stp mode stp
# 其余交换机用默认优先级即可

华为交换机默认开启 STP,模式默认是 MSTP。想做纯 STP 实验就显式配 stp mode stp。

验证

# 查看根桥信息与自己的角色
[SW1] display stp

# 查看每个端口的角色(Root/Designated/Alternate)
[SW1] display stp brief

display stp brief 能看到每个接口的 Role:根口是 ROOT,指定口是 DESIGNATED,被阻塞的是 ALTE。display stp 里能看到 CIST Root/ERPC,根桥的 Bridge ID 会显示为 0 号优先级。

常见问题

Q: 怎么确认环路被破了? A: display stp brief 里有 ALTE(Alternate)角色的端口,就说明它被阻塞了,环被破开。

Q: STP 收敛太慢(30-50 秒)怎么办? A: 换 RSTP(快速生成树)或 MSTP。华为默认 MSTP,stp mode mstp,收敛可以到亚秒级。如果想要毫秒级切换,可以配合链路聚合或堆叠。

Q: 为什么不能把所有线都保持转发? A: 二层帧没有 TTL,环里的包会永远转下去。三层协议有 TTL 会丢弃,二层没有,所以必须在二层就把环破掉。

下一步

网络基础(VLAN、路由、安全、可靠性)都通了,最后一块拼图是让终端可以自动获取 IP。看 DHCP 四步交互。