目录
[第一章:铺垫------为什么需要 MSTP?](#第一章:铺垫——为什么需要 MSTP?)
[第三章:MSTP 的端口状态和角色](#第三章:MSTP 的端口状态和角色)
[第四章:MSTP 是如何工作的?](#第四章:MSTP 是如何工作的?)
为什么会产生MSTP:单点故障---冗余---环路---STP(STP收敛速度过慢)---RSTP(单一生成树)---MSTP
第一章:铺垫------为什么需要 MSTP?
想象一个公司,有一座三层楼的办公楼:
-
1楼: 行政部、财务部
-
2楼: 研发部
-
3楼: 市场部
公司要组建内部网络,为了保证网络稳定(一条线路断了,另一条还能用),网络工程师在所有楼层之间都铺设了两条网线,形成一个"环形"网络。
第一代网络:没有规则(广播风暴)
一开始,所有交换机都傻傻地转发所有数据。结果,一个数据包在这个环里跑个不停,越复制越多,最终网络被垃圾数据堵死,彻底瘫痪。这叫广播风暴。
第二代网络:STP(生成树协议)------ 交通警察
为了解决环路问题,引入了 STP 这个"交通警察"。它的核心思想是:在环状网络中,逻辑上"阻塞"掉一些端口,把"环"变成"树",这样就没有环路了。
-
它做了什么? STP 通过一系列选举,在所有线路中只留下一条主要道路(活动链路),其他备份道路全部放上"此路不通"(阻塞状态)的牌子。
-
结果: 网络稳定了,没有环路了。太好了!
-
问题:
-
资源浪费: 明明有两条物理线路,却只用一条。备份线路平时完全闲置。
-
所有部门走一条路: 无论行政部访问财务部,还是研发部访问市场部,所有数据流量都挤在那唯一的一条活动链路上。路口容易拥堵,效率低下。
-
第三代网络:RSTP与PVST+ ------ 更快、更智能的专用车道
第一步:先提升速度------RSTP
STP最大的问题之一是收敛太慢 (从检测到故障到网络恢复,可能需要30-50秒)。RSTP应运而生,它改变了端口状态和角色机制 ,实现了秒级甚至亚秒级收敛。
RSTP的核心改进:
-
端口角色更丰富: 除了根端口、指定端口,增加了替代端口 和备份端口,可以快速接替失效端口的工作。
-
端口状态简化: 从STP的5种状态(禁用、阻塞、监听、学习、转发)简化为3种 :丢弃、学习、转发。
-
主动的确认机制: 使用P/A(提议/同意)握手机制,可以快速将端口过渡到转发状态。
-
更快的BPDU处理: BPDU像"心跳包",超时未收到就立即触发重新计算。
比喻:
-
STP 像老式交通系统:道路坏了,交警要层层上报,等命令下来再指挥绕行,反应很慢。
-
RSTP 像智能交通系统:每个路口都有智能传感器,道路一坏,相邻路口立即自动调整信号灯,指挥车辆绕行,反应极快。
第二步:再增加负载均衡能力------PVST+
PVST+(按VLAN生成树协议+)本质上是思科的私有协议,它将RSTP的快速收敛机制与每VLAN一棵树的理念结合起来。
所以更准确的描述是:
-
RSTP 解决了 "慢" 的问题(收敛速度)。
-
PVST+ 在RSTP的基础上,解决了 "笨" 的问题(所有流量走一条路)。
PVST+ = RSTP的快速引擎 + 每VLAN一棵树的分流策略
PVST+的完整优缺点
工作原理(比喻升级版):
现在马路不仅有了专用车道 (每个VLAN一棵树),而且每个路口都配备了智能交通系统 (RSTP)。一旦某条车道发生事故(链路故障),智能系统会在1秒内通知所有相关车辆(VLAN流量)绕行。
优点:
-
负载均衡: 不同VLAN流量走不同路径。
-
快速收敛: 得益于RSTP,拓扑变化后恢复极快(通常1-2秒)。
-
资源利用: 备份链路被有效利用。
致命缺点(依然存在):
-
CPU/内存开销巨大: 每个VLAN独立运行一棵生成树。如果有100个VLAN,交换机就要维护100棵完整的生成树。每棵树都有自己的BPDU需要发送和处理。
-
管理复杂: 网络管理员需要为大量VLAN配置和维护生成树参数,工作量巨大。
-
扩展性差: 当VLAN数量达到数百甚至上千时,PVST+的开销会成为网络的性能瓶颈。
第二章:主角登场------MSTP(多生成树协议)
现在,我们急需一个既能让流量分流 (负载均衡),又不会造成太大负担 的协议。这就是 MSTP!
1. MSTP 的核心思想是什么?------ "分组管理"
MSTP 说:没必要每个VLAN都单独一棵树!把拓扑结构相同的VLAN"分组",同一个组共享一棵生成树就行了。
继续用公司的例子:
-
拓扑发现: 其实整个公司的物理线路就两种走向:左半边的线路和右半边的线路。
-
分组:
-
实例1(Instance 1): 让所有需要走左边线路 的VLAN(比如行政部VLAN10、财务部VLAN11)加入这个组。这个组对应的树叫 MSTI 1(多生成树实例1)。
-
实例2(Instance 2): 让所有需要走右边线路 的VLAN(比如研发部VLAN20、市场部VLAN30)加入这个组。这个组对应的树叫 MSTI 2。
-
实例0(Instance 0): 这是一个特殊实例,叫做 IST(内部生成树) 。所有默认的、没有被手动分配的VLAN,都自动属于这个实例。 它也是连接整个MST区域的基础。
-
这样一来:
-
交换机只需要计算 2棵生成树(MSTI 1 和 MSTI 2),而不是50棵。负担大大减轻!
-
流量依然实现了负载均衡。
-
备份机制完好无损。
2. MSTP 的三个关键概念
-
MST 区域(Region):
-
是什么: 一组具有相同MST配置的交换机的集合。
-
配置包括什么(三要素):
-
区域名(Name): 比如"Beijing-Office"。
-
修订等级(Revision): 一个数字,比如1。当您更改区域配置时,需要递增这个号码,以便其他交换机识别配置已更新。
-
VLAN-实例映射表(VLAN-to-Instance Mapping): 这就是前面说的"分组名单",明确规定了哪个VLAN属于哪个实例。
-
-
重要性: 只有配置完全相同的交换机,才能在同一个MST区域里"对话",计算同一套生成树。配置不同的交换机被视为属于另一个区域。
-
-
MST 实例(Instance):
-
是什么: 就是前面提到的"组"。每个实例独立运行一棵生成树算法。
-
种类:
-
IST(实例0): 默认实例,所有VLAN的"默认归属地"。
-
MSTI 1-4094: 用户自定义的实例。我们可以创建多个来实现复杂的负载均衡。
-
-
-
CST(公共生成树)和 CIST(公共内部生成树):
-
当网络中有多个 MST 区域 ,或者还存在运行 普通STP/RSTP 的旧交换机时,MSTP 需要将这些不同的部分"粘合"成一个整体,确保整个大型网络没有环路。
-
CIST 就是这棵覆盖整个网络的、总的生成树。它由每个区域的IST相互连接而成。
-
**第三章:**MSTP 的端口状态和角色
MSTP的端口角色是其实现快速收敛 和复杂拓扑管理的核心。它继承并扩展了RSTP的角色。
1. 基础角色(来自RSTP)
这些是每棵生成树实例(包括IST和各个MSTI)内部存在的角色:
| 端口角色 | 英文 | 作用 | 在您的图中可能的位置 |
|---|---|---|---|
| 根端口 | Root Port (RP) | 非根桥 上,去往根桥路径最优 的端口。是交换机接收BPDU的端口,也是转发数据的主出口。 | 假设SW1是根桥,那么SW2和SW3上指向SW1的端口就是RP。 |
| 指定端口 | Designated Port (DP) | 在每个网段(链路) 上,负责向下游转发BPDU和数据的端口。根桥的所有活动端口都是DP。 | 根桥SW1连接SW2和SW3的两个端口都是DP。SW2和SW3之间链路上,也会有一个被选为DP。 |
| 替代端口 | Alternate Port (AP) | 根端口的备份 。它从其他交换机 收到了更优的BPDU,因此被阻塞。如果根端口失效,AP会立刻接管成为新的RP。 | 在SW2或SW3上,如果有一个端口收到来自第三方(图中未画出)的更好BPDU,它就会成为AP。 |
| 备份端口 | Backup Port (BP) | 指定端口的备份 。它从自己所在的交换机的另一个端口收到了BPDU(表明本交换机在这个网段上有两个端口),因此被阻塞。如果指定端口失效,BP会接管。 | 如果SW2通过两条链路连接同一个下游交换机(形成自环),其中一条链路的端口就会成为BP。 |
简单记忆:
-
AP是RP的备胎(来自"别人"的更好BPDU)
-
BP是DP的备胎(来自"自己"的BPDU)
2. MSTP 特有角色(用于连接区域)
这些角色是MSTP为了管理多个区域 而引入的,主要出现在区域边界。
| 端口角色 | 英文 | 作用 | 关键理解 |
|---|---|---|---|
| Master端口 | Master Port | 在MST区域中,通往CIST总根桥(可能在另一个区域)的最短路径 上的那个端口。它是区域通往外部世界的"大门" 。一个区域只有一个Master端口。 | 这是MSTP中最重要的特有角色。它不属于任何一个MSTI,而是属于CIST。负责将区域内部的IST连接到外部网络。 |
| 域边缘端口 | Region Boundary Port | 处于MST区域边界 、连接另一个MST区域或运行其他STP协议设备的端口。Master端口一定是域边缘端口,但域边缘端口不一定是Master端口(如果该区域有多个出口)。 | 它是区域间BPDU格式转换的"翻译官"。在这个端口上,既处理MSTP格式的BPDU,也处理STP/RSTP格式的BPDU。 |
3. 便利角色
| 端口角色 | 说明 |
|---|---|
| 边缘端口 | 直接连接终端设备 (如PC、服务器)的端口。这类端口不参与STP计算,直接进入转发状态,可加快网络接入速度。如果收到BPDU,会立刻失去边缘端口身份。 |
4. 端口状态(3 种)
- Forwarding(转发):既转发用户流量,也处理生成树协议报文。
- Learning(学习):不转发用户流量,但学习 MAC 地址,为转发做准备(默认 15 秒,RSTP/MSTP 中可快速跳过)。
- Discarding(丢弃):既不转发用户流量,也不学习 MAC 地址,仅处理生成树协议报文(对应 STP 的 Blocking 和 Listening 状态)。
第四章:MSTP 是如何工作的?
-
选举总根桥: 整个网络(所有区域)会选举出一个根交换机,作为CIST的根。
-
选举区域根桥: 在每个MST区域内部,为每个MSTI(包括IST)选举一个区域根交换机。这个根桥负责引导本区域内的该实例流量。
-
端口角色确定: 和STP类似,在每个实例中,端口会被赋予不同角色:
-
根端口(RP): 去往根桥方向的最佳端口。
-
指定端口(DP): 在网段上负责转发数据的端口。
-
替代端口(AP): 备份端口,被阻塞。
-
(MSTP继承自RSTP,端口状态更少,收敛更快)
-
-
VLAN流量转发: 交换机根据数据帧所属的VLAN,查"分组名单"(VLAN-实例映射表),决定这个数据应该走哪棵实例树(MSTI),然后按照那棵树的端口角色决定从哪个端口转发出去。
第五章:实验
(1)实验目的及步骤
实验目的:
-
熟悉RSTP的应用场景
-
掌握RSTP的配置方法
实验步骤:
1.创建VLAN
2.设置trunk
-
配置MSTP
-
配置主根网桥和备用根网桥
-
查看实例1的接口角色
-
查看实例2的接口角色
(2)实验拓扑及配置

LSW1:
<Huawei>system-view
Huawei\]undo info-center enable \[Huawei\]sysname LSW1 \[LSW1\]port-group 1 //创建端口组1 \[LSW1-port-group-1\]group-member g0/0/1 \[LSW1-port-group-1\]group-member g0/0/7 \[LSW1-port-group-1\]group-member g0/0/6 \[LSW1-port-group-1\]group-member g0/0/4 \[LSW1-port-group-1\]port link-type trunk \[LSW1-GigabitEthernet0/0/1\]port link-type trunk \[LSW1-GigabitEthernet0/0/7\]port link-type trunk \[LSW1-GigabitEthernet0/0/6\]port link-type trunk \[LSW1-GigabitEthernet0/0/4\]port link-type trunk \[LSW1-port-group-1\]port trunk allow-pass vlan all \[LSW1-GigabitEthernet0/0/1\]port trunk allow-pass vlan all \[LSW1-GigabitEthernet0/0/7\]port trunk allow-pass vlan all \[LSW1-GigabitEthernet0/0/6\]port trunk allow-pass vlan all \[LSW1-GigabitEthernet0/0/4\]port trunk allow-pass vlan all \[LSW1-port-group-1\]quit \[LSW1\]vlan batch 10 20 30 40 50 60 70 80 \[LSW1\]stp enable \[LSW1\]stp mode mstp //切换至MSTP \[LSW1\]stp region-configuration //进入MST域配置视图 \[LSW1-mst-region\]region-name hcip //配置 MST 域的名称为hcip \[LSW1-mst-region\]revision-level 1 //配置 MST 域的修订级别为 1;所有同域交换机的修订级别必须一致,用于区分不同的 MST 域配置版本 \[LSW1-mst-region\]instance 1 vlan 10 30 50 70 \[LSW1-mst-region\]instance 2 vlan 20 40 60 80 \[LSW1-mst-region\]active region-configuration //激活当前配置的 MST 域参数(域名称、修订级别、VLAN - 实例映射) \[LSW1-mst-region\]quit \[LSW1\]stp instance 1 root primary //根网桥 \[LSW1\]stp instance 2 root secondary //备网桥 \[LSW1\]display stp instance 1 brief \[LSW1\]display stp instance 2 brief **LSW2:** \
system-view \[Huawei\]undo info-center enable \[Huawei\]sysname LSW2 \[LSW2\]vlan batch 10 20 30 40 50 60 70 80 \[LSW2\]port-group 1 \[LSW2-port-group-1\]group-member g0/0/1 \[LSW2-port-group-1\]group-member g0/0/7 \[LSW2-port-group-1\]group-member g0/0/5 \[LSW2-port-group-1\]group-member g0/0/2 \[LSW2-port-group-1\]port link-type trunk \[LSW2-GigabitEthernet0/0/1\]port link-type trunk \[LSW2-GigabitEthernet0/0/7\]port link-type trunk \[LSW2-GigabitEthernet0/0/5\]port link-type trunk \[LSW2-GigabitEthernet0/0/2\]port link-type trunk \[LSW2-port-group-1\]port trunk allow-pass vlan all \[LSW2-GigabitEthernet0/0/1\]port trunk allow-pass vlan all \[LSW2-GigabitEthernet0/0/7\]port trunk allow-pass vlan all \[LSW2-GigabitEthernet0/0/5\]port trunk allow-pass vlan all \[LSW2-GigabitEthernet0/0/2\]port trunk allow-pass vlan all \[LSW2\]undo info-center enable \[LSW2\]stp enable \[LSW2\]stp mode mstp \[LSW2\]stp region-configuration \[LSW2-mst-region\]region-name hcip \[LSW2-mst-region\]revision-level 1 \[LSW2-mst-region\]instance 1 vlan 10 30 50 70 \[LSW2-mst-region\]instance 2 vlan 20 40 60 80 \[LSW2-mst-region\]active region-configuration \[LSW2-mst-region\]quit \[LSW2\]stp instance 1 root secondary //备网桥 \[LSW2\]stp instance 2 root primary //根网桥 \[LSW2\]display stp instance 1 brief \[LSW2\]display stp instance 2 brief **LSW3:** \ system-view \[Huawei\]undo info-center enable \[Huawei\]sysname LSW3 \[LSW3\]vlan batch 10 20 30 40 50 60 70 80 \[LSW3\]port-group 1 \[LSW3-port-group-1\]group-member g0/0/4 \[LSW3-port-group-1\]group-member g0/0/3 \[LSW3-port-group-1\]group-member g0/0/5 \[LSW3-port-group-1\]port link-type trunk \[LSW3-GigabitEthernet0/0/4\]port link-type trunk \[LSW3-GigabitEthernet0/0/3\]port link-type trunk \[LSW3-GigabitEthernet0/0/5\]port link-type trunk \[LSW3-port-group-1\]port trunk allow-pass vlan all \[LSW3-GigabitEthernet0/0/4\]port trunk allow-pass vlan all \[LSW3-GigabitEthernet0/0/3\]port trunk allow-pass vlan all \[LSW3-GigabitEthernet0/0/5\]port trunk allow-pass vlan all \[LSW3-port-group-1\]quit \[LSW3\]undo info-center enable \[LSW3\]stp enable \[LSW3\]stp mode mstp \[LSW3\]stp region-configuration \[LSW3-mst-region\]region-name hcip \[LSW3-mst-region\]revision-level 1 \[LSW3-mst-region\]instance 1 vlan 10 30 50 70 \[LSW3-mst-region\]instance 2 vlan 20 40 60 80 \[LSW3-mst-region\]active region-configuration \[LSW3-mst-region\]quit \[LSW3\]interface g0/0/1 \[LSW3-GigabitEthernet0/0/1\]stp edged-port enable //边缘端口 \[LSW3-GigabitEthernet0/0/1\]quit \[LSW3\]quit \ display stp instance 1 brief \ display stp instance 2 brief **LSW4:** \ system-view \[Huawei\]undo info-center enable \[Huawei\]sysname LSW4 \[LSW4\]port-group 1 \[LSW4-port-group-1\]group-member g0/0/3 \[LSW4-port-group-1\]group-member g0/0/6 \[LSW4-port-group-1\]group-member g0/0/2 \[LSW4-port-group-1\]port link-type trunk \[LSW4-GigabitEthernet0/0/3\]port link-type trunk \[LSW4-GigabitEthernet0/0/6\]port link-type trunk \[LSW4-GigabitEthernet0/0/2\]port link-type trunk \[LSW4-port-group-1\]port trunk allow-pass vlan all \[LSW4-GigabitEthernet0/0/3\]port trunk allow-pass vlan all \[LSW4-GigabitEthernet0/0/6\]port trunk allow-pass vlan all \[LSW4-GigabitEthernet0/0/2\]port trunk allow-pass vlan all \[LSW4-port-group-1\]quit \[LSW4\]undo info-center enable \[LSW4\]stp enable \[LSW4\]stp mode mstp \[LSW4\]stp region-configuration \[LSW4-mst-region\]region-name hcip \[LSW4-mst-region\]revision-level 1 \[LSW4-mst-region\]instance 1 vlan 10 30 50 70 \[LSW4-mst-region\]instance 2 vlan 20 40 60 80 \[LSW4-mst-region\]active region-configuration \[LSW4-mst-region\]quit \[LSW4\]interface g0/0/1 \[LSW4-GigabitEthernet0/0/1\]stp edged-port enable \[LSW4-GigabitEthernet0/0/1\]quit \[LSW4\]quit \ display stp instance 1 brief \[LSW4\]vlan batch 10 20 30 40 50 60 70 80 \[LSW4\]quit \ display stp instance 1 brief \ display stp instance 2 brief
对LSW1的g0/0/1端口进行抓包分析

一、MST 域的核心配置(决定是否属于同一域)
从信息可以看出当前交换机所在 MST 域的关键配置:
- MST Config name :
hcip→ 域名为hcip - MST Config revision :
1→ 修订级别为 1 - MST Config digest :
1776645fb25130b68f343c3522da8eeb→ 是 "域名 + 修订级别 + VLAN - 实例映射表" 的哈希值(自动生成) - 只有其他交换机的域名、修订级别、VLAN - 实例映射表完全一致时,才能和这台交换机属于同一个 MST 域。
二、CIST(公共和内部生成树)的状态
CIST 是整个 MSTP 网络的总生成树,这里展示了当前交换机在 CIST 中的信息:
- CIST Internal Root Path Cost :
20000→ 当前交换机到CIST 根桥的路径开销(路径开销由链路带宽决定,比如 1Gbps 链路默认开销是 2000) - CIST Bridge Identifier :
32768 / 0 / 4c:1f:cc:b8:30:0b→ 当前交换机的 CIST 桥 ID:- 前半部分
32768是桥优先级(默认值) - 后半部分
4c:1f:cc:b8:30:0b是交换机 MAC 地址
- 前半部分
- CIST Remaining hops :
19→ MSTP 报文的剩余跳数(默认最大跳数是 20,这里表示还能转发 19 次)
三、MSTI(多生成树实例)的域内根信息
MSTI 是 MST 域内的独立生成树,这里展示了 Instance 1 和 Instance 2 的域内根桥:
- MSTID 1, Regional Root Identifier :
0 / 4c:1f:cc:b8:30:0b→ Instance 1 的域内根桥 是4c:1f:cc:b8:30:0b(即当前交换机自身,因为桥 ID 和上面的 CIST 桥 ID 一致) - MSTID 2, Regional Root Identifier :
0 / 4c:1f:cc:e3:66:3b→ Instance 2 的域内根桥 是另一台交换机(MAC 为4c:1f:cc:e3:66:3b)
总结这个抓包的关键结论
- 当前交换机属于域名为 hcip、修订级别为 1的 MST 域;
- 这台交换机是Instance 1 的域内根桥,但不是 Instance 2 的域内根桥;
- 当前交换机到 CIST 根桥的路径开销是 20000,CIST 桥优先级为默认值 32768。