计算网络之 MSTP 协议与 VRRP 协议
一.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:
LSW10:
LSW11:
提出 MSTP 协议的关键配置:
stp mode mstp
切换默认 STP 协议为 MSTP 协议
stp region-configuration
进入 MSTP 协议的配置
region-name huawei
配置服务为华为云服务区域名称
instance 1 vlan 10
将 Vlan10 加入实例 1instance 2 vlan 20
将 Vlan20 加入实例 2active 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 的根桥交换机,就可以对其进行配置:
在 LSW9 交换机上配置 stp 实例 10 为其根桥
相同的道理,实例 20 去网关都走 LSW10,那么 LSW10 也是实例 20 的根桥交换机,对其配置:
如上,配置 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:
LSW10:
如上,
在交换机上配置 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 配置会使备份顶上来,维护链路完整通信。
文章转载自:回忆也交给时间
评论