一 VRRP简介

网络的高速发展与普及的深入,现如今人们的生产生活都离不开网络的支持,人们多网络的需求将持续增长,伴随而来的对网络要求也在提高。网络的稳定与高速传输及保密性是当今人们多网络最显要的诉求。基础网络的可靠性性与稳定性更是人们最为关注点,毕竟每一位网络用户能忍受较为低速的传输,但是绝对无法接收自己网络的中断,受网络传输协议的影响,有的数据传输中间失败需要重传或者造成不可会逆的损失。所以保证保证网络传输的不中断变得异常重要。

如今的网络通信就是跨网段通信,我们的个人终端设备只能在自行完成同网段的通信,如果需要跨网段通信就需要借助网关设备,我们把这些具有跨网段通信能力的设备通常为三层设备(这里层数是按照OSI 7层模型划分),而最典型的三层设备就是"Router—路由器"

VRRP--Virtual Router Redundancy Protocol虚拟路由冗余协议,就是专属为三层网络设备服务,为终端用户提供网关的冗余,避免因为三层网关设备单点故障导致终端用户的通信失败。


二 VRRP 工作原理与部署

vrrp标准协议(网关冗余---VRRP)(1)


1 VRRP工作原理

VRRP原理概述:

多台网关设备运行VRRP协议通过VRRP报文按照各自优先级选举出最优网关设备定义为Master网关,Master网关为终端用户提供

虚拟的网关IP地址和虚拟的MAC地址,他网关设备作为主网关设备的备份(Backup),当主网关设备故障后备份网关设备中优先级最高的备份网关接管虚拟网关地址,为终端用户继续提供跨网段服务,主备切换后无需在用户端修改用户的网关IP,从而实现网关地址的备份。


VRRP目前有2个版本,华为设备默认运行的我是VRRP -V2版本,VRRP的V2只支持IPv4协议;VRRP-V3版本既支持IPv4也支持IPv6协议。本次为各位实验演示的是VRRP的V2


2 VRRP部署

vrrp标准协议(网关冗余---VRRP)(2)


在进行VRRP部署前先完成缺省路由和NAT的配置,静态缺省路由指向运营商是指导我们的本地网关设备转发去往公网的数据传输给运营商设备处理,配置Easy IP是因为运营商只分配给我们很少的公网地址,我们想让内网的所有成员都能访问公网时那就必须借助统一的公网地址出去。


1 -网关设备的接口配置VRRP

(1)---指定VRRP编组VID(互相备份处于同网段的网关设备处于同一个VID编组)

(2)---指定VID编组下对应的V-IP地址(V-IP地址是虚拟的网关地址,终端用户使用的网关地址)

(3)---指定本GW设备的在此VID编组下的优先级(优先级参数的设定影响此GW是否可以成为此VID编组内的Master—主网关设备)


以上三点是陪在VRRP必须要指定的内容,后续还可以选配置是否开启抢占,或者配置VRRP与其他检测协议的联动等功能。


vrrp标准协议(网关冗余---VRRP)(3)


[GW-1]int G0/0/0

[GW-1-GigabitEthernet0/0/0]ip add 192.168.1.1 24------

配置此接口的物理地址,这个地址要和终端设备及其他VRRP的备份设备同网段,是这个路由器接口的基本地址。

[GW-1]int G0/0/0

[GW-1-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254

----------------------------------创建VRRP编组 1设置虚拟地址为192.168.1.254,同一个VRRP编组下的V-IP地址要一致,这个地址是终端用户使用的网关地址。


[GW-1-GigabitEthernet0/0/0]

[GW-1-GigabitEthernet0/0/0]vrrp vrid 1 priority 120 ------配置本设备在VRRP编组1中的优先级为120,默认100,越大越优先

[GW-1-GigabitEthernet0/0/0]

[GW-1-GigabitEthernet0/0/0]quit


同一个编组的VRRP设备都这样配置,除了物理地址和优先级不一样,编组号和V-IP地址一定要一样。


vrrp标准协议(网关冗余---VRRP)(4)


2 VRRP的测试

我们使用PC-2持续ping公网地址114.114.114.114,然后断开GW-1网关连接用户的先例,模拟故障,看运行VRRP协议的设备是否能检测搭配故障并且接管。


vrrp标准协议(网关冗余---VRRP)(5)


通过测试可以看到当GW-1网关线路故障,PC断网3S后重新恢复了网络的畅通,这说明VRRP协议又正常工作,确实为用户实现了网关的备份。至于这里为什么是断网3S是因为运行VRRP协议的Master—主网关设备每1S发送一次VRRP包,这个周期发送的VRRP包其中的一个作用就是主网关告诉备份网关自己还存活,不要抢我的"工作"。



三 VRRP监控部署

VRRP协议是为网关冗余备份服务的,可以为用户的网关做冗余,可是在以下情景中,只依据VRRP自身是无法实现冗余的。


1---网关上行链路故障—直接感知

vrrp标准协议(网关冗余---VRRP)(6)


这个环境里因为GW去往运营商的本地链路故障,导致GW-1失去网关价值,但是因为VRRP自身检测的下行链路是完好的,所以有能力去往运营商的GW-2还是不能切换为主网关设备。


针对这样的问题我们可以利用路由器自带的Track来检测本地连接外网的出接口状态,---这里的GW-1的G0/0/1接口,如果发现本地检测接口故障或者状态进入down,VRRP协议会降低设备的优先级,这样上行链路正常的备份设备就可以成为主网关。


vrrp标准协议(网关冗余---VRRP)(7)


[GW-1]int G0/0/0

[GW-1-GigabitEthernet0/0/0]vrrp vrid 1 track interface GigabitEthernet 0/0/1 reduced 30---------------------------配置本VRRP的编组1监控本地的G0/0/1接口状态,如果G0/0/1接口故障或者状态down 则降低本VRRP编组1的优先级,从当前优先级参数减少30


接下来我们继续模拟网关设备的上行链路故障


vrrp标准协议(网关冗余---VRRP)(8)


这时从切换时间也可以看到,即使在VRRP链路正常,但是上行链路故障的情况下也就行了VRRP的主备切换。


2 ---网关上行链路故障---间接感知

上面我们通过检测网关本地接口状态实现了当网关设备的上行链路故障进行网关的主备切换,然而很多情景下网关去往运营商链路物理距离较长,中间隔了很多中继设备,如果是中继链路故障,网关的本地接口是感知不到的。

vrrp标准协议(网关冗余---VRRP)(9)


需要借助第三方协议来检测链路是否存在通信故障,并且将检测结果和VRRP协议做联动,实现主备的快速切换。这里我们依然采用BFD—双向检测协议来实现链路的检测。关于BFD协议的介绍各位可以参考笔者之前的文章--《企业断网如何秒切至备用线》tiao.com/i6771692572617212429/#comment_area


vrrp标准协议(网关冗余---VRRP)(10)


[GW-1]bfd---------------------------------------开启BFD功能

[GW-1-bfd]quit

[GW-1]

[GW-1]bfd gw-1 bind peer-ip 13.1.1.1 interface GigabitEthernet 0/0/1 one-arm-echo ------------创建名称为gw-1的本地单臂回声BFD

[GW-1-bfd-session-gw-1]discriminator local 100--------此BFD会话的本地标识为100

[GW-1-bfd-session-gw-1]min-echo-rx-interval 200---BFD检测时间间隔200毫秒

[GW-1-bfd-session-gw-1]detect-multiplier 3----BFD会话检测超时次数3次

[GW-1-bfd-session-gw-1]commit --------------------激活本BFD会话

[GW-1-bfd-session-gw-1]quit

[GW-1]

[GW-1]int G0/0/0

[GW-1-GigabitEthernet0/0/0]vrrp vrid 1 track bfd-session 100 reduced 30----------------VRRP工作组1通过Track承载池与BFD--100进程的会话联动,BFD会话down,触发惩罚动作为减少优先级30

[GW-1-GigabitEthernet0/0/0]quit


vrrp标准协议(网关冗余---VRRP)(11)


经过测试我们发现当运营商链路故障,得益于BFD会话的快速检测效能,终端PC只丢失了一个数据包就完成了VRRP协议的主备网关切换。


本次对VRRP协议的解析到此,希望能对各位阅读者有所帮助,每一位阅读者的转发点赞是对笔者最大的鼓励。

,