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标准定义了MSTPMSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。


实验拓扑


组网需求

如图所示,主机通过SwitchC接入网络,SwitchC通过双上行连接SwitchA和SwitchB来接入Internet。

由于接入备份的需要,用户部署了冗余链路。冗余备份链路的存在导致出现环网,可能会引起广播风暴和MAC地址表项被破坏。


用户希望在存在冗余备份链路的同时消除网络中的环路,在一条上行链路断开的时候,流量能切换到另外一条上行链路转发,还能合理利用网络带宽。


此时可以在网络中部署MSTP解决环路问题。

MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。

同时在SwitchA和SwitchB上配置VRRP,HostA以SwitchA为默认网关接入Internet,SwitchB作为备份网关;

HostB以SwitchB为默认网关接入Internet,SwitchA作为备份网关,以实现可靠性及流量的负载分担。

路由交换-vrrp和mstp配置举例_第1张图片

基本说明:


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破环原理

路由交换-vrrp和mstp配置举例_第2张图片

配置思路


  1. 在处于环形网络中的交换设备上配置MSTP基本功能,包括:

    • 设备全局使能MSTP。

    • 除与终端设备相连的端口外,其他端口使能MSTP。

    1. 配置MST域并创建多实例,配置VLAN2映射到MSTI1,VLAN3映射到MSTI2,实现流量的负载分担。

    2. 在MST域内,配置各实例的根桥与备份根桥。

    3. 配置各实例中某端口的路径开销值,实现将该端口阻塞。

    4. 使能MSTP,实现破除环路,包括:

    5. 与终端相连的端口不用参与MSTP计算,建议将其设置为边缘端口并使能端口的BPDU报文过滤功能。

  2. 配置保护功能,实现对设备或链路的保护。例如:在各实例的根桥设备指定端口配置根保护功能。

  3. 配置设备的二层转发功能。

  4. 配置各设备端口IP地址及路由协议,使各设备间网络层连通。

  5. 在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的状态

路由交换-vrrp和mstp配置举例_第3张图片

在MSTI1中,由于SWA是根桥,SWA的端口GE0/0/2和GE0/0/1称为指定端口。

在MSTI2中,SWA的端口GE0/0/1称为指定端口,GE0/0/2称为根端口

在SWB上执行display stp brief

路由交换-vrrp和mstp配置举例_第4张图片

MSTI2中,由于SWB是根桥,端口GE0/0/1和GE0/0/2在MSTI2中称为指定端口。在MSTI1中,SWB的端口GE0/0/1成为指定端口,GE0/0/2是根端口

在SWC中,执行display stp interface brief

路由交换-vrrp和mstp配置举例_第5张图片

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设备

路由交换-vrrp和mstp配置举例_第6张图片

在SWB上执行display vrrp ,可以看到SWB在备份组1中作为backup设备,在备份组2中作为master设备

路由交换-vrrp和mstp配置举例_第7张图片