MSTP+VRRP组网架构曾经是园区网必备方案,随着堆叠/虚拟化技术的来临,MSTP+VRRP的组合用得越来越少,但不同厂商的设备不同进行堆叠,所以有时候还是要用到的。
VRRP定义:
VRRP是一种容错协议,可以实现下一跳网关设备的备份,当连接主机的下一跳网关设备出现故障时,由网络中另一台设备代替故障设备进行工作,从而保证网络通信的连续性和可靠性。
随着网络的快速普及和相关应用的日益深入,各种增值业务(如IPTV、视频会议等)已开始广泛部署。基础网络的可靠性日益成为用户关注的焦点,能够保证网络传输不中断对于终端用户非常重要。
MSTP定义:
多生成树协议MSTP(Multiple Spanning Tree Protocol)将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
环路会产生广播风暴,最终导致整个网络资源被耗尽,网络瘫痪不可用。环路还会引起MAC地址表震荡导致MAC地址表项被破坏。
STP/RSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,解决交换网络中的环路问题。但STP和RSTP存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,被阻塞的链路将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。
为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1s标准定义了MSTP。MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
实验拓扑
组网需求
如图所示,主机通过SwitchC接入网络,SwitchC通过双上行连接SwitchA和SwitchB来接入Internet。
由于接入备份的需要,用户部署了冗余链路。冗余备份链路的存在导致出现环网,可能会引起广播风暴和MAC地址表项被破坏。
用户希望在存在冗余备份链路的同时消除网络中的环路,在一条上行链路断开的时候,流量能切换到另外一条上行链路转发,还能合理利用网络带宽。
此时可以在网络中部署MSTP解决环路问题。
MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。
同时在SwitchA和SwitchB上配置VRRP,HostA以SwitchA为默认网关接入Internet,SwitchB作为备份网关;
HostB以SwitchB为默认网关接入Internet,SwitchA作为备份网关,以实现可靠性及流量的负载分担。
基本说明:
HOSTA
IP:10.1.2.101/24
GW:10.1.2.100
HOSTB
IP:10.1.3.100/24
GW:10.1.3.100
VLAN2---->MSTI1
VLAN3---->MSTI2
SWA:
GE0/0/1和GE0/0/2---->VLANIF2--->10.1.2.102/24
GE0/0/1和GE0/0/2---->VLANIF3--->10.1.3.102/24
GE0/0/3---->VLANIF4---->10.1.4.102/24
SWB:
GE0/0/1和GE0/0/2----->VLANIF2--->10.1.2.103/24
GE0/0/1和GE0/0/2----->VLANIF3--->10.1.3.103/24
GE0/0/3----->VLANIF5---->10.1.5.103/24
MSTP破环原理
配置思路
在处于环形网络中的交换设备上配置MSTP基本功能,包括:
设备全局使能MSTP。
除与终端设备相连的端口外,其他端口使能MSTP。
配置MST域并创建多实例,配置VLAN2映射到MSTI1,VLAN3映射到MSTI2,实现流量的负载分担。
在MST域内,配置各实例的根桥与备份根桥。
配置各实例中某端口的路径开销值,实现将该端口阻塞。
使能MSTP,实现破除环路,包括:
与终端相连的端口不用参与MSTP计算,建议将其设置为边缘端口并使能端口的BPDU报文过滤功能。
配置保护功能,实现对设备或链路的保护。例如:在各实例的根桥设备指定端口配置根保护功能。
配置设备的二层转发功能。
配置各设备端口IP地址及路由协议,使各设备间网络层连通。
在SwitchA和SwitchB上创建VRRP备份组1和VRRP备份组2,在备份组1中,配置SwitchA为Master设备,SwitchB为Backup设备;在备份组2中,配置SwitchB为Master设备,SwitchA为Backup设备,实现流量的负载均衡。
实验步骤
1、配置MSTP基本功能
1.1配置SWA,SWB,SWC到域名为RG1的域内,创建实例MSTI1和实例MSTI2
配置SWA的MST域
system-view [HUAWEI] sysname SwitchA [SwitchA] stp region-configuration [SwitchA-mst-region] region-name RG1 [SwitchA-mst-region] instance 1 vlan 2 [SwitchA-mst-region] instance 2 vlan 3 [SwitchA-mst-region] active region-configuration [SwitchA-mst-region] quit
配置SWB的MST域
system-view [HUAWEI] sysname SwitchB [SwitchB] stp region-configuration [SwitchB-mst-region] region-name RG1 [SwitchB-mst-region] instance 1 vlan 2 [SwitchB-mst-region] instance 2 vlan 3 [SwitchB-mst-region] active region-configuration [SwitchB-mst-region] quit
配置SWC的MST域
system-view [HUAWEI] sysname SwitchC [SwitchC] stp region-configuration [SwitchC-mst-region] region-name RG1 [SwitchC-mst-region] instance 1 vlan 2 [SwitchC-mst-region] instance 2 vlan 3 [SwitchC-mst-region] active region-configuration [SwitchC-mst-region] quit
1.2 在域RG1内,配置MSTI1域MSTI2的根桥和备份根桥
配置MSTI1的根桥与备份根桥
配置SWA为MSTI1的根桥
[SwitchA] stp instance 1 root primary
配置SWB为MSTI2的备份根桥
[SwitchB] stp instance 1 root secondary
配置MSTI2的根桥与备份根桥
配置SWB为MSTI2的根桥
[SwitchB] stp instance 2 root primary
配置SW1为MSTI2的备份根桥
[SwitchA] stp instance 2 root secondary
1.3配置实例MSTI1和MSTI2中将要被阻塞的端口的路径开销值大于缺省值
配置SWA的宽口路径开销计算方法为华为计算方法
[SwitchA] stp pathcost-standard legacy
配置SWB的端口路径开销计算方法为华为计算方法
[SwitchB] stp pathcost-standard legacy
配置SWC的端口路径计算方法为华为计算方法,将端口GE0/0/1在实例MSTI2中路径开销配置为20000,将端口GE0/0/4在实例MSTI1中的路径开销配置为20000
[SwitchC] stp pathcost-standard legacy [SwitchC] interface gigabitethernet 0/0/1 [SwitchC-GigabitEthernet0/0/1] stp instance 2 cost 20000 [SwitchC-GigabitEthernet0/0/1] quit [SwitchC] interface gigabitethernet 0/0/4 [SwitchC-GigabitEthernet0/0/4] stp instance 1 cost 20000 [SwitchC-GigabitEthernet0/0/4] quit
1.4使能MSTP,实现破除环路
设备全局使能MSTP
在SWA上启动MSTP
[SwitchA] stp enable
在SWB上启动MSTP
[SwitchB] stp enable
在SWC上启动MSTP
[SwitchC] stp enable
将于HOST连接的端口设置为边缘端口并使能BPDU报文过滤
配置SWC端口GE0/0/2和GE0/0/3设置并使能端口的BPDU报文过滤
[SwitchC] interface gigabitethernet 0/0/2 [SwitchC-GigabitEthernet0/0/2] stp edged-port enable [SwitchC-GigabitEthernet0/0/2] stp bpdu-filter enable [SwitchC-GigabitEthernet0/0/2] quit [SwitchC] interface gigabitethernet 0/0/3 [SwitchC-GigabitEthernet0/0/3] stp edged-port enable [SwitchC-GigabitEthernet0/0/3] stp bpdu-filter enable [SwitchC-GigabitEthernet0/0/3] quit
2、配置保护功能,在各实例的根桥设备的指定端口配置根保护功能
在SWA端口GE0/0/1上启动根保护
[SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] stp root-protection [SwitchA-GigabitEthernet0/0/1] quit
在SWB端口GE0/0/1上启动根保护
[SwitchB] interface gigabitethernet 0/0/1 [SwitchB-GigabitEthernet0/0/1] stp root-protection [SwitchB-GigabitEthernet0/0/1] quit
3、配置处于环网中的设备的二层转发功能
在SWA,SWB,SWC上创建VLAN2~3
SWA 上创建VLAN
[SwitchA] vlan batch 2 to 3
SWB上创建VLAN
[SwitchB] vlan batch 2 to 3
SWC上创建VLAN
[SwitchC] vlan batch 2 to 3
将交换设备上接入环路中的端口加入VLAN
SWA配置
[SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type trunk [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 3 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type trunk [SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 3 [SwitchA-GigabitEthernet0/0/2] quit
SWB的配置
[SwitchB] interface gigabitethernet 0/0/1 [SwitchB-GigabitEthernet0/0/1] port link-type trunk [SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 3 [SwitchB-GigabitEthernet0/0/1] quit [SwitchB] interface gigabitethernet 0/0/2 [SwitchB-GigabitEthernet0/0/2] port link-type trunk [SwitchB-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 3 [SwitchB-GigabitEthernet0/0/2] quit
SWC的配置
[SwitchC] interface gigabitethernet 0/0/1 [SwitchC-GigabitEthernet0/0/1] port link-type trunk [SwitchC-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 3 [SwitchC-GigabitEthernet0/0/1] quit [SwitchC] interface gigabitethernet 0/0/2 [SwitchC-GigabitEthernet0/0/2] port link-type access [SwitchC-GigabitEthernet0/0/2] port default vlan 2 [SwitchC-GigabitEthernet0/0/2] quit [SwitchC] interface gigabitethernet 0/0/3 [SwitchC-GigabitEthernet0/0/3] port link-type access [SwitchC-GigabitEthernet0/0/3] port default vlan 3 [SwitchC-GigabitEthernet0/0/3] quit [SwitchC] interface gigabitethernet 0/0/4 [SwitchC-GigabitEthernet0/0/4] port link-type trunk [SwitchC-GigabitEthernet0/0/4] port trunk allow-pass vlan 2 to 3 [SwitchC-GigabitEthernet0/0/4] quit
4、验证结果
网络收敛稳定后,进行验证配置结果
SWA上执行display stp brief,查看端口状态和端口保护类型,不用关注instance0的状态
在MSTI1中,由于SWA是根桥,SWA的端口GE0/0/2和GE0/0/1称为指定端口。
在MSTI2中,SWA的端口GE0/0/1称为指定端口,GE0/0/2称为根端口
在SWB上执行display stp brief
MSTI2中,由于SWB是根桥,端口GE0/0/1和GE0/0/2在MSTI2中称为指定端口。在MSTI1中,SWB的端口GE0/0/1成为指定端口,GE0/0/2是根端口
在SWC中,执行display stp interface brief
SWC的端口GE0/0/1在MSTI1中为根端口,在MSTI2中被阻塞
SWC的端口GE0/0/4在MSTI2中为根端口,在MSTI1中被阻塞
5、配置设备间的网络互联
配置设备各个端口的IP地址
SWA地址配置
[SwitchA] vlan batch 4 [SwitchA] interface gigabitethernet 0/0/3 [SwitchA-GigabitEthernet0/0/3] port link-type trunk [SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 4 [SwitchA-GigabitEthernet0/0/3] quit [SwitchA] interface vlanif 2 [SwitchA-Vlanif2] ip address 10.1.2.102 24 [SwitchA-Vlanif2] quit [SwitchA] interface vlanif 3 [SwitchA-Vlanif3] ip address 10.1.3.102 24 [SwitchA-Vlanif3] quit [SwitchA] interface vlanif 4 [SwitchA-Vlanif4] ip address 10.1.4.102 24 [SwitchA-Vlanif4] quit
SWB的地址配置
[SwitchB] vlan batch 4 [SwitchB] interface gigabitethernet 0/0/3 [SwitchA-GigabitEthernet0/0/3] port link-type trunk [SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 4 [SwitchA-GigabitEthernet0/0/3] quit [SwitchB] interface vlanif 2 [SwitchB-Vlanif2] ip address 10.1.2.103 24 [SwitchB-Vlanif2] quit [SwitchB] interface vlanif 3 [SwitchB-Vlanif3] ip address 10.1.3.103 24 [SwitchB-Vlanif3] quit [SwitchB-Vlanif4] quit
6、配置VRRP备份组
在SWA和SWB上创建VRRP备份组1,配置SWA的优先级为120,抢占时间为20秒,作为master设备
配置SWB的优先级为缺省值,作为backup设备
[SwitchA] interface vlanif 2 [SwitchA-Vlanif2] vrrp vrid 1 virtual-ip 10.1.2.100 [SwitchA-Vlanif2] vrrp vrid 1 priority 120 [SwitchA-Vlanif2] vrrp vrid 1 preempt-mode timer delay 20 [SwitchA-Vlanif2] quit [SwitchB] interface vlanif 2 [SwitchB-Vlanif2] vrrp vrid 1 virtual-ip 10.1.2.100 [SwitchB-Vlanif2] quit
在SWA和SWB上创建VRRP备份组2,配置SWB的优先级为120,抢占时间为20秒,作为master设备,SWA作为backup设备
[SwitchB] interface vlanif 3 [SwitchB-Vlanif3] vrrp vrid 2 virtual-ip 10.1.3.100 [SwitchB-Vlanif3] vrrp vrid 2 priority 120 [SwitchB-Vlanif3] vrrp vrid 2 preempt-mode timer delay 20 [SwitchB-Vlanif3] quit [SwitchA] interface vlanif 3 [SwitchA-Vlanif3] vrrp vrid 2 virtual-ip 10.1.3.100 [SwitchA-Vlanif3] quit
7、验证配置结果
完成配置后,SWA上执行display vrrp,可以看到SWA在备份组1中作为master设备,在备份组2中作为backup设备
在SWB上执行display vrrp ,可以看到SWB在备份组1中作为backup设备,在备份组2中作为master设备