以下内容纯为博主分享自己的想法和理解,如有错误轻喷
MSTP多生成树协议可以基于不同实例实现不同VLAN之间的负载分担
VRRP虚拟路由器冗余协议可以提高网关的可靠性防止单点故障的可能
在以前这两种协议通常一起搭配组网,来提高网络的可靠性和稳定性,虽然如今在很多场景中已经被IRF或M-LAG协议给取代了,但这种方案也是值得我们网络工程师学习的。
下面我先将两种协议分开做实验,再结合组网来体现它们的高可靠性
实验一:MSTP单域环境
第一步:为各交换机创建响应的vlan并设置trunk口放行
[SWA]vlan 10 20 30
[SWB]vlan 10 20 30
[SWC]vlan 10 20 40
[SWD]vlan 20 30 40
[SWA]int g1/0/1
[SWA-GigabitEthernet1/0/1]port link-type trunk
[SWA-GigabitEthernet1/0/1]port trunk permit vlan all
[SWA-GigabitEthernet1/0/1]quit
[SWA]int g1/0/2
[SWA-GigabitEthernet1/0/2]port link-type trunk
[SWA-GigabitEthernet1/0/2]port trunk permit vlan 10 20
[SWA-GigabitEthernet1/0/2]quit
[SWA]int g1/0/3
[SWA-GigabitEthernet1/0/3]port link-type trunk
[SWA-GigabitEthernet1/0/3]port trunk permit vlan 20 30
[SWA-GigabitEthernet1/0/3]quit
[SWB]int g1/0/1
[SWB-GigabitEthernet1/0/1]port link-type trunk
[SWB-GigabitEthernet1/0/1]port trunk permit vlan all
[SWB-GigabitEthernet1/0/1]quit
[SWB]int g1/0/2
[SWB-GigabitEthernet1/0/2]port link-type trunk
[SWB-GigabitEthernet1/0/2]port trunk permit vlan 10 20
[SWB-GigabitEthernet1/0/2]quit
[SWB]int g1/0/3
[SWB-GigabitEthernet1/0/3]port link-type trunk
[SWB-GigabitEthernet1/0/3]port trunk permit vlan 20 30
[SWB-GigabitEthernet1/0/3]quit
[SWC]int range g1/0/1 g1/0/2
[SWC-if-range]port link-type trunk
[SWC-if-range]port trunk permit vlan 10 20
[SWC-if-range]quit
[SWC]int g1/0/3
[SWC-GigabitEthernet1/0/3]port link-type trunk
[SWC-GigabitEthernet1/0/3]port trunk permit vlan 20 40
[SWC-GigabitEthernet1/0/3]quit
[SWD]int range g1/0/1 g1/0/2
[SWD-if-range]port link-type trunk
[SWD-if-range]port trunk permit vlan 20 30
[SWD-if-range]quit
[SWD]int g1/0/3
[SWD-GigabitEthernet1/0/3]port link-type trunk
[SWD-GigabitEthernet1/0/3]port trunk permit vlan 20 40
[SWD-GigabitEthernet1/0/3]quit
第二步:配置生成树
需要注意:MST域视图下的三要素:域名、修订级别、vlan与实例映射关系三者一定要相同,只有都相同才能叫单域,否则就会出现Master端口
[SWA]stp global enable //全局开启生成树功能,缺省已经开了
[SWA]stp mode mstp //将生成树模式却换为MSTP,缺省就是MSTP
[SWA]stp region-configuration //进入MSTP域视图下
[SWA-mst-region]region-name h3cie //设置域名为h3cie
[SWA-mst-region]revision-level 0 //修订级别设置为0,没有任何意义
[SWA-mst-region]instance 1 vlan 10 //创建实例1绑定vlan10
[SWA-mst-region]instance 3 vlan 30 //创建实例3绑定vlan30
[SWA-mst-region]instance 4 vlan 40 //创建实例4绑定vlan40
[SWA-mst-region]active region-configuration //激活域视图下的配置
[SWA]stp instance 1 root primary //设置实例1为主根
[SWB]stp region-configuration
[SWB-mst-region]region-name h3cie
[SWB-mst-region]revision-level 0
[SWB-mst-region]instance 1 vlan 10
[SWB-mst-region]instance 3 vlan 30
[SWB-mst-region]instance 4 vlan 40
[SWB-mst-region]active region-configuration
[SWB-mst-region]quit
[SWB]stp instance 3 root primary
[SWC]stp region-configuration
[SWC-mst-region]region-name h3cie
[SWC-mst-region]revision-level 0
[SWC-mst-region]instance 1 vlan 10
[SWC-mst-region]instance 3 vlan 30
[SWC-mst-region]instance 4 vlan 40
[SWC-mst-region]active region-configuration
[SWC-mst-region]quit
[SWC]stp instance 4 root primary
[SWD]stp region-configuration
[SWD-mst-region]region-name h3cie
[SWD-mst-region]revision-level 0
[SWD-mst-region]instance 1 vlan 10
[SWD-mst-region]instance 3 vlan 30
[SWD-mst-region]instance 4 vlan 40
[SWD-mst-region]active region-configuration
[SWD-mst-region]quit
第三步:在SWB上通过修改实例0的优先级来是SWB桥ID变小成为实例0的根桥
[SWB]stp instance 0 priority 4096 //修改实例0的桥优先级为4096
缺省为32768,取值为0-61440,步长必须为4096的倍数
那么由于我们配置了三个实例加上缺省存在的实例0,一共可以得到四颗生成树
可以使用dis stp b命令查看被阻塞的端口是否出现在虚线上
补充:
- 缺省情况下,所有vlan都属于实例0,并且一个vlan只能属于一个实例
- 在实验中当我们将vlan10划分到实例1下面,那么vlan10将自动脱离实例0
- 在MST域视图下配置三要素后,需要使用active region-configuration命令来激活配置否则不会生效
- 域视图下的修订级别当前为保留状态没有任何意义
- 当在做单域实验时,需要保证域视图下的配置每台设备都一致,否则就会出现多域出现Master端口