STP是如何防环的?

一、出环路之前:你可能没注意这几个坑

大多数环路现场,问题都出在下面这些细节上:

1. STP 根桥没指定

默认 STP 会自动选“桥 ID 最小”的做根,结果一台小接入交换机当了根,整个拓扑炸裂。

2. 接入交换机没开 BPDU 保护

某台带防火墙的接入口收到 BPDU,误当根桥,整网漂移。

3. 私接双网口设备 / 路由器

用户自己接了个交换机,两个口插在两个接入上,直接物理环路 + 广播风暴

4. STP 协议类型乱用

有的用 STP,有的 RSTP,有的 MSTP,跨协议邻居识别不了,阻塞口失效,问题更复杂。

STP是如何防环的?

配置STP功能组网图

二、真出事了,怎么用 display 找出问题?

一共三个关键命令,排 STP 问题非常高效:

1. 看根桥是谁

display stp brief

输出重点看这几项:

  • Root Bridge ID → 看是不是你想指定的核心设备
  • Bridge ID → 当前设备自己的 ID
  • Role → 每个端口的角色(根口、指定口、替代口)
  • State → 转发、阻塞、监听?

实战 tips:

  • 如果你在一台汇聚/接入设备上发现“我自己是 Root”,赶紧排查是不是你忘了在核心上加 stp root primary

2. 看邻居口状态

display stp interface GigabitEthernet 1/0/1

这个命令能单看某一个接口的 STP 状态,尤其适合排查接入口是不是误收 BPDU、状态反常。

输出关注这些点:

  • Port Role(口的角色)
  • Port State(状态,是否阻塞)
  • Peer Bridge ID(邻居是谁)

如果你发现一个非汇聚/核心口处于“转发”状态,那就警觉了 ——

有可能已经出环了。

3. 看 BPDU 报文统计

display stp statistics

这个命令可以看到 BPDU 收发次数,尤其适合判断某口是否在收到异常 BPDU,比如:

  • 某接入口 BPDU 收包数突然猛增
  • 某汇聚口 BPDU 丢包严重,可能是环路中断

三、推荐配置模板:防环机制要全上

出了事才补洞,不如一开始就配好这几个:

1. 手动指定根桥

stp mode mstp
stp region-configuration
region-name campus
instance 1 vlan 1 to 4094
active region-configuration
quit

# 在核心设备上
stp root primary

2. 打开 BPDU 保护

在接入层强烈建议:

interface GigabitEthernet 1/0/1
stp edged-port enable
stp bpdu-protection

一旦收到 BPDU,自动把口 shutdown,避免接入设备误成根桥。

3. 环路检测(loopback-detect

interface GigabitEthernet 1/0/2
loopback-detect enable

有时候不是 STP,而是本地环,loopback-detect 能快速识别自环。

四、排查思路

[全网异常]

[登录任意设备 display stp brief]

[根桥是谁?正常吗?]

[检查有异常的口 → display stp interface ...]

[找出收到异常 BPDU 的口,锁定接入设备]

[用 loopback-detect 辅助检查环路口]

[现场排查 + 补齐防环机制]

写在最后

STP 不难,难的是怎么高效排查

别等全网挂了才临时百度,“STP 是个啥?”

只要——

  • 指定了根桥
  • 配好了 BPDU 防护
  • 掌握了 display stp 的三板斧

那再复杂的环路问题,基本也能分分钟定位、解决。

阅读剩余
THE END