在企业网络中,有一个“看不见的英雄”,它默默地防止网络因为二层环路而陷入瘫痪。
这个英雄,就是我们今天要聊的——生成树协议(Spanning Tree Protocol,STP)。
可能很多人第一次接触 STP 的时候,只觉得名字挺“文艺”:生成树,好像是计算机科学里的某种算法。确实没错,它的原理就来自图论中的“最小生成树算法”。

但在网络世界中,STP 可是实打实的救火队员——它能防止环路,让交换机网络稳如老狗。
那问题来了:生成树协议也有不同“版本”?这些版本之间到底有什么区别?为什么现在企业更倾向用 MSTP 而不是传统的 STP?
今天,我们就来一篇搞懂所有生成树协议的“全家谱”,从老祖宗 STP 到新一代 MSTP,一次性捋清它们的历史演进、技术原理和实际应用。
我们先从“为什么”讲起。
在一个典型的二层网络中,交换机之间往往存在冗余链路。
冗余链路的作用很简单:防止单链路故障导致全网瘫痪。
举个例子:
假设有三台交换机——SW1、SW2、SW3——互相都连接在一起形成一个“环”。
从稳定性角度看,这很安全;但从二层广播的角度,这可是灾难。
因为以太网没有 TTL(生存时间),广播帧在环路中会无限循环。
这时候你会看到 CPU 飙高、广播风暴、设备掉线——整个网络直接陷入“风暴模式”。
生成树协议的作用就是——
在存在冗余链路的网络中,自动选出一棵“无环的树”,让网络既有备份链路,又能防止环路。
说白了,它就是在多个链路中“临时禁用一部分”,让拓扑呈树状。
一旦主链路出问题,被禁用的那条会自动激活,网络又能自愈恢复。
这就是“生成树”的核心思想。
STPSTP(Spanning Tree Protocol)是生成树协议的鼻祖,由 IEEE 在 1985 年 定义为 802.1D 标准。
它的发明者是网络界传奇人物——Radia Perlman(被称为“互联网之母”)。

STP 的基本原理主要有三步:
1. 选举根桥(Root Bridge)每台交换机都有一个“Bridge ID”,由优先级(默认 32768)+ MAC 地址组成。
整个网络中 Bridge ID 最小的那台,就是“根桥”。
2. 计算最短路径各交换机计算到根桥的路径代价(Cost),路径代价与端口速率有关。
例如:
• 10 Mbps:100• 100 Mbps:19• 1 Gbps:4• 10 Gbps:2每台交换机选出“到根桥最短路径”的那条端口作为“根端口(Root Port)”。
3. 阻塞多余链路除了通往根桥的最优路径,其它端口会被“阻塞”(Blocking 状态),以防止环路。
当网络拓扑发生变化时,STP 会重新计算树,但这个过程非常慢——收敛时间长达 30~50 秒。 这在现代网络中几乎是不可接受的。
RSTP随着网络规模和业务实时性要求提高,传统 STP 的 50 秒收敛实在太慢了。
于是 IEEE 在 2001 年推出了 RSTP(Rapid Spanning Tree Protocol)。
RSTP 是 STP 的升级版,标准号为 802.1w。
它的最大改进点在于——显著加快了网络收敛速度,从几十秒缩短到几秒内。

除了 STP 的三种角色(根端口、指定端口、阻塞端口),RSTP 增加了:
• 备用端口(Alternate Port):备用路径,非根端口备用链路。• 备份端口(Backup Port):用于同一交换机内部的冗余接口。2. 状态减少STP 有五种端口状态:Blocking、Listening、Learning、Forwarding、Disabled。
RSTP 直接简化为三种:Discarding、Learning、Forwarding。
3. 握手机制(Proposal/Agreement)RSTP 采用点对点快速协商机制,避免等待老 STP 那种慢吞吞的定时器超时。
简单来说:
RSTP 能在链路断开的 1~2 秒内完成收敛,这对实时业务(如语音、视频)非常关键。
MSTP随着 VLAN 技术的发展,一个网络里往往有几十、上百个 VLAN。
如果每个 VLAN 都运行一棵独立的生成树(像 Cisco 的 PVST+ 那样),那交换机 CPU 就要被“累死”。

于是诞生了更智能的——MSTP(Multiple Spanning Tree Protocol),标准号 802.1s。
MSTP 的核心思路是:
将多个 VLAN 映射到少数几个生成树实例(MST Instance, MSTI)中,从而兼顾灵活性和性能。
比如:
• VLAN 10、20、30 → 运行在 MSTI 1• VLAN 40、50 → 运行在 MSTI 2• 其它 VLAN → 运行在 CST(Common Spanning Tree)这样就可以在不同 VLAN 间实现流量负载均衡:
某些 VLAN 用一条链路转发,另一些 VLAN 用另一条链路。
MSTP 的三个重要概念:1. CST(Common Spanning Tree)整个网络的公共生成树,用于不同 MST 区域之间通信。
2. MSTI(Multiple Spanning Tree Instance)每个实例对应一棵生成树,可映射多个 VLAN。
3. MST 区域(Region)拥有相同配置名称、版本号、VLAN 映射表的交换机组成一个区域。
MSTP 既兼容 STP,又能多实例优化负载,成为目前企业网络中最主流的版本。
几乎所有主流交换机(Cisco、华为、H3C、Juniper)都支持。
PVST+ 与 Rapid-PVST+Cisco 作为业界老大哥,早年不甘心只用 IEEE 标准版 STP,于是搞出了自己的“强化版本”:

所以在大规模 VLAN 环境下,更推荐使用 MSTP,而不是 PVST+。
主要版本对比