跳转到正文

经典 STP 收敛要等 50 秒?看 RSTP、MSTP 与链路聚合如何化解带宽浪费与慢收敛! ​

在第 13 课 · 二层环路与 STP 动机中,我们学到了经典 STP(IEEE 802.1D)如何通过选举根桥与阻塞冗余端口,防止了毁灭性的广播风暴。

但是,经典 STP 诞生于 1990 年代,带有浓厚的历史局限性:

  1. 收敛速度慢如蜗牛:当主链路断开后,被阻塞的端口要先经历 20 秒的最大老化时间(Max Age)、15 秒的 Listening 状态、15 秒的 Learning 状态,整整耗时 50 秒 才能恢复转发!在当今金融交易或视频会议中,中断 50 秒就是重大事故。
  2. 链路严重浪费:为了防环,备份链路常年处于被动阻塞休眠状态,白白浪费了一半的物理带宽。
  3. 单生成树与多 VLAN 冲突:所有的 VLAN 共享同一棵树(CST),无法按业务分流。

为了解决这三大痛点,IEEE 与华为等网络巨头先后推出了 快速生成树协议(RSTP)(快速生成树)、多生成树协议(MSTP)(多生成树) 以及 链路聚合(Eth-Trunk / LACP)(Eth-Trunk / LACP)!


学完本课后,你将能够:

  1. 对比 RSTP 与 STP 的端口角色演进:理解替代端口(Alternate)与备份端口(Backup)如何实现“阻塞链路毫秒级替补”。
  2. 推演 RSTP 的核心加速引擎——Proposal / Agreement(P/A)握手协商机制 与边缘端口(Edge Port)。
  3. 解释 MSTP 如何将多个 VLAN 映射到不同的实例(Instance)上,实现“防环与跨链路负载均衡两不误”。
  4. 掌握 华为 Eth-Trunk 链路聚合的配置与 LACP 活动端口选举三步法。

1. RSTP 的端口角色革命与状态精简 ​

IEEE 802.1w(快速生成树协议(RSTP))对经典 STP 动了一场大手术:

RSTP 端口角色与 LACP 机制图

1. 端口角色精细化(从 3 种扩充为 4 种) ​

  • 根端口(Root Port):去往根桥路径开销最小的端口(状态为 Forwarding)。
  • 指定端口(Designated Port):每个网段转发配置 BPDU 最优的端口(状态为 Forwarding)。
  • ★ 替代端口(Alternate Port):根端口的专属替补!当主根端口发生光纤断裂时,替代端口无需经历任何定时器等待,瞬间无缝升级为新根端口并直接进入转发状态!
  • ★ 备份端口(Backup Port):指定端口的专属替补!当一台交换机有两个端口连在同一个共享集线器时,其中一个成为备份端口。

2. 端口状态大瘦身(从 5 种精简为 3 种) ​

RSTP 认为以前的 Disabled、Blocking、Listening 本质上都“不转发用户数据、不学习 MAC”,完全可以合并:

经典 STP 状态RSTP 状态是否转发用户数据帧?是否学习源 MAC 地址?
DisabledDiscarding否否
BlockingDiscarding否否
ListeningDiscarding否否
LearningLearning否是(仅更新 MAC 表)
ForwardingForwarding是是(正常收发转发)

2. 闪电提速秘密:P/A 协商与边缘端口 ​

为什么 RSTP 能从 50 秒提速到 1 秒之内?两大核心技术立下了汗马功劳:

1. Proposal / Agreement(P/A)握手机制 ​

在经典 STP 中,指定端口必须傻等两次 Forward Delay(15s+15s=30s)才敢进入 Forwarding。 而在 RSTP 的点对点全双工链路中:

  1. 上游交换机新启端口,主动发送一个带有 Proposal(提议) 标志的快速 BPDU:“我想立即进入 Forwarding,你同意吗?”
  2. 下游交换机收到后,立即执行同步(Sync)操作——将自己所有的其他非边缘端口临时阻塞(确保此时绝不可能形成临时环路);
  3. 同步完成后,下游交换机立即向上游回送一个带有 Agreement(同意) 标志的 BPDU;
  4. 上游交换机收到同意,当场直接将端口置为 Forwarding! 整个握手过程仅耗费几个毫秒!

2. 边缘端口(Edge Port) ​

  • 交换机连接普通电脑、服务器、打印机的端口,物理上根本不可能连接其他交换机形成环路。
  • 管理员将这些端口配置为 stp edged-port enable。
  • 神效:网线一插上,立即直接跳入 Forwarding 状态,无需任何协商!终端电脑开机秒级获取 IP。如果边缘端口意外收到了对端发来的 BPDU,它会自动丧失边缘属性,蜕化为普通端口重新计算。

3. MSTP:多生成树与 VLAN 负载均衡 ​

在传统的 STP/RSTP 网络中,无论交换机上划分了多少个 VLAN,全网只有唯一的一棵生成树(CST)。

  • 结果:交换机 A 到 B 的某根百兆光缆被阻塞了,那么 VLAN 10、VLAN 20、VLAN 30 的所有数据包都绝对走不了这根光缆,造成巨大的带宽闲置。

IEEE 802.1s(多生成树协议(MSTP)) 引入了**多实例(Multiple Instances)**机制:

  • 将全网数千个 VLAN 绑定到几个独立的**生成树实例(MSTI)**中:
    • 实例 1(Instance 1):绑定 VLAN 10 ~ 20,选举交换机 SW1 为根桥,链路 L1 转发、L2 阻塞;
    • 实例 2(Instance 2):绑定 VLAN 30 ~ 40,选举交换机 SW2 为根桥,链路 L2 转发、L1 阻塞!
  • 收益:既在各自的实例内部消除了广播环路,又让所有的物理链路都承载了实际业务流量,实现了真正的链路利用率 100% 与负载均衡!

4. 链路聚合(Eth-Trunk)与 LACP 动态协商 ​

除了靠生成树防环,如果两台核心交换机之间的业务流量暴涨,1 根 10G 网线不够用了怎么办?

答案是采用 链路聚合(Eth-Trunk / LACP)(Eth-Trunk,以太网链路捆绑):

  • 将最多 8 根或更多物理网线,捆绑成一个虚拟的逻辑高带宽端口。
  • 双重价值:不仅带宽翻倍(如 4 根 10G 捆绑为 40G),而且任意拔掉 1 根网线,业务无感知毫秒级平滑分流到剩余网线上(冗余高可用)。

LACP 动态模式与活动端口选举三步法 ​

在企业生产网中,严禁使用粗暴的手工汇聚,必须启用 LACP(Link Aggregation Control Protocol, IEEE 802.3ad) 协议:

  1. 第一步:选出“主动端(Actor)”交换机:
    • 两端交换机互相发送 LACPDU 报文;
    • 比较两端的 【系统 LACP 优先级】(取值范围 0 ~ 65535,缺省 32768,数值越小越优);
    • 若系统优先级打平,则进一步比较两端的 【系统 MAC 地址】(数值越小越优)。胜出的一方成为主动端!
  2. 第二步:由主动端选定“活动接口(Active Port)”:
    • 假设两端插了 4 根线,但管理员配置了最大活动链路数 max active-linknumber 2(2 主 2 备);
    • 完全由主动端说了算!主动端根据自己这边的 【接口 LACP 优先级】+【接口编号】(越小越优)挑选出排名前 2 的接口作为活动转发端口。
  3. 第三步:对端镜像同步:
    • 被动端严格跟随主动端的选定结果,将对应的 2 个接口置为活动状态,剩余 2 个接口置为非活动状态(Standby 冷备)。

华为 VRP 设备配置示例: ​

text
[Huawei] interface Eth-Trunk 1
[Huawei-Eth-Trunk1] mode lacp-static              # 配置为静态 LACP 模式
[Huawei-Eth-Trunk1] max active-linknumber 2       # 设置最大活动链路数为 2
[Huawei-Eth-Trunk1] trunkport GigabitEthernet 0/0/1 to 0/0/4 # 将 4 个物理口加入聚合组
[Huawei] lacp priority 100                        # 修改本端系统优先级抢占主动权

5. 课后核心测验 ​

华为 ICT 大赛 2024–2025 省初赛 · 真题 · 单选

在快速生成树协议(RSTP)中,定义了哪些端口角色?

华为 ICT 大赛 2024–2025 省初赛 · 真题 · 单选

在以太网链路聚合(Eth-Trunk)采用 LACP 静态协商模式时,两端设备首先通过比较什么参数来选定“主动端(Actor)”交换机?

6. 下一步学习 ​

搞定了二层的多生成树与链路聚合,我们终于为局域网打下了固若金汤的高带宽无环基础。

但是,现代网络不是单一平面的二层局域网,而是由成百上千个三层子网交织而成的大型综合网络。

路由器是如何在毫秒之间获知千里之外的路径变化的?静态路由与动态路由是如何在底层分工的?

下一课,让我们正式进入动态路由的世界:第 33 课 · 控制平面与数据平面:动态路由与网络收敛!