计算网络之MSTP协议与VRRP协议

发布时间 2023-11-15 19:53:57作者: 回忆也交给时间

一.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配置会使备份顶上来,维护链路完整通信。