目录
[二、STP(生成树协议)------ IEEE 802.1D](#二、STP(生成树协议)—— IEEE 802.1D)
[三、RSTP(快速生成树协议)------ IEEE 802.1w](#三、RSTP(快速生成树协议)—— IEEE 802.1w)
[1. 端口角色扩展](#1. 端口角色扩展)
[2. 端口状态简化](#2. 端口状态简化)
[3. BPDU 优化](#3. BPDU 优化)
[四、MSTP(多生成树协议)------ IEEE 802.1s](#四、MSTP(多生成树协议)—— IEEE 802.1s)
[1. 协议选择场景](#1. 协议选择场景)
[2. 关键配置注意事项](#2. 关键配置注意事项)
[3. 常见故障排查](#3. 常见故障排查)
[4. 术语对应表](#4. 术语对应表)
一、协议总览
生成树协议的核心目标是消除交换网络环路 ,同时提供冗余链路备份,避免广播风暴、MAC 地址表震荡等问题。协议演进历程:STP(基础)→ RSTP(快速收敛)→ MSTP(负载均衡),三者兼容,逐步优化性能。
二、STP(生成树协议)------ IEEE 802.1D
核心功能
- 阻断冗余链路,将环形网络修剪为无环树形结构。
- 故障时激活备份链路,恢复网络连通性。
关键术语
- BPDU:桥协议数据单元,分配置 BPDU(传递拓扑信息)和 TCN BPDU(拓扑变更通知)。
- 桥 ID(BID):16 位优先级(4096 的倍数,0-61440)+ 48 位 MAC 地址,用于选举根桥(BID 最小者)。
- 根路径开销(RPC):端口到根桥的累计路径开销,默认按 IEEE 802.1t 标准计算。
- 端口 ID:4 位端口优先级(默认 128,0-240 步长 16)+ 12 位端口号。
- 定时器:Hello Time(2s,发送 BPDU 间隔)、Forward Delay(15s,端口状态迁移延时)、Max Age(20s,BPDU 最大老化时间)。
端口角色
- 根端口(Root Port):非根桥中离根桥最近的端口(转发状态)。
- 指定端口(Designated Port):网段中转发数据到根桥的端口(转发状态)。
- 预备端口(Alternate Port):非根、非指定端口(阻塞状态)。
- Disable 端口:未启用 STP 的端口。
端口状态
| 状态 | 功能描述 |
|---|---|
| Disable | 不转发、不参与 STP 计算 |
| Blocking | 不转发、不学习 MAC、接收 BPDU、不发送 BPDU |
| Listening | 不转发、不学习 MAC、接收 + 发送 BPDU、参与 STP 计算 |
| Learning | 不转发、学习 MAC、接收 + 发送 BPDU、参与 STP 计算 |
| Forwarding | 转发数据、学习 MAC、接收 + 发送 BPDU、参与 STP 计算 |
拓扑计算步骤
- 选举根桥(BID 最小)。
- 非根桥选举根端口(RPC 最小→对端 BID 最小→对端端口 ID 最小→本端端口 ID 最小)。
- 每个网段选举指定端口(RPC 最小→本端 BID 最小→本端端口 ID 最小)。
- 阻塞预备端口。
拓扑变更机制
- 故障触发:根桥故障 / 链路故障,非根桥等待 BPDU 老化后重新选举。
- 通知流程:下游交换机发送 TCN BPDU→上游回复 TCA 确认→根桥发送 TC BPDU→全网加速 MAC 地址表老化(15s)。
不足
- 收敛慢(初始化 / 故障恢复需 30-50s)。
- 端口状态与角色划分不清晰。
- 拓扑变更机制复杂,效率低。
- 所有 VLAN 共享一棵生成树,带宽浪费。
三、RSTP(快速生成树协议)------ IEEE 802.1w
核心优化
基于 STP 改进,实现秒级收敛,兼容 STP。
关键更新
1. 端口角色扩展
- 新增备份端口(Backup Port):指定端口的备份(同网段)。
- 预备端口(Alternate Port):根端口的备份(不同网段)。
2. 端口状态简化
| STP 状态 | RSTP 状态 | 功能描述 |
|---|---|---|
| Disable | Discarding | 不转发、不学习 MAC |
| Blocking | Discarding | 同上 |
| Listening | Discarding | 同上 |
| Learning | Learning | 不转发、学习 MAC、参与 STP 计算 |
| Forwarding | Forwarding | 转发数据、学习 MAC、参与 STP 计算 |
3. BPDU 优化
- 仅保留配置 BPDU(RST BPDU),取消 TCN/TCA,用 Flag 位标识拓扑变更(TC 位)。
- 非根桥主动发送 BPDU(无需等待根桥),超时时间为 3 个 Hello Time(6s)。
快速收敛机制
- 根端口快速切换:旧根端口失效后,最优 Alternate 端口直接转为根端口(Forwarding 状态)。
- P/A(Proposal/Agreement)机制:点对点全双工链路中,指定端口通过 "提议 - 确认" 协商,无需等待 Forward Delay,直接进入 Forwarding。
- 边缘端口:连接终端的端口,直接进入 Forwarding,不触发拓扑变更(收到 BPDU 后转为普通端口)。
- 次等 BPDU 立即回应:阻塞端口收到次优 BPDU 时,直接发送本地最优 BPDU,加速收敛。
保护机制
| 保护类型 | 作用 |
|---|---|
| BPDU 保护 | 边缘端口收到 BPDU 后立即关闭,防止恶意攻击导致网络震荡(可配置自动恢复)。 |
| 根保护 | 指定端口收到更优 BPDU 时,进入 Discarding 状态,避免根桥被替换。 |
| TC-BPDU 泛洪保护 | 限制单位时间内 TC-BPDU 处理次数,避免 MAC 地址表频繁删除。 |
| 环路保护 | 根端口 / Alternate 端口收不到 BPDU 时,进入 Discarding 状态,防止环路产生。 |
基础配置命令
plaintext
stp enable // 启用STP/RSTP
stp mode rstp // 切换为RSTP模式
stp root primary // 配置为根桥(优先级0)
stp edged-port enable // 配置边缘端口
stp bpdu-protection // 启用BPDU保护
stp root-protection // 启用根保护
stp loop-protection // 启用环路保护
四、MSTP(多生成树协议)------ IEEE 802.1s
核心功能
兼容 STP/RSTP,支持多棵生成树实例(MSTI),实现 VLAN 流量负载均衡。
关键术语
- MST 域:相邻交换机组成的区域,共享相同的 VLAN-MSTI 映射、区域名称、修订级别。
- MSTI(多生成树实例):每个实例对应 1 个或多个 VLAN(1 个 VLAN 仅对应 1 个 MSTI),实例 0 为 IST(内部生成树)。
- CIST(公共内部生成树):跨 MST 域的统一生成树,由 IST(域内)和 CST(域间)组成。
- Master 端口:MST 域中连接总根的端口(CIST 上为根端口)。
- 域边缘端口:连接其他 MST 域或 STP/RSTP 设备的端口。
报文特点
- 在 RST BPDU 基础上新增 MST 专有字段(MST 配置标识、MSTI 配置信息等)。
- 域内传递 MSTI 拓扑信息,域间按 CIST 规则交互。
拓扑计算
- 计算 CIST:跨域统一生成树,确定总根和域间路径。
- 计算 IST:域内实例 0 的生成树,确定域根和域内路径。
- 计算 MSTI:每个实例独立计算生成树,实现 VLAN 流量分担。
核心优势
- 解决单生成树的带宽浪费问题(不同 VLAN 可走不同冗余链路)。
- 避免部分 VLAN 路径不通、次优路径等问题。
- 继承 RSTP 快速收敛特性。
五、补充知识点
1. 协议选择场景
- 小型网络(无复杂 VLAN 规划):STP(简单稳定)。
- 中小型网络(需快速收敛):RSTP(兼顾性能和配置复杂度)。
- 大型网络(多 VLAN、需负载均衡):MSTP(主流选择)。
2. 关键配置注意事项
- MST 域配置:同一域内的交换机必须保证 "区域名称、修订级别、VLAN-MSTI 映射" 完全一致。
- 定时器配置:不建议单独修改 Hello Time/Forward Delay/Max Age,推荐用
stp bridge-diameter配置网络直径(自动优化定时器)。 - 边缘端口配置:仅用于连接终端(PC、服务器),避免连接交换机(可能导致环路)。
3. 常见故障排查
- 根桥选举异常:检查交换机优先级配置,确保核心交换机优先级最低。
- 收敛慢:确认链路类型为点对点全双工(RSTP P/A 机制依赖),边缘端口配置正确。
- 环路产生:检查 STP 保护机制是否启用,排除 BPDU 丢失(链路拥塞、单向链路)问题。
4. 术语对应表
| 协议 | 核心改进点 | 标准号 |
|---|---|---|
| STP | 基础环路消除 | IEEE 802.1D |
| RSTP | 快速收敛、端口角色 / 状态优化 | IEEE 802.1w |
| MSTP | 多实例、VLAN 负载均衡 | IEEE 802.1s |