一.MSTP协议
MSTP协议出现是基于STP协议和RSTP协议的,要了解MSTP协议就需要先了解其它两个协议
首先,STP协议是交换机生成树协议,它的出现主要是为了解决二层交换机环路的问题,当多个交换机构成环路时,就会发生网络风暴,即一个数据包不断的在环路中传递,浪费交换机资源
为了解决这一问题,就诞生了生成树协议STP,有很多交换机也是自运行STP协议,如华为的,STP解决环路的主要方法是阻塞端口,
当环路存在会在交换机中选取根桥交换机,负责数据的转发,其根桥的端口都是指定端口用来发送数据的
而其它交换机就会选举出根端口或指定端口,根端口负责接收数据
当没有被选上的端口就会阻塞,即不是根端口也不是指定端口
STP也叫单生成树协议,当环路被阻塞一个端口后,其构成的网络拓扑就好比一棵树一样,但是这种STP协议由于出现早,技术不成熟,导致了它对于链路的选举十分慢
所以后面就出现了RSTP快速生成树协议,它的收敛速度很快,并且在STP的基础上增加了2种端口标识,并且把端口属性充分地按照状态和角色解耦
但是RSTP协议也是单生成树协议,它和STP应用面临相同的问题,即无法实现负载均衡
如上图:
当使用STP或RSTP协议时,以阻塞端口解除环路时,它的问题就是不能实现负载均衡,但是容灾能力依旧存在
不管是PC9还是PC10,访问LSW9和LSW10,路径都是同样的路径3,路径4,这使得路径3的开销会很大,而被阻塞的那个路径没有数据传输的开销,这就使得它们不能实现负载均衡
还有一个问题就是次优路径的问题,我们看图PC10,如果他要去LSW10应该是通过被阻塞的那条路径是最短的,但是它是被阻塞的,导致它要绕道LSW9然后到LSW10,所以就产生了链路存在最优路径,而被迫走次优路径的情况
所以为了解决这些问题,MSTP孕育而生了
MSTP出现解决了STP收敛慢的特点,又解决了RSTP不能实现负载均衡和次优路径的问题
MSTP协议也叫多生成树协议,听名字就知道,它不再是单独的一棵生成树,MSTP是基于实例来划分生成树的,实例可以有255个,每个实例中装的都是VLAN,每个实例可以装多个Vlan
这样我们大概就可以知道,MSTP中生成树就是根据Vlan来划分成的,每个实例都有自己的一些vlan,所以不同的实例就会走自己的生成树,从而不同的生成树堵塞端口也不一样
如上图:
这就是MSTP生成树协议的解除环路的方式,它不在统一构建单颗生成树,而是依旧实例vlan构建多棵生成树
由于LSW9是PC9的网关,而LSW10是PC10的网关,在通信时它们会依据生成树去找网关,这就解决了负载均衡的问题
当到达网关后,它可以沿着网关去任何一条路径,并且两个实例的路径时对立的,不存在走重的路径,这就解决了一个PC去网关需要去另外一个PC的路径借道到网关,使得发生次优路径的情况
理论我们已经清楚了,记住提到MSTP协议一定要想到多生成树,现在来看看实现
二.MSTP配置(ENSP)
配命令:
LSW9:
vlan batch 10 20
stp instance 1 root primary
stp instance 2 root secondary
stp region-configuration
region-name huawei
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
LSW10:
vlan batch 10 20
stp instance 1 root secondary
stp instance 2 root primary
stp region-configuration
region-name huawei
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
LSW11:
vlan batch 10 20
stp region-configuration
region-name huawei
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
interface Ethernet0/0/1
port link-type access
port default vlan 10
interface Ethernet0/0/2
port link-type access
port default vlan 20
interface Ethernet0/0/21
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/22
port link-type trunk
port trunk allow-pass vlan 2 to 4094
提出MSTP协议的关键配置:
stp mode mstp
切换默认STP协议为MSTP协议
stp region-configuration
进入MSTP协议的配置
region-name huawei
配置服务为华为云服务区域名称
instance 1 vlan 10
将Vlan10加入实例1
instance 2 vlan 20
将Vlan20加入实例2
active region-configuration
激活MSTP配置
三.抓包分析MSTP
如上图:
实例10的路径是沿着LSW11 到 LSW9 在到LSW10因为ping的是对方的网关,自己的网关是LSW9
根据抓包路径就可以看到实例10是阻塞的LSW11 到 LSW10这条路径,
如果是STP协议那么实例20也应该是堵塞的这条路径,但是这是MSTP协议,我们在看看实例20的抓包,相同的也是ping对方的网关,也就是实例10的网关
如上图
实例20走的路径则是和实例10相反,为什么呢?因为多生成树协议,解决了次优路径的问题,
通过图就可以看到LSW11 到 LSW10的路径到网关是最短的,LSW10是实例20的网关,因为要先到网关再到实例10的网关
同时我们也可以发现LSW11 到 LSW9这段路径被阻塞了,然后具体分析一下
实例10堵塞的是路径:LSW11----LSW10
实例20堵塞的是路径:LSW11----LSW9
通过上面的抓包就大概可以了解到为什么MSTP是多生成树协议了吧,因为它真的生成了多棵树,而且是更具最优路径来生成树
补充:
要想实例10去网关都走LSW9,其实相对于LSW9来说,它就是实例10这颗生成树的根桥交换机,所以要想它被选为实例10的根桥交换机,就可以对其进行配置:
stp instance 10 root primary
在LSW9交换机上配置stp实例10为其根桥
相同的道理,实例20去网关都走LSW10,那么LSW10也是实例20的根桥交换机,对其配置:
stp instance 20 root primary
如上,配置LSW10后它就是实例10这颗生成树的根桥了,数据包会优先到根桥交换机,然后转发
这样它即是根桥交换机又是网关,二者兼得
四.VRRP协议
什么是VRRP协议?
VRRP叫路由冗余协议,是一种提高网络可靠性的容错协议,它可以在主机的下一跳设备故障时,及时将业务切换到备份设备,从而保证网络的正常通信
从定义中我们需要抓住一个关键字,备份,路由冗余协议需要备份什么,当然是路由
VRRP常常用于备份网关,它和MSTP协议结合使用,首先我们要知道VRRP是怎么来备份的,
它在备份的设备上设置一个网关,且优先级大于100,因为默认的VRRP虚拟接口是100,大于100则表示在本机未故障的时候优先级是最高的,而其它设备上就需要备份设置相同的网关,不更改优先级就是100,那么它就是次优网关
当然,多备份的时候,只要小于主交换机的时候,也是可以当作备份的网关
这就和浮动路由很像,有两条路径都可以到达目的地址,但是在路由表中会记录最优的那条路径,当最优路径down掉以后,另外一条次优路径才会浮起来,保证链路通畅
相同的VRRP的配置中只要主网关还存在,那么其它的网关都是浮动的,无效路由,只有主网关(优先级最高的)宕机以后,其它的备份网关才会浮起来
VRRP配置的网关也是一个在虚接口上,所以它可以在物理层上将两个或多个路由器逻辑的划分为一个,根据优先级来决定去那个路由器
这也是VRRP主要的实现方式,逻辑的将多个路由器网关构成一个网关
如上图:
当两个VRRP虚拟接口网关都存在的时候,则是优先级高的来当网关,提供网关服务
当优先级高的网关2宕机以后,备份网关1也就浮动起来了,然后由网关1来当网关,然后继续提供网关服务
VRRP实验(ENSP)
实现的目的
LSW9作为192.168.1.0网段的主网关,并且作为192.168.2.0的备份网关
LSW10作为192.168.2.0网段的主网关,并且作为192.168.1.0的备份网关
然后来看配置:
LSW9:
interface Vlanif10
ip address 192.168.1.200 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 200
interface Vlanif20
ip address 192.168.2.200 255.255.255.0
vrrp vrid 2 virtual-ip 192.168.2.254
LSW10:
interface Vlanif10
ip address 192.168.1.200 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
interface Vlanif20
ip address 192.168.2.200 255.255.255.0
vrrp vrid 2 virtual-ip 192.168.2.254
vrrp vrid 2 priority 200
如上,
在交换机上配置IP地址是需要先进入Vlanif中的,如果是在路由器上配置就进入接口中就行了
首先给Vlanif增加一个IP地址,因为VRRP是虚拟接口,所以不需要直接配置在Vlanif接口上
而是在此接口上虚拟化一个VRRP,在LSW9上192.168.1.254的优先级为200,而192.168.2.254的优先级为100(默认)
且在LSW10上192.168.1.254优先级为100,192.168.2.254的优先级为200
由此LSW9为192.168.1.0的主网关,为192.168.2.0的备份网关
LSW10为192.168.2.0的主网关,为192.168.1.0备份网关
在任何一个交换机故障后,VRRP配置会使备份顶上来,维护链路完整通信。