网络可靠性保障-VRRP
前言
局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络, 如果此时默认网关设备发生故障, 将中断所有用户终端的网络访问, 这很可能会给用户带来不可预计的损失, 所以可以通过部署多个网关的方式来解决单点故障问题, 那么如何让多个网关能够协同工作但又不会互相冲突就成了最迫切需要解决的问题。
VRRP的产生背景
单网关的缺陷
当网关路由器RouterA出现故障时, 本网段内以该设备为网关的主机都不能与Internet进行通信。
多网关存在的问题
多网关:通过部署多网关的方式实现网关的备份。
但多网关可能会出现一些问题:
- 网关间IP地址冲突
- 主机会频繁切换网络出口
VRRP基本概述
VRRP能够在不改变组网的情况下, 将多台路由器虚拟成一个虚拟路由器, 通过配置虚拟路由器的IP地址为默认网关, 实现网关的备份。
协议版本: VRRPv2(常用) 和VRRPv3:
- VRRPv2仅适用于IPv4网络
- VRRPv3适用于IPv4和IPv6两种网络
VRRP基本结构
-
Priority: 设备在备份组中的优先级,取值范围是0~255。
0表示设备停止参与VRRP备份组, 用来使备份设备尽快成为Master设备, 而不必等到计时器超时;
255则保留给IP地址拥有者, 无法手工配置;
设备缺省优先级值是100。 -
vrid: 虚拟路由器的标识, 如图中RouterA和RouterB组成的虚拟路由器的vrid为1, 需手工指定, 范围1-255。
-
虚拟IP地址(Virtual IP Address):虚拟路由器的IP地址, 一个虚拟路由器可以有一个或多个IP地址, 由用户配置,不能与物理地址冲突。
状态机
开启VRRP的设备有三种状态:
- Initialize:初始化状态,设备刚开机或宕机。
- Backup:备份状态,设备进行VRRP协商的状态
- Master:主状态,设备处于转发状态,是优先级最高的Backup设备。
三种状态之间的转换条件如下:
- Initialize->Master: Startup priority=255;
- Initialize->Backup: Startup priority!=255;
- Master->Initialize: 设备关闭;
- Master->Backup: 收到比自己优先级更高的数据
包; - Backup->Initialize: 设备关闭;
- Backup->Master: 在超时时间内没有收到VRRP通告报文或者收到通告报文原Master优先级为0,或者收到的通告报文中的原Master优先级比自己的优先级低
Master设备的选举
- 初始创建的VRRP设备工作在Initialize状态, 收到接口Up的消息后, 如果设备的优先级为255,则直接成为Master设备; 如果设备的优先级小于255, 则会先切换至Backup状态, 待Master_Down_Interval定时器超时后再切换至Master状态。 首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级, 进行Master的选举: 如果VRRP报文中Master设备的优先级高于或等于自己的优先级, 则Backup设备保持Backup状态。
- 如果VRRP报文中Master设备的优先级低于自己的优先级, 采用抢占方式的Backup设备将切换至Master状态, 采用非抢占方式的Backup设备仍保持Backup状态。
- 如果多个VRRP设备同时切换到Master状态, 通过VRRP通告报文的交互进行协商后, 优先级较低的VRRP设备将切换成Backup状态, 优先级最高的VRRP设备成为最终的Master设备; 优先级相同时, VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备。
一言以蔽之,就是一开始只要优先级不是255,就全是Backup,然后比较出优先级最大的成为Master。
VRRP主备路由器切换过程
如果Master发生故障, 则主备切换的过程:
缺省情况下, Master发送VRRP报文的时间间隔为1秒, 即Advertisement_Interval =1。
Master_Down_Interval=(3* Advertisement_Interval) + Skew_time。
其中,Skew_Time=(256–Priority)/256 (优先级越大,等待时间越短,这样优先级大的设备可以尽快成为Master)
如果原Master故障恢复, 则主备回切的过程:
上图中的问题引出了两个新的概念:抢占模式和抢占延迟。
抢占模式( Preemption Mode)
- 控制具有更高优先级的备用路由器是否能够抢占具有较低优先级的Master路由器,使自己成为Master。缺省为抢占模式。
- 注意:存在的例外情况是如果IP地址拥有者是可用的,则它总是处于抢占的状态,并成为Master设备。
抢占延时( Delay Time):
- 抢占延迟时间,默认为0,即立即抢占。
- 图中RouterA故障恢复后,立即抢占可能会导致流量中断,因为RouterA的上行链路的路由协议可能未完成收敛,这种情况则需要配置Master设备的抢占延时。
- 另外,在性能不稳定的网络中,网络堵塞可能导致Backup设备在Master_Down_Interval期间没有收到Master设备的报文, Backup设备则会主动切换为Master。如果此时原Master设备的报文又到达了,新Master设备将再次切换回Backup,如此则会出现VRRP备份组成员状态频繁切换的现象。为了缓解这种现象,可以配置抢占延时,使得Backup设备在等待了Master_Down_Interval时间后,再等待抢占延迟时间。如在此期间仍没有收到通告报文, Backup设备才会切换为Master设备。
VRRP的故障场景
大家可以稍微思考或者猜想一下,上面1、2、3三个位置,哪些位置出现故障,会引起VRRP的主备切换?
答案是2和3,如果1发生故障,advertisement报文依然可以在A和B直接传递,主备就不会发生切换,这样会造成HostA访问Internet的流量在RouterA处被丢弃, 所
以需要使VRRP设备能够感知到上行链路故障, 并且及时做主备切换。
VRRP联动功能
解决方案:利用VRRP的联动功能监视上行接口或链路故障,主动进行主备切换。
配置命令:vrrp vrid 1 track interface GigabitEthernet 0/0/1 reduced
解释:这条命令就是检测如果G0/0/1口出现故障,就会减少vrid 1的优先级的值,这样当该设备优先级比Backup低了之后,就会被抢占,从而实现主备切换。
VRRP负载分担工作过程
- 负载分担是指多个VRRP备份组同时承担业务转发, VRRP负载分担与VRRP主备备份的基本原理和报文协商过程都是相同的。对于每一个VRRP备份组,都包含一个Master设备和若干Backup设备。
- 与主备备份方式的不同点在于:负载分担方式需要建立多个VRRP备份组,各备份组的Master设备分担在不同设备上;单台设备可以加入多个备份组,在不同的备份组中扮演不同的角色
VRRP基本配置
尾声
如果你能坚持看到这里,恭喜你已经看完了VRRP相关的基本知识点,如果有什么不懂的欢迎留言评论或者私信我。