资料整理于网络资料、书本资料、AI,仅供个人学习参考。
MSTP工作原理及配置
MSTP出现原因
- STP留下的弊端
收敛时间慢:30s~50s
设备利用率低
- 方案
RSTP,快速生成树协议
MSTP,多生成树协议
RSTP概述
- RSTP:快速生成树协议
STP的基础上优化而来
实现网络的快速收敛,降低网络故障时间,提高数据转发的效率
- RSTP对STP的改进
增加了2种端口角色(AP和BP)
减少了3个端(阻塞、学习、转)
引入了让指定端口尽快进入转发状态的机制(P/A机制)
- RSTP的不足
RSTP和STP有一个共同的缺陷:局域网内所有的VLAN共享一棵生成树。
所有的VLAN的数据转发路径是相同的。
交换机之间的多个链路,只能实现备份的作用。永远只会使用其中的主链路转发数据,无法实现VLAN数据流的负载均衡,从而无法提高设备利用率,还有可能造成部分VLAN的数据流无法转发。
MSTP概述
- MSTP,即Multiple STP,多生成树协议
RSTP的基础上优化而来
MSTP网络中,引入了域的概念,称为MST域
每个MST域中包含一个或多个:"生成树"称之为"实例"
引入了实例(instance)的概念,实现VLAN数据流的负载均衡
默认情况下,所有的VLAN都属于同一个默认的实例------Instance 0
可以基于需求,可以将不同的VLAN分配到不同的实例中
不同的实例,就是不同的"生成树",就对应着多个不同的"根桥"
配置思路
- 每个交换机创建相同的VLAN
- 交换机之间的链路配置为Trunk,允许所有的VLAN通过
- 交换机启用STP协议,配置模式为MSTP
- 交换机指定MST域的域名、实例和vlan的对应关系
- 交换机上激活MST域的配置
- 验证与测试MST域的配置
- 同一个MST域的交换机配置特点
都启动了MSTP、域名配置相同、实例配置相同
MSTP配置命令

配置各个交换机的VLAN及Trunk
SW1配置
bash
[SW1]vlan batch 10 20 // 创建vlan10 和vlan20
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SW1-GigabitEthernet0/0/2]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SW1-GigabitEthernet0/0/1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port link-type hybrid
[SW1-GigabitEthernet0/0/3]port hybrid untagged vlan 10 //将vlan 10 添加到该接口 的untag列表
[SW1-GigabitEthernet0/0/3]port hybrid pvid vlan 10 //配置接口PVID为vlan 10
SW2配置
bash
[SW2]vlan batch 10 20
[SW2]int g0/0/2
[SW2-GigabitEthernet0/0/2]port link-type trunk
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SW2-GigabitEthernet0/0/2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SW2-GigabitEthernet0/0/1]int g0/0/3
[SW2-GigabitEthernet0/0/3]port link-type hybrid
[SW2-GigabitEthernet0/0/3]port hybrid untagged vlan 20 //将vlan 20 添加到该接口 的untag列表
[SW2-GigabitEthernet0/0/3]port hybrid pvid vlan 20 //配置接口PVID为vlan 20
SW3配置
bash
[SW3]vlan batch 10 20
[SW3]int g0/0/3
[SW3-GigabitEthernet0/0/3]port link-type access
[SW3-GigabitEthernet0/0/3]port default vlan 10 //将接口添加到vlan 10中
[SW3-GigabitEthernet0/0/3]int g0/0/4
[SW3-GigabitEthernet0/0/4]port link-type access
[SW3-GigabitEthernet0/0/4]port default vlan 20 //将接口添加到vlan 20中
[SW3-GigabitEthernet0/0/4]int g0/0/1
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SW3-GigabitEthernet0/0/1]int g0/0/2
[SW3-GigabitEthernet0/0/2]port link-type trunk
[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan all
配置MSTP
SW1配置
bash
[SW1]stp mo mstp //将交换机配置成MSTP模式
[SW1]stp region-configuration //进入MSTP配置模式
[SW1-mst-region]region-name lv //配置域名为"lv"
[SW1-mst-region]revision-level 1 //配置版本等级为"1"
[SW1-mst-region]instance 1 vlan 10 //将vlan 10加入实例1中
[SW1-mst-region]instance 2 vlan 20 //将vlan 20加入实例2中
[SW1-mst-region]active region-configuration //激活配置(必须配置)
[SW1-mst-region]quit
[SW1]stp instance 1 root primary //配置此交换机为实例1的主根
[SW1]stp instance 2 root secondary //配置此交换机为实例2的备根
SW2配置
bash
[SW2]stp mode mstp //将交换机配置成MSTP模式
[SW2]stp region-configuration //进入MSTP配置模式
[SW2-mst-region]region-name lv //配置域名为"lv"
[SW2-mst-region]revision-level 1 //配置版本等级为"1"
[SW2-mst-region]instance 1 vlan 10 //将vlan 10加入实例1中
[SW2-mst-region]instance 2 vlan 20 //将vlan 20加入实例2中
[SW2-mst-region]active region-configuration //激活配置(必须配置)
[SW2-mst-region]quit
[SW2]stp instance 1 root secondary //配置此交换机为实例1的备根
[SW2]stp instance 2 root primary //配置此交换机为实例2的主根
SW3配置
bash
[SW3]stp mode mstp //将交换机配置成MSTP模式
[SW3]stp region-configuration //进入MSTP配置模式
[SW3-mst-region]region-name lv //配置域名为"lv"
[SW3-mst-region]revision-level 1 //配置版本等级为"1"
[SW3-mst-region]instance 1 vlan 10 //将vlan 10加入实例1中
[SW3-mst-region]instance 2 vlan 20 //将vlan 20加入实例2中
[SW3-mst-region]active region-configuration //激活配置(必须配置)
MSTP负载均衡
- STP/RSTP的弊端
所有的VLAN共用一个"生成树"。防止环路的同时只能确保一半的设备得到利用,另外一半的设备仅仅用作"备份",无法提高设备的利用率
- MSTP负载均衡
不同的VLAN关联到不同的实例
不同的实例的根交换机放置在不同的交换机上
不同的VLAN通过不同的根交换机进行数据的转发,从而确保提高设备的利用率,同时设备之间还能实现备份