mstp协议基础知识以及命令,MSTP与RSTP、STP的区别

题图来自Unsplash,基于CC0协议
导读
在局域网交换网络中,为了解决环路问题并实现链路的冗余备份,生成树协议是必不可少的技术。从最初的STP(802.1D)到快速生成树RSTP(802.1w),再到多生成树MSTP(802.1s),协议的演进始终围绕着收敛速度与资源利用率的提升。
MSTP产生的背景 STP最大的缺点是收敛慢,一个端口从阻塞到转发需要30到50秒,这对现代网络是无法接受的。RSTP大幅缩短了收敛时间(约1秒),但它仍然有一个缺陷:所有VLAN共享一棵生成树,导致无法实现流量的负载均衡。例如,当核心层有两台交换机、两条上行链路时,RSTP会阻塞一条链路,即使另一条链路是针对特定VLAN的首选路径,也依然会被浪费。MSTP正是为了解决这个问题而诞生,它允许将一个或多个VLAN映射到一个“生成树实例”(Instance),并为每个实例独立计算生成树拓扑,从而在逻辑上实现不同VLAN数据流走不同路径,达到负载分担。
MSTP的核心概念 理解MSTP,必须掌握三个要素:域、实例和VLAN映射。
- MST域:由一组具有相同配置的交换机组成,配置参数包括域名、修订级别以及VLAN与实例的映射关系。只有这些参数完全一致,交换机才会被视为同一个域,才能进行域内协作。
- 实例:每个MST域可以有多个生成树实例,其中实例0是强制存在的,称为内部生成树(IST),它负责整个域内BPDU(桥协议数据单元)的传递,并且必须包含域内所有VLAN。用户自定义的实例(如实例1、实例2)称为多生成树实例(MSTI),用于承载特定的VLAN组。
- VLAN映射:即配置哪个VLAN属于哪个实例。例如,将VLAN 10、20映射到实例1,VLAN 30、40映射到实例2。这样,不同实例的流量在物理拓扑中就可以选择不同的转发路径。
MSTP的工作原理 MSTP设备在启动后,首先会在端口角色上进行协商。其端口角色在RSTP的基础上做了扩展,主要分为以下几类:
- 根端口:到达根桥最优路径的端口,用于接收BPDU。
- 指定端口:连接网段上的唯一转发端口,负责发送BPDU。
- 备份端口:某端口的指定端口的备份。
- 替代端口:根端口的备份,提供从非根桥到根桥的备用路径。
- 边界端口:连接不同MST域的端口。边界端口的行为类似于RSTP,它不接收域内的MST BPDU,只处理STP或RSTP BPDU。
状态方面则简化为三种:转发(Forwarding)、学习(Learning)和丢弃(Discarding)。丢弃状态取代了传统的阻塞、侦听状态。
一个关键机制是总根与域根。在MSTP网络中,整个网络只有一个总根桥(CIST Root),它位于所有域形成的公共生成树(CIST)中。在每个域内部,每个实例(包括实例0)也有自己的域根桥。BPDU报文从总根出发,经过不同域的边界端口,再到达域内各实例的根桥,最终构建出完整的拓扑。
MSTP与RSTP、STP的区别 三者的核心差异在于收敛速度与VLAN处理能力。STP收敛慢(30-50秒),且所有VLAN共用一棵树。RSTP收敛快(1秒内),但同样没有VLAN感知能力,无法负载均衡。MSTP保留了RSTP的快速收敛机制,同时引入了实例的概念,使得不同VLAN组可以拥有独立的生成树,既实现了冗余,又实现了链路利用率的提升。此外,MSTP可以与STP或RSTP设备混合组网,通过边界端口的自动识别实现兼容。
MSTP配置命令(以华为交换机为例) 以下是在华为交换机上配置MSTP的核心步骤与命令。
-
启用MSTP模式: 进入系统视图,将交换机的生成树模式改为MSTP。
<Huawei> system-view [Huawei] stp mode mstp -
配置MST域: 必须定义域名、版本号以及VLAN映射关系。
[Huawei] stp region-configuration //进入MST域视图 [Huawei-mst-region] region-name MYCOMPANY //配置域名 [Huawei-mst-region] revision-level 1 //配置修订级别,默认为0 [Huawei-mst-region] instance 1 vlan 10 20 //将VLAN10和20映射到实例1 [Huawei-mst-region] instance 2 vlan 30 40 //将VLAN30和40映射到实例2 [Huawei-mst-region] active region-configuration //激活配置,重要!必须执行 [Huawei-mst-region] quit -
配置桥优先级: 设置交换机的优先级,用来选举根桥。数值越小越优先,步长为4096。
[Huawei] stp instance 1 priority 0 //将本交换机指定为实例1的根桥 [Huawei] stp instance 2 priority 4096 //将本交换机指定为实例2的备用根桥 [Huawei] stp priority 8192 //设置实例0(CIST)的优先级 -
配置端口参数: 针对特定端口调整路径开销或边缘端口设置。
[Huawei] interface GigabitEthernet 0/0/1 [Huawei-GigabitEthernet0/0/1] stp instance 1 cost 2000 //修改该端口在实例1中的开销 [Huawei-GigabitEthernet0/0/1] stp edge-port enable //配置为边缘端口,加速接入层收敛 [Huawei-GigabitEthernet0/0/1] stp point-to-point force-true //强制为点对点链路,加快收敛 -
查看与诊断命令:
display stp instance 1 brief:快速查看实例1的端口角色与状态。display stp region-configuration:查看本地的MST域配置。display stp instance 1 root:查看实例1的根桥信息。display stp interface GigabitEthernet 0/0/1:查看某个端口的详细生成树状态。
总结建议
MSTP是现代园区网中首选的环路防护协议。在规划时,需先根据业务流量模型划分VLAN,再将VLAN合理分组到不同实例,并通过调整各实例的根桥位置实现上行链路负载分担。需要注意的是,同一台交换机上,每个实例的桥优先级设置要全局统一考虑,避免出现次优根桥。配置过程中务必执行 active region-configuration 命令使配置生效,否则域配置不会生效。对于连接终端的端口,建议启用边缘端口功能并配合 bpdu-filter 或 bpdu-protection,避免终端误发BPDU导致网络震荡。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com