STP 进阶:RSTP 与 MSTP
随着网络规模的扩大,传统 STP (802.1D) 暴露出收敛慢(30-50秒)、无法负载分担等问题。为了解决这些痛点,业界推出了 RSTP (Rapid STP) 和 MSTP (Multiple STP)。
1. 协议演进对比
| 协议 | 标准 | 全称 | 收敛速度 | 负载分担 | 特点 |
|---|---|---|---|---|---|
| STP | 802.1D | Spanning Tree Protocol | 慢 (30s-50s) | 不支持 | 所有 VLAN 共享一棵树 (CST),链路利用率低。 |
| RSTP | 802.1w | Rapid Spanning Tree Protocol | 快 (秒级) | 不支持 | 引入 P/A 机制,增加边缘端口,实现秒级收敛。 |
| MSTP | 802.1s | Multiple Spanning Tree Protocol | 快 (继承RSTP) | 支持 | 将多个 VLAN 映射到一个实例 (Instance),实现流量的负载均衡。 |
2. RSTP (Rapid STP) 的改进
RSTP 在 STP 的基础上进行了大幅改进,核心目标是解决 "慢" 的问题。
2.1 端口角色的细化
RSTP 新增了两种端口角色,作为备份:
- Alternate Port (AP):根端口 (RP) 的备份。当 RP 故障时,AP 立即切换为 RP 并转发。
- Backup Port (BP):指定端口 (DP) 的备份。通常用于 Hub 环境(现已少见)。
2.2 P/A 机制 (Proposal/Agreement)
传统 STP 依赖计时器(Forward Delay 30s)被动等待收敛。RSTP 引入了 P/A 机制,通过主动协商,让链路立即进入转发状态。
P/A 快速收敛过程
上游交换机 (DP)
下游交换机 (RP)
1. 上游发送 Proposal BPDU (P=1)
2. 下游收到 Proposal,阻塞除边缘端口外的所有端口 (Sync)
3. 下游确认自己连接的是 DP,发送 Agreement BPDU (A=1)
4. 上游收到 Agreement,端口立即进入 Forwarding
5. 下游端口立即进入 Forwarding
- 效果:只要是点对点全双工链路,收敛时间可缩短至 毫秒级。
2.3 边缘端口 (Edge Port)
连接终端(PC、服务器)的端口不会产生环路。将其配置为 边缘端口 后:
- 不参与生成树计算。
- Up 后立即进入 Forwarding,无需等待 30s。
- 不触发拓扑变更 (TC)。
3. MSTP (Multiple STP) 的负载分担
RSTP 虽然快,但所有 VLAN 仍然共用一棵树。如果 Link A 被阻塞,那么 VLAN 10 和 VLAN 20 的流量都只能走 Link B,导致 Link A 带宽浪费。
MSTP 引入了 实例 (Instance) 和 域 (Region) 的概念,解决了 "资源利用率" 的问题。
3.1 核心概念:Instance (MSTI)
MSTP 不再为每个 VLAN 生成一棵树(那是 Cisco PVST+ 的做法,资源消耗太大),而是将多个 VLAN 映射到一个 Instance (MSTI)。
- Instance 0:默认实例,包含所有未划分的 VLAN。
- Instance 1:我们可以手动将 VLAN 10, 20 映射进去。
- Instance 2:我们可以手动将 VLAN 30, 40 映射进去。
3.2 负载分担示例
通过配置不同的 Instance 使用不同的根桥,可以实现流量分担:
- MSTI 1 (VLAN 10, 20):以 SW1 为根,阻塞 SW2-SW3 链路。流量走左边。
- MSTI 2 (VLAN 30, 40):以 SW2 为根,阻塞 SW1-SW3 链路。流量走右边。
MSTI 1 (VLAN 10,20)
SW1 (Root)
SW2
SW3
MSTI 2 (VLAN 30,40)
SW1
SW2 (Root)
SW3
3.3 MSTP 配置实战 (华为)
要实现 MSTP,互联的交换机必须属于同一个 MST 域 (Region)。 同一域的三要素:域名 (Region Name)、修订级别 (Revision Level)、VLAN 映射表 (VLAN Mapping Table) 必须完全一致。
bash
# 进入 MST 域视图
[Huawei] stp region-configuration
# 1. 配置域名
[Huawei-mst-region] region-name RG1
# 2. 配置 VLAN 映射关系
[Huawei-mst-region] instance 1 vlan 10 20
[Huawei-mst-region] instance 2 vlan 30 40
# 3. 激活配置 (必须执行!)
[Huawei-mst-region] active region-configuration
# 4. 针对不同实例配置根桥
[Huawei] stp instance 1 root primary # SW1 是实例 1 的主根
[Huawei] stp instance 2 root secondary # SW1 是实例 2 的备根4. 总结
| 需求 | 推荐协议 | 原因 |
|---|---|---|
| 简单网络,无负载分担需求 | RSTP | 配置简单,收敛快,兼容性好。 |
| 大型网络,多 VLAN 负载分担 | MSTP | 华为设备默认模式。利用率高,但配置稍复杂。 |
| 异构网络对接 | MSTP | 标准协议,兼容性最好。 |
