协议信息
MSTP 兼容 STP 和 RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现 VLAN 数据的负载均衡。
MSTP 可以将一个或多个 VLAN 映射到一个 Instance(实例)(一个或多个 VLAN 集合),再基于 Instance 计算生成树。映射到同一个 Instance 的 VLAN 共享同一棵生成树。
网络层次
MSTP 把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
MSTP 网络中包含一个或多个 MST 域,每个 MST 域中包含一个或多个生成树实例
术语解释
MSTI --- 多生成树实例
- 一个 MST 域内可以生成多棵生成树,每棵生成树都被称为一个 MSTI
- MSTI 使用 Instance ID 标识,华为设备取值 0 - 4094
VLAN 映射表
MST 域的属性,描述了 VLAN 和 MSTI 之间的映射关系
如图所示的 MST Region 4 的 VLAN 映射有:
- VLAN1 映射到 MSTI 1
- VLAN2 映射到 MSTI 2
- 其他 VLAN 映射到 MSTI 3
CST 公共生成树
连接交换网络内所有 MST 域的一棵生成树
如果把每个 MST 域看作是一个节点,CST 就是这些节点通过生成树协议计算生成的一棵树
IST 内部生成树
各 MST 域内的生成树
IST 时一个特殊的 MSTI,MSTI 的 instance ID 为 0
CIST 公共和内部生成树
通过生成树协议计算生成的,连接一个交换网络内所有设备的单生成树
所有 MST 域的 IST 加上 CST 就构成一棵完整的生成树,即 CIST
SST 单生成树
运行生成树协议的交换设备只能属于一个生成树。如:STP 和 RSTP
MST 域中只有一台交换设备,这台设备就构成单生成树
总根、域根和主桥
-
总根 CIST Root
是 CIST 的根桥
-
域根 Region Root
- 分为 IST 域根和 MSTI 域根
- IST 域根:在 MSTI 域中 IST 生成树距离总根最近的交换设备是 IST 域根
- MSTI 域根是每个多生成树的树根
-
主桥
域内距离总根最近的交换设备
如果总根在 MST 域中,则总根为该域内的主桥
CIST 公共和内部生成树选举过程:
就是把 MST 域视为一台逻辑交换机,然后进行生成树计算
-
首先选举总根 Root(实例 0 中的根)比较规则
- 在多个 MST 区域之间先选举"总根”,通过比较实例 0 的 BID 桥 ID,越小越优(总根本质是实例 0 中的 Root)总根是设备的概念有整个 MST 多区域之间只能有一条总根 Root(可以相象把一个 MST 区域想成一个交换机)
- 总根可以是 MST 区域中的任意一台设备
- 总根是整个大网中绝对的霸主
-
接着选举域根
在每一个 MST 区域选举一个 Region Root 域根,非总根区域的域根只能用于区域的域边界设备担任
Region root 比较规则- 比较区域边界交换机到达总根的 ERPC 外部开销(外部根路径开销)越小越优
- 如果 ERPC 外部开销相同,比较域边界交换机在实例 0 的桥 ID
- 域根选举出来后,该区域内所有交换机到总根的 ERPC,等于域根到达总根的 ERPC(此时,把一个 MST 域视为一个逻辑交换机)
- 如果一个 MST 区域内存在总根,那么这个设备也是这个 MST 域的 Region root 域根
- 域根是每个 MST 区域内的霸主
-
选举 CIST 中的端口角色规则
- 比较 CIST 的总根 ID,越小越优
- 比较 CIST 到达总根的 ERPC(ERPC 指到达总根的距离,ERPC 在跨越 MST 区域时累加)
- 比较 CIST 域根的桥 ID,越小越优
- 比骄 CIST 到达域根的 IRPC,越小越优(IRPC 指到达域根的距离)
- 比较 CIST 中 BPDU 报文发送者的 BID(桥 ID),越小越优
- 比较 CIST 中 BPDU 报文发送者的 PID(端口 ID),越小越优
- 比较 CIST 中 BPDU 报文接收者的 PID,越小越优
所有 CIST 的选举基于 instance0 的 BID 来选举
转发原则
本区域中 VLAN 属于哪个实例,就按哪个实例进行转发。数据需要跨区域时,按照 CIST 进行转发,进入其他区域后,按其他区域对应的实例进行转发。
名词解释
域边缘端口:
域边缘端口是指位于 MST 域边缘并连接其他 MST 域或 SST 的端口
域边缘端口在生成树实例上的角色与在 CIST 的角色保持一致(如果不一致,则会导致环路)
MASTER 端口:
MP 端口是在 MSTP 中新增的端口,只会出现在域根上
是 MST 域和总根项链的所有路径中的最短路径,是交换设别上连接 MST 域到总额和的端口
是域中报文去往总根的必经之路
配置命令
锐捷单域配置
spanning-tree mode mst // 修改生成树为 MSTP
spanning-tree mst configuration // 进入 MST 设置
name KFC // 配置域名为 KFC
revision 1 // 修订级别 1
instance 1 vlan 1-10 // 将 vlan 划入实例
show spanning-tree mst 1 // 查看 mst 实例 1
锐捷 MSTP 简单实现
要求 VLAN10、VLAN20 数据流经过 S3 转发,VLAN50、VLAN60 数据流经过 S4 转发,S3、S4 其中一台宕机时均可无缝切换至另一台进行转发。所配置的参数要求如下:
- region-name 为 ruijie;
- revision 版本为 1;
- 实例 1,包含 VLAN10、VLAN20;
- 实例 2,包含 VLAN50,VLAN60;
- S3 作为实例 0、1 中的主根,S4 作为实例 0、1 的从根;
- S4 作为实例 2 中的主根,S3 作为实例 2 的从根;
- 主根优先级为 4096,从根优先级为 8192;
VSU(config) spanning-tree # 开启生成树
VSU(config) spanning-tree mst configuration # 配置MSTP
VSU(config-mst) name ruijie # 名称为ruijie
VSU(config-mst) revision 1 # 版本为1
VSU(config-mst) instance 1 vlan 10, 20 # 实例1允许通过VLAN10、VLAN20、VLAN30、VLAN40、VLAN100
VSU(config-mst) instance 2 vlan 50, 60 # 实例2允许通过VLAN50、VLAN60
...
S4(config) spanning-tree
S4(config) spanning-tree mst configuration
S4(config-mst) name ruijie
S4(config-mst) revision 1
S4(config-mst) instance 1 vlan 10, 20
S4(config-mst) instance 2 vlan 50, 60spanning-tree portfast default 配置所有的接口为边缘端口
spanning-tree portfast (接口下)配置接口为边缘端口
华为单域配置
stp mode mstp // 修改 stp 模式为 mstp
stp region-configuration
region-name KFC // 配置域名
revision-leval 1 // 配置修订级别(版本)
instance 1 vlan 1 to 50 // 将 vlan 划入实例
active region-configuration // 激活配置
在多台设备间,域名、修订级别、VLAN 映射实例配置需保持一致
stp instance 1 priority 0 // 修改实例的优先级
display stp vlan 1 // 查看 vlan1 的生成树
display stp region-configuration // 查看生成树实例配置
display stp brief // 查看生成树端口状态
stp instance 1 priority 4096 // 修改优先级