MSTP多实例生成树,弥补STP和RSTP的缺陷,MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
交换机默认开启的生成树的MSTP,但并没有创建多实例,也就是说,交换机默认下的MSTP可以看成是RSTP或STP。那么如何创建MSTP?首先在交换机上创建实例和对应的VLAN,其次设置VLAN,设置接口的状态为Trunk,并且允许VLAN通过,最后,并设置生成树的根。
以下图为例:
目的:创建多实例生成树,实现实例0的树根是C,实例1(包含VLAN 101,102)的树根是A,实例2(包含VLAN 201,202)的树根是B。区域1与区域2通过VLAN进行逻辑隔离。具体设置步骤如下:
一、查看默认生成树结构
通过查看接口状态,得到生成树
通过查看状态可知,此时交换机B为根交换机,交换机A与交换机D之间的链路被阻塞。其生成树如下图所示:
二、设置多实例生成树并启用
A交换机设置:
#进入到MSTP视图
[A]stp region-configuration
#配置MSTP区域名称为“TEST”
[A-mst-region]region-name TEST
#创建实例1,将VLAN 101到102映射到实例1上
[A-mst-region]instance 1 vlan 101 to 102
#创建实例2,将VLAN 201到202映射到实例2上
#在同一个环境下,其交换机上创建的实例应该与其他交换机上完全一致,如果设置的实例不一致,会出现端口角色是Mast(离总根最近的本实例端口,是实例根交换机上的端口状态,也能正常转发流量)。单纯创建实例即可,不需要创建相关的VLAN。
[A-mst-region]instance 2 vlan 201 to 202
#激活MSTP区域配置
[A-mst-region]active region-configuration
[A-mst-region]quit
B交换机设置:
[B]stp region-configuration
[B-mst-region]region-name TEST
[B-mst-region]instance 1 vlan 101 to 102
[B-mst-region]instance 2 vlan 201 to 202
[B-mst-region]active region-configuration
[B-mst-region]quit
C交换机设置:
[C]stp region-configuration
[C-mst-region]region-name TEST
[C-mst-region]instance 1 vlan 101 TO 102
[C-mst-region]instance 2 vlan 201 TO 202
[C-mst-region]active region-configuration
[C-mst-region]quit
D交换机设置:
[D]stp region-configuration
[D-mst-region]region-name TEST
[D-mst-region]instance 1 vlan 101 to 102
[D-mst-region]instance 2 vlan 101 to 102
[D-mst-region]active region-configuration
[D-mst-region]quit
三、交换机上创建相关VLAN
A交换机设置:
#同时创建VLAN 101到102
[A]vlan batch 101 to 102
B交换机设置:
[B]vlan batch 201 to 202
C交换机设置:
[C]vlan batch 101 to 102
[C]vlan batch 201 to 202
D交换机设置:
[D]vlan batch 101 to 102
[D]vlan batch 201 to 202
四、设置接口类型
A交换机设置:
[A]int g0/0/23
#设置接口类型为Trunk,并且允许VLAN 101和102通过
[A-GigabitEthernet0/0/23]port link-type trunk
[A-GigabitEthernet0/0/23]port trunk allow-pass vlan 101 to 102
[A-GigabitEthernet0/0/23]int g0/0/24
[A-GigabitEthernet0/0/24]port link-type trunk
[A-GigabitEthernet0/0/24]port trunk allow-pass vlan 101 to 102
[A-GigabitEthernet0/0/24]quit
B交换机设置:
[B]int g0/0/24
[B-GigabitEthernet0/0/24]port link-type trunk
[B-GigabitEthernet0/0/24]port trunk allow-pass vlan 201 to 202
[B-GigabitEthernet0/0/24]int g0/0/23
[B-GigabitEthernet0/0/23]port link-type trunk
[B-GigabitEthernet0/0/23]port trunk allow-pass vlan 201 to 202
[B-GigabitEthernet0/0/23]quit
C交换机设置:
[C]int g0/0/23
[C-GigabitEthernet0/0/23]port link-type trunk
[C-GigabitEthernet0/0/23]port trunk allow-pass vlan 201 to 202
[C-GigabitEthernet0/0/23]int g0/0/24
[C-GigabitEthernet0/0/24]port link-type trunk
[C-GigabitEthernet0/0/24]port trunk allow-pass vlan 101 to 102
[C-GigabitEthernet0/0/24]quit
D交换机设置:
[D]int g0/0/23
[D-GigabitEthernet0/0/23]port link-type trunk
[D-GigabitEthernet0/0/23]port trunk allow-pass vlan 201 to 202
[D-GigabitEthernet0/0/23]int g0/0/24
[D-GigabitEthernet0/0/24]port link-type trunk
[D-GigabitEthernet0/0/24]port trunk allow-pass vlan 101 to 102
[D-GigabitEthernet0/0/24]quit
五、设置实例的根
A交换机为实例1的根,B交换机为实例2的根,C交换机为实例0的根
A交换机设置:
[A]stp instance 1 root primary
B交换机设置:
[B]stp instance 2 root primary
C交换机设置:
[C]stp instance 0 root primary
六、查看交换机的生成树

共有3颗生成树,分别对应实例0、实例1和实例2,其实例生成树的状态如下图:
七、区域逻辑隔离
为了实现区域1与区域2的逻辑隔离,对A、B、D交换机进行设置,分别在A、B交换机上创建VLAN 4001,并且设置连接D交换机的端口PVID为4001,拒绝VLAN 1通过,在D交换机上创建VLAN 4002,设置连接A、B交换机的端口PVID为4002,拒绝VLAN 1通过。
A交换机设置:
[A]vlan 4001
[A-vlan4001]quit
[A]int g0/0/23
# 设置接口的PVID为4001
[A-GigabitEthernet0/0/23]port trunk pvid vlan 4001
# 拒绝VLAN 1的流量通过
[A-GigabitEthernet0/0/23]undo port trunk allow-pass vlan 1
[A-GigabitEthernet0/0/23]quit
B交换机设置:
[B]vlan 4001
[B-vlan4001]quit
[B]int g0/0/23
[B-GigabitEthernet0/0/23]port trunk pvid vlan 4001
[B-GigabitEthernet0/0/23]undo port trunk allow-pass vlan 1
[B-GigabitEthernet0/0/23]quit
D交换机设置:
[D]vlan 4002
[D-vlan4002]quit
[D]int g0/0/23
# 设置接口的PVID为4002
[D-GigabitEthernet0/0/23]port trunk pvid vlan 4002
# 拒绝VLAN 1的流量通过
[D-GigabitEthernet0/0/23]undo port trunk allow-pass vlan 1
[D-GigabitEthernet0/0/23]int g0/0/24
[D-GigabitEthernet0/0/24]port trunk pvid vlan 4002
[D-GigabitEthernet0/0/24]undo port trunk allow-pass vlan 1
[D-GigabitEthernet0/0/24]quit
八、确认MSTP生成树状态
此时,区域1与区域2完成了VLAN的逻辑分离,但区域1与区域2可以通过VLAN 101、102、201、202进行通信。此时的生成树拓扑图如下:
注:在实际的物理交换机中,采用VLAN并不能做到彻底隔离。但可以通过MSTP功能来消除环路。