1. Multiple Spanning Tree Protocol(多实例生成树 802.1s)特征
同一个 MST 域都启动了 MSTP、有相同域名、生成树实例映射(MSTI)、修订级别
1)VLAN 映射表
VLAN 和 MSTI 之间的映射关系
2)IST(内部生成树)
MST 域内的一棵生成树,由 MSTI 0产生
如图所示:
如图所示:
- CE6、CE7、CE10、CE11 相互之间有链路相连,则构成了一个 CST
如图所示 CST 的角色选举:
如图所示:
6)域根
分为 IST 域根[距离总根 Cost 最近的设备]和 MSTI 域根[MSTI 的根桥]
MSTI 域域根计算如图所示:
- MST Region 1 中
- CE5 成为 MSTI 2 的域根
- CE6 成为 MSTI 0 和 MSTI 1 的域根
- MST Region 2 中
- CE3 成为 MSTI 1 和 MSTI 2 的域根
- CE8 成为 MSTI 0 的域根
- MST Region 3 中
- CE9 成为 MSTI 2 的域根
- CE10 成为 MSTI 0 和 MSTI 1 的域根
- MST Region 4 中
- MST Region 1 中
如图所示:
如图所示:
RP、DP、AP、BP 和 EP 与 RSTP 机制相同
- Master 端口:MST 域中连接到总根最近的端口(特殊的域边缘端口)
- 域边缘端口:MST 域的边缘并连接其他的 MST 域或 SST 的端口
3. MSTP Message
MSTP Message 格式解析
- Protocol Identifier:协议标识符
- Protocol Version Identifier:协议版本
- 0:STP
- 2:RSTP
- 3:MSTP
- BPDU Type:BPDU 类型
- 0x00:STP 的配置 BPDU
- 0x02:STP 的 TCN BPDU
- 0x08:RSTP/MSTP 的BPDU
- CIST Flags:CIST 标志
- CIST Root Identifier:总根设备 ID(MSTI 0 优先级 + MAC 地址)
- CIST External Path Cost:CIST外部路径开销,本设备的 MST 域到总根 MST 域的路径开销
- CIST Regional Root Identifier:主桥的设备 ID(MSTI 优先级 + MAC 地址)
- CIST Port Identifier:本端口在 IST 中的指定端口 ID(优先级 + 端口 ID)
- Message Age:BPDU 的生存期
- Max Age:BPDU 的最大生存期,超时则认为到根交换机的链路故障
- Hello Time:BPDU 的发送时间,缺省为 2s
- Forward Delay:转发时延,固定 15s
- Version 1 Length:Version1 BPDU 的长度,值固定为 0
- Version 3 Length:Version3 BPDU 的长度
- MST Configuration Identifier:MST 配置标识,只有一下四个字段完全相同的,并且互联的交换机,才属于同一个域
- Configuration Identifier Format Selector:固定为 0
- Configuration Name:“域名”,32 字节长字符串
- Revision Level:2 字节非负整数
- Configuration Digest:利用 HMAC-MD5 算法将域中 VLAN 和实例的映射关系加密成 16 字节的摘要
- CIST Internal Root Path Cost:CIST 内部路径开销指从本端口到 IST Master 交换机的路径开销
- CIST Bridge Identifier:CIST 的指定交换机 ID
- CIST Remaining Hops:BPDU 报文在 CIST 中的剩余跳数
- MSTI Configuration Messages:MSTI 配置信息
参与 CIST 计算的优先级为:交换设备ID,外部路径开销,域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID 参与 MSTI 计算的优先级为:域根ID,内部路径开销,指定交换设备ID,指定端口ID,接收端口ID
比较原则:
- 首先,比较根交换设备 ID
- 如果根交换设备 ID 相同,再比较外部路径开销
- 如果外部路径开销相同,再比较域根 ID
- 如果域根 ID 仍然相同,再比较内部路径开销
- 如果内部路径仍然相同,再比较指定交换设备 ID
- 如果指定交换设备 ID 仍然相同,再比较指定端口 ID
- 如果指定端口 ID 还相同,再比较接收端口 ID
5. MSTI 的计算
在 MST 域内,MSTP 根据 VLAN 和生成树实例的映射关系,针对不同的 VLAN 生成不同的生成树实例。每棵生成树独立进行计算,计算过程与 STP 计算生成树的过程类似
- MSTI 的特点
- 每个 MSTI 独立计算自己的生成树,互不干扰
- 每个 MSTI 的生成树计算方法与 STP 基本相同
- 每个 MSTI 的生成树可以有不同的根,不同的拓扑
- 每个 MSTI 在自己的生成树内发送 BPDU
- 每个 MSTI 的拓扑通过命令配置决定
- 每个端口在不同 MSTI 上的生成树参数可以不同
- 每个端口在不同 MSTI 上的角色、状态可以不同
- VLAN 报文的转发路径
- 协商开始时,每一台设备都认为自己是根桥,端口是指定端口,状态为 Discarding
- 相互发送 Proposal 和 Agreement 同时置位的 BPDU 报文,通过 BPDU 报文选举出根桥,同时下游设备把与上游设备相连的端口设置为根端口,并阻塞所有非边缘端口
- 上游设备继续发送 Agreement 报文。下游设备接收到后,根端口转为 Forwarding 状态
- 下游设备回应 Agreement 报文。上游设备接收到后,把与下游设备相连的端口设置为指定端口,指定端口进入 Forwarding 状态