vlan链路聚合实验,破除企业各VLAN间负载均衡冗余线路产生的环路问题
vlan链路聚合实验,破除企业各VLAN间负载均衡冗余线路产生的环路问题2、配置MSTI 1的根桥为SwitchA,备份根桥为SwitchB,MSTI 2的根桥为SwitchB,备份桥为SwitchA。1、将VLAN10~20映射到MSTI 1,将VLAN21~30映射到MSTI 2上;当网络中存在环路时,可以部署STP/RSTP进行破环。但是使用STP/RSTP破环后,局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。例如,图中SwitchC接收到用户VLAN10至VLAN30的流量后,VLAN10至VLAN20的流量从GE0/0/1端口传输,VLAN21至VLAN30的流量从GE0/0/2端口传输,从而不但破除了环路,还实现了VLAN间流量的负载分担。一、在交换机上配置MSTP基本功能。
在网络世界中,由于冗余备份的需要,一般在设备之间部署多条物理链路,其中一条作为主用链路,其他链路作为备份。这样难免形成环路,环路就可能会引起广播风暴和MAC地址表项损坏。
广播环路(Broadcast Loop):显然,当PC A发出一个DMAC为广播地址的数据帧时,由交换机对于广播的处理方式可知,该广播会被无休止的转发。
MAC地址表损坏(Bridge Table Corruption):即使是单播,也有可能导致异常。交换机SW1可以在端口B上学习到PC B的MAC地址,但是由于SW2会将PC B发出的数据帧向自己其它的端口转发,所以SW1也可能在端口A上学习到PC B的MAC地址。如此SW1会不停的修改自己的MAC地址表。这样就引起了MAC地址表的抖动(Flapping)。
为了解除因为冗余线路引起的网络环路问题,我们可以在网络中部署STP、MSTP、SEP或RRPP协议其中之一来预防环路。由于STP属于一代生成树协议,且由于线路收敛时间过长,SEP和RRPP过于复杂,今天我们就来讲讲MSTP如何破除环路,让网络负载均衡处于正常的工作状态。
当网络中存在环路时,可以部署STP/RSTP进行破环。但是使用STP/RSTP破环后,局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。
例如,图中SwitchC接收到用户VLAN10至VLAN30的流量后,VLAN10至VLAN20的流量从GE0/0/1端口传输,VLAN21至VLAN30的流量从GE0/0/2端口传输,从而不但破除了环路,还实现了VLAN间流量的负载分担。
配置思路:一、在交换机上配置MSTP基本功能。
1、将VLAN10~20映射到MSTI 1,将VLAN21~30映射到MSTI 2上;
2、配置MSTI 1的根桥为SwitchA,备份根桥为SwitchB,MSTI 2的根桥为SwitchB,备份桥为SwitchA。
3、对于MSTI 1选择阻塞SwitchC GE0/0/2端口,对于MSTI 2选择阻塞SwitchC GE0/0/1端口,以上阻塞方式均通过配置端口的路径开销值来实现。
4、将交换机上不需要进行STP拓扑计算的端口STP功能去使能。
5、配置生成树协议的工作模式为MSTP,并使能MSTP功能。
二、配置处于环网中设备的二层转发功能 ,将所有端口均加入VLAN10~30。
配置文件一、配置SwitchA:
<SwitchA>system-view
[SwitchA]stp region-configuration
[SwitchA-mst-region]region-name RG1 //配置MST域的域名为RG1
[SwitchA-mst-region]instance 1 vlan 10 to 20 //vlan10-20映射到实例1
[SwitchA-mst-region]instance 2 vlan 21 to 30 //vlan21-30映射到实例2
[SwitchA-mst-region]active region-configuration //激活MST域的配置
[SwitchA-mst-region]quit
[SwitchA]stp instance 1 root primary //配置实例1为根桥
[SwitchA]stp instance 2 root secondary //配置实例2为备份桥
[SwitchA]int g0/0/3
[SwitchA-GigabitEthernet0/0/3]stp disable //连接出口路由,不在环路内,手动关闭G0/0/3端口STP
[SwitchA-GigabitEthernet0/0/3]quit
[SwitchA]stp mode mstp //配置交换机STP工作模式为MSTP
[SwitchA]stp enable //全局使能STP协议
[SwitchA]vlan batch 10 to 30 //以下配置SwitchA的二层转发功能
[SwitchA]int g0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type trunk
[SwitchA-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]int g0/0/2
[SwitchA-GigabitEthernet0/0/2]port link-type trunk
[SwitchA-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[SwitchA-GigabitEthernet0/0/2]quit
二、配置SwitchB:
<Huawei>system-view
[SwitchB]stp region-configuration
[SwitchB-mst-region]region-name RG1 //一定要跟对端的MST域配置一致
[SwitchB-mst-region]instance 1 vlan 10 to 20
[SwitchB-mst-region]instance 2 vlan 21 to 30
[SwitchB-mst-region]active region-configuration
[SwitchB-mst-region]quit
[SwitchB]stp instance 2 root primary //实例2为根桥
[SwitchB]stp instance 1 root secondary //实例1为备份桥
[SwitchB]stp mode mstp
[SwitchB]stp enable
[SwitchB]vlan batch 10 to 30 //以下配置SwitchB的二层转发功能
[SwitchB]int g0/0/1
[SwitchB-GigabitEthernet0/0/1]port link-type trunk
[SwitchB-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30
[SwitchB-GigabitEthernet0/0/1]quit
[SwitchB]int g0/0/2
[SwitchB-GigabitEthernet0/0/2]port link-type trunk
[SwitchB-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[SwitchB-GigabitEthernet0/0/2]quit
3、配置SwitchC:
<SwitchC>system-view
[SwitchC]stp mode mstp
[SwitchC]stp enable
[SwitchC]vlan batch 10 to 30
[SwitchC]stp region-configuration
[SwitchC-mst-region]region-name RG1 //一定要跟对端的MST域配置一致
[SwitchC-mst-region]instance 1 vlan 10 to 20
[SwitchC-mst-region]instance 2 vlan 21 to 30
[SwitchC-mst-region]active region-configuration
[SwitchC-mst-region]quit
[SwitchC]int g0/0/1
[SwitchC-GigabitEthernet0/0/1]stp instance 2 cost 20000 //配置路径开销值为20000。达到实例2时候端口1阻塞效果
[SwitchC-GigabitEthernet0/0/1]port link-type trunk
[SwitchC-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30
[SwitchC-GigabitEthernet0/0/1]quit
[SwitchC]int g0/0/2
[SwitchC-GigabitEthernet0/0/2]stp instance 1 cost 20000 //配置路径开销值为20000,达到实例1时候端口2阻塞效果
[SwitchC-GigabitEthernet0/0/2]port link-type trunk
[SwitchC-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[SwitchC-GigabitEthernet0/0/2]quit
[SwitchC]int g0/0/3
[SwitchC-GigabitEthernet0/0/3]stp disable //连接PC主机,手动关闭端口STP协议
[SwitchC-GigabitEthernet0/0/3]quit
测试结果实例1时候,SwitchA为根桥,SwitchC端口2处于阻塞状态;
实例2时候,SwitchB为根桥,SwitchC端口1处于阻塞状态。