MSTP技术
一、STP/RSTP 的局限性
STP(生成树协议)和 RSTP(快速生成树协议)存在一些明显的局限,主要包括:
- 所有 VLAN 共享一颗生成树,这导致无法实现不同 VLAN 在多条 Trunk 链路上的负载分担。例如,当网络中有 VLAN1~VLAN100 时,若某条链路被阻塞,可能导致 VLAN1~VLAN50 或 VLAN51~VLAN100 的通信中断。
- 可能出现次优二层路径,比如在 VLAN3 的通信中,数据传输路径可能不是最优的,影响网络效率。
二、MSTP 的基本概念及优势
1. MSTP 的定义
MSTP(多生成树协议)是基于实例计算多颗生成树的协议,实例间可实现负载分担,其标准协议为 IEEE802.1s。简单来说,就是可以为不同的 VLAN 组(实例)创建不同的生成树,让不同 VLAN 的流量走不同路径,提高链路利用率。
2. MST 域
MST 域是拥有相同 MST 配置标识的网桥构成的集合,配置标识包括三个部分:
- 域名;
- 配置修订号;
- VLAN 与实例映射关系。
例如,Region1 可能将 VLAN2 映射到 Instance2,VLAN4 映射到 Instance4;Region2 可能将 VLAN4 映射到 Instance4,VLAN5 映射到 Instance5,不同域的映射关系可不同。
3. 关键概念
- MSTI(多生成树实例):每个实例对应特定的 VLAN,可独立计算生成树拓扑。比如 VLAN3 可映射到 Instance3,VLAN5 可映射到 Instance5,其他 VLAN 映射到 IST(内部生成树)。
- 端口角色:包括 Master 端口等,其他端口角色定义和 RSTP 相同。Master 端口是 IST 根桥在 CIST(公共内部生成树)上的根端口。
三、MSTP 工作原理
1. BPDU 格式
MSTP 的 BPDU 包含两部分:
- RST BPDU 字段:包括 Protocol ID、CIST Root ID 等参数;
- MST 专有字段:包括 Version3 Length、MST Configuration ID 等。
2. 优先级向量
- CIST 优先级向量:格式为 {RootID: ERPC: RRootID: IRPC: DesignateBridgeID: DesignatePortID: RcvPortID},比较原则是 “最小最优”,按顺序比较各参数。比如先比总根 ID,总根 ID 小的更优;若相同,再比外部路径开销,以此类推。
- MSTI 优先级向量:格式为 {RRootID: IRPC: DesignateBridgeID: DesignatePortID: RcvPortID},同样按 “最小最优” 比较,先比 MSTI 域根 ID。
3. 计算方法
MSTP的计算是打包在一起同步计算的,在报文中包含多个信息,先查CIST配置信息,如果域配置相同,则需要计算IST(MSTI的计算参数是包含在IST BPDU中一起计算的,也就是每个实例的线路)和CST,如果域配置不同,则只计算CST
举例:当 SWA 向 SWB 发送 BPDU 时,SWB 会先检查专有字段中的 “域名” 和 “VLAN 映射”:如果和自己的配置一致,就认为是同一域,可协同计算 MSTI;如果不一致,则视为不同域,仅通过 CST 通信。
- CST(公共生成树)/IST 的计算和 RSTP 类似;
- MSTI 的计算仅限于区域内,且其计算参数包含在 IST BPDU 中,与 IST 计算同步完成。
四、MSTP 兼容性
- MSTP 与 RSTP 互操作时,RSTP 桥会将 MSTP 域看作一个桥 ID 为域根 ID 的 RSTP 桥,实例 0 用于与 STP/RSTP 对接。
- MSTP 的工作模式有三种,具体如下:
- STP 模式:只能和 STP 交换机交互,仅收发配置 BPDU;
- RSTP 模式:运行 RSTP,若检测到相邻交换机为 STP 模式,则切换为 STP;
- MSTP 模式:运行 MSTP,可兼容 RSTP 和 STP 模式。
五、典型配置案例
以单域多实例组网为例,配置步骤如下:
- 配置 MST 域参数:如 SWA 的配置,包括启用 MSTP、设置域名为 RegionA、修订号为 1,将 VLAN2-10 映射到 Instance1,VLAN11-20 映射到 Instance2,并设置实例优先级。
- 设置端口:配置点到点链路和边缘端口,例如 SWC 的 E1/0/2 和 E1/0/3 设为边缘端口。
- 验证配置:通过
display stp brief
命令查看端口状态,如 SWA 的 Instance1 中 E1/0/12 和 E1/0/15 为转发状态,SWC 的 Instance1 中 E1/0/12 为根端口(转发状态)。
六、保护机制
1. BPDU 保护
启用后,若边缘端口收到配置消息,MSTP 会将这些端口关闭,防止边缘端口受攻击导致拓扑变动。配置命令为[H3C] stp bpdu-protection
。在MSTP中,边缘端口意外接入一个交换机时,会触发边缘端口保护机制,端口会被关闭,只能由管理员来开启
2. 根桥保护
对于设置了根保护的端口,若收到某实例优先级更高的配置消息,该端口会变为指定端口并进入侦听状态,不再转发报文。配置命令为[H3C-Ethernet1/0/1] stp root-protection
。
3. 环路保护
配置后,若端口收不到上游设备的 BPDU 报文,该端口在所有实例中均处于 Discarding 状态,防止环路产生。配置命令为[H3C-Ethernet1/0/1] stp loop-protection
。
4. TC 保护
设置设备在 10 秒内收到 TC-BPDU 后,地址表项删除操作的最多次数,避免频繁删除给设备带来负担。