STP 是什么
STP(生成树协议,IEEE 802.1D)用阻塞冗余端口的方式把物理上的环拓扑修剪成一棵无环逻辑树:既保留备用链路,又避免广播帧在环里无限循环。参与的设备每 2 秒交换一次 BPDU,通过比较桥 ID 与路径开销选出唯一的根桥,再由根桥往下算出每个端口是转发还是阻塞。它是二层网络能安全使用冗余链路的前提,没开 STP 的环网遇到广播帧会迅速演变成广播风暴。
基本信息
| 标准 | IEEE 802.1D,增强版为 802.1w(RSTP)与 802.1s(MSTP) |
|---|---|
| 防护对象 | 二层环路与广播风暴 |
| 核心概念 | 根桥、根端口、指定端口、阻塞端口、BPDU |
| 报文周期 | Hello Time 缺省 2 秒 |
| 华为默认 | 交换机缺省已开启 STP |
| 思科默认 | 缺省为 PVST+(每 VLAN 一棵树) |
典型使用场景
- 双上行接入网:两条上行链路互备,STP 阻塞其中一条,链路故障时自动切换
- 环形汇聚组网:用环拓扑提供冗余,靠 STP 保证逻辑无环
- 服务器双网卡接入:避免两块网卡打到同一二层域时形成环路
- 多个接入交换机互联:防止误接线缆造成的意外环路
- 割接与临时跳线:施工期间临时连线造成的环,由 STP 兜底
默认状态与查看
默认状态与查看
# 华为 VRP(缺省已开启 STP)
display stp brief # 各端口角色、状态、开销
display stp root # 当前根桥与本地桥 ID
display stp # 完整协议参数与计时器
# Cisco IOS
show spanning-tree summary # 模式、计时器与端口统计
show spanning-tree root # 各 VLAN 根桥信息关键概念速查
| 概念 | 含义 | 异常表现 |
|---|---|---|
| 根桥 | 逻辑树的树根,唯一 | 根桥频繁切换说明链路或优先级规划有问题 |
| 根端口 | 非根桥上到根桥方向开销最小的端口 | 角色频繁变化会引起收敛抖动 |
| 指定端口 | 每个网段负责转发的那一个端口 | 同一网段出现两个指定端口说明拓扑异常 |
| 阻塞端口 | 处于备用路径上不转发数据的端口 | 为 0 说明没有冗余,或存在环路保护生效 |
| BPDU | 交换拓扑信息的控制报文 | 收不到 BPDU 会误判拓扑,需配合环路保护 |
STP 解决的是物理环带来的二层问题,并不是『有环就有害』:设计合理的环网提供冗余路径,前提是 STP 正常工作且根桥位置是规划好的。现网应显式指定主备根桥,避免根桥靠 MAC 比较随机产生。
接入口默认参与 STP:终端插拔会造成拓扑变化通告,对全网转发时延产生影响。接入侧建议改成边缘端口并配合 BPDU 保护,把终端变动的影响限制在本地。