MSTP 多生成树协议
STP/RSTP 的局限性
- 所有 vlan 共享一颗生成树
- 无法实现不同 vlan 在多条 Trunk 链路上的分担
- 二层链路负载均衡

STP/RSTP 的局限------次优二层路径

**次优二层路径(Suboptimal Layer 2 Path) 是指: ** 数据帧在交换网络中传输时,没有走 最优的、最短的或带宽最高的路径,而是走了 一条绕行的、效率较低的路径 。
说白了就是,其实 3700 --> 5700-B 才是最优路径,但是由于 STP 的原因,这条链路被堵塞了,只能走 3700 --> 5700-A --> 5700-B 这条路径,这条路径并不是最优的。
MSTP 的基本概念及优势
MSTP 的定义
- MSTP(Multiple Spanning Tree,多生成树协议)
- 基于实例计算出多颗生成树,实例间实现负载分担
- MSTP 标准协议为 IEEE802.1s

MST 域
- MST 域(MST Region):拥有相同 MST 配置标识的网桥构成的集合
- 域名
- 配置修订号
- VLAN 与实例映射关系

CST、IST、CIST、总根和域根 -- 实例0

-
CST:公共生成树
- 是跨 MSTP 域的生成树
- 负责在不同 MSTP 域之间构建无环路径
- CST 是整个网络中的一棵生成树,不考虑 VLAN,只考虑域之间的连接
-
IST:内部生成树
- 是每个 MSTP 域内部的一棵生成树
- 所有未被映射到其他 MST 实例的 VLAN 都默认属于 IST
- IST 就是 MST Instance 0
- IST 负责域内的生成树计算
-
CIST:公共与内部生成树
- 是整个网络中的一棵"主生成树"
- 由所有 MSTP 域的 IST(即 Instance 0) 和 域之间的 CST 构成
- CIST 是 MSTP 网络中的全局生成树
- 所有 VLAN 如果未被映射到其他 MST 实例,都走 CIST 路径
-
总根
- CIST 的根桥(Root Bridge)
- 是整个网络中 CIST 的"最高优先级桥"
- 所有 MSTP 域都会选举出一个"通往总根"的路径
- 通常由网络中优先级最高的交换机担任
-
域根
- 某个 MSTP 域中 CIST 的根桥
- 在一个 MSTP 域内,CIST 的根桥就是域根
- 域根是通往总根的"第一跳"
-
实例0
- MSTP 中的默认实例
- 所有未被映射到其他 MST 实例的 VLAN 都属于 Instance 0
- Instance 0 就是 IST(Internal Spanning Tree)
- 所有 MSTP 域必须有一个 Instance 0
- Instance 0 构成了整个网络的 CIST
MSTI和MSTI域根

-
MSTI:多生成树实例
- MSTP 允许你将多个 VLAN 映射到一个 MSTI 上
- 每个 MSTI 是一个独立的生成树,可以有自己独立的根桥、路径和拓扑
- 这样就可以为不同的 VLAN 设置不同的转发路径,实现 负载均衡 和 路径优化
-
MSTI域根
-
每个 MSTI 在一个 MSTP 域中都有一个"域根"
-
这个域根是该 MSTI 在该域中的根桥
-
域根是通往"总根(CIST Root)"的入口
-
与"总根"的区别
总根(CIST Root) 整个网络 整个 MSTP 网络中 CIST 的根桥,全局唯一 MSTI 域根(Regional Root) 每个 MSTP 域 每个 MSTI 在域内的根桥,域内唯一
-
-
MSTI 域根的作用
路径控制 | 每个 MSTI 可以有自己独立的根桥,实现路径优化 |
负载均衡 | 不同 MSTI 走不同路径,提高带宽利用率 |
域内转发 | MSTI 域根是该 MSTI 在域内的"主控桥" |
域间转发 | 域根负责将 MSTI 的流量传递给其他域 |
MSTP中的端口角色
-
Master端口
- IST根桥在CIST上的根端口
-
其他端口角色的定义和RSTP相同

MSTP工作原理
- MSTP的BPDU格式

CIST的优先级向量
-
CIST优先级向量={RootID:ERPC:RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}
-
比较原则:最小最优
- 首先比较CIST总根ID
- 其次比较CIST外部开销
- 再次比较CIST域根ID
- 再其次比较CIST内部路径开销
- 再其次比较CIST指定桥ID
- 再其次比较CIST指定端口ID
- 最后比较CIST接收端口ID
MSTI的优先级向量
- MSTI优先级向量={RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}
- 比较原则:最小最优
- 首先比较MSTI域根ID
- 其次比较MSTI内部路径开销
- 再其次比较MSTI指定桥ID
- 再其次比较MSTI指定端口ID
- 最后比较MSTI接收端口ID
MSTP计算方法
- CST/IST的计算和RSTP类似
- MSTI的计算仅限于区域内
- MSTI计算参数包含在IST BPDU中,和IST的计算同步完成

CST计算

IST计算

MSTI计算过程-Region1

MSTI计算过程-Region2

MSTP计算结果

MSTP计算结果及分析
MSTP的P/A机制
- 上游桥发送的Proposal BPDU中,P标志位和A标志位都置位
- 下游收到P标志位和A标志位都置位的Proposal BPDU,在终端口头同步后会回应Agreement BPDU,使得上游的指定端口快速进入转发状态

MSTP兼容性
MSTP和RSTP的互操作
- RSTP桥将MSTP域看做一个桥ID为域根ID的RSTP桥
- 实例0就是标准的RSTP,MSTP使用实例0与STP/RSTP对接

MSTP工作模式

典型配置案例
MSTP组网应用
- MSTP单域多实例组网
- 某局域网分为核心层、接入层两个层次,运行MSTP协议
- SW1为实例0和实例1的根网桥,SW2为实例2的根网桥,实现局域网二层流量负载

MSTP基本配置 - 物理拓扑

MSTP基本配置 - 配置SWA的MST域参数

MSTP基本配置 - 设置RSTP点到点链路和边缘端口

MSTP基本配置 - 验证MSTP基本信息
保护机制
保护特性分类
- BPDU保护
- 根桥保护
- 环路保护
- TC保护
保护需求---边缘端口受到攻击
- 如果一个边缘端口接收到配置消息,将从边缘端口转换成非边缘端口,从而导致生成树重新计算

BPDU保护机制
- 启动了BPDU保护功能后,如果边缘端口收到了配置消息,MSTP就将这些端口关闭

根桥的错误切换
- 合法根桥收到优先级更高的配置消息,失去根桥的地位,引起网络拓扑结构的变动

根桥保护机制
- 对于设置了根保护功能的端口,一旦该端口收到某实例优先级更高的配置消息,立即将该实例端口设置为指定端口、侦听状态,不再转发报文

配置根桥保护
- 根桥保护命令

环路的产生
- 由于链路拥塞或者单向链路故障,端口会收不到上游设备的BPDU报文。此时下游设备重新选择端口角色,会导致环路的产生

环路保护机制
- 配置了环路保护的端口,当接收不到上游设备发送的BPDU报文时,环路保护生效
- 如果该端口参与了STP计算,则无论其角色如何,该端口在所有实例都将处于Discard ing状态

TC攻击
- 在有伪造的TC-BPDU报文恶意攻击设备时,设备短时间内会收到很多的TC-BPDU报文,频繁的删除操作给设备带来的分担很大,给网络的稳定带来很大的隐患

TC保护机制
- 设置设备在收到TC-BPDU报文后的10秒内,进行地址表项删除操作的最多次数
- 监控在该时间段内收到的TC-BPDU报文数是否大于门限值