◆俞 淮
冗余链路的可靠性研究与实现
◆俞 淮
(92126部队 福建 350007)
为了提升网络的可靠性和稳定性,本文提出VRRP+端口track+BFD+NQA的冗余链路可靠性解决方案, 确保网络的稳定运行,让客户获得高可靠的网络业务体验。
冗余链路;VRRP;BFD;NQA
随着互联网的发展,大型企业的网络已经从简单的信息承载平台转变为公共服务平台,这就要求企业网络越来越稳定。为了保证网络的健壮性、效率和稳定性,企业有必要对机房中的关键设备采用硬件备份和双机冗余技术,利用相关的软件提供强有力的管理机制、控制手段和硬件技术,实现冗余链路的可靠切换。本文介绍的是采用虚拟路由器冗余协议(Virtual Router Redundancy Protocol,VRRP)[1-4]。
虚拟路由器冗余协议是一种容错协议,也可以叫做备份路由协议。每一个VRRP组就是抽象出来一个虚拟的路由器,该路由器充当网络中的网关。对用户而言,只需知道虚拟路由器的IP,至于数据由谁来转发,Master故障以后谁来接替,这是VRRP的工作。在每一个VRRP组中,仅有master响应对虚拟IP地址的ARP请求。Master路由器周期性地发送VRRP消息,以便告知Backup路由器自己的存活。一旦Master路由器出现故障,处于监听状态的Backup路由器就开始接替工作[5-7]。
VRRP技术可以提供冗余链路主备切换,但是在实际部署中发现上行链路故障,主备无法切换,下行链路故障,主备切换时间过长等问题。下面针对每种问题,提出相应的改进办法。
上行直连链路故障时,由于下行链路正常,主备设备之间VRRP交互报文不受影响,所以导致主备无法切换。端口跟踪技术可以很好的解决这个问题,让VRRP组跟踪上行端口的状态,如果检测到端口由UP状态变为DOWN状态,则自动将主设备的优先级降低到备份设备优先级以下,备份设备收到VRRP交互报文后会自动由backup状态切换到master状态,从而实现主备切换。具体配置如下所示:
#主设备优先级设为150,备份优先级默认为100
[GigabitEthernet0/0/1]vrrp vrid 1 priority 150
#主设备上行端口故障时,优先级降低60
[GigabitEthernet0/0/1]vrrp vrid 1 track interface Gi0/0/24 reduced 60
主设备故障,或者下行链路故障时,备份设备要等3个VRRP交互报文周期,大约是3.4秒[8],如果还未收到交互报文,则默认主设备故障,备份设备由backup状态切换为master状态,接替工作,实现主备切换。但是这个等待的时间对一些实时性要求高的业务是无法忍受的,所以采用BFD联动技术,使得冗余链路的切换时间缩短到1秒以内,大大提高可靠性。
VRRP与BFD联动部署配置如下所示:
#使能BFD
[R1]bfd
[R1-bfd]quit
[R1]bfd atob bind peer-ip 192.168.1.253 interface Gi0/0/1
[R1-bfd-session-atob]discriminator local 1
[R1-bfd-session-atob]discriminator remote 2
#设置bfd检测间隔50ms
[R1-bfd-session-atob]min-rx-interval 50
[R1-bfd-session-atob]min-tx-interval 50
R2的配置
#使能BFD
[R2]bfd
[R2-bfd]quit
[R2]bfd btoa bind peer-ip 192.168.1.252 interface Gi0/0/1
[R2-bfd-session-btoa]discriminator local 2
[R2-bfd-session-btoa]discriminator remote 1
#设置bfd检测间隔50ms
[R2-bfd-session-btoa]min-rx-interval 50
[R2-bfd-session-btoa]min-tx-interval 50
设置VRRP与BFD联动
#如果bfd检测失败,备份设备优先级提升60
[R2-GigabitEthernet0/0/1]vrrp vrid 1 track bfd-session 2
increased 60
上行直连链路故障可以用端口跟踪技术解决,但是上行多跳链路故障,VRRP主设备是无法感知的。这时候需要使用华为数通设备的NQA(Network Quality Analysis)技术,来检测上行多跳链路某个IP地址的可达性,如果检测失败则降低主设备的优先级,切换到备份链路接替工作,保证冗余链路的可靠性。
VRRP与NQA联动配置如下所示:
#设置NQA管理和实例名称
[R1]nqa test-instance admin test
#探测协议类型为ICMP,
[R1-nqa-admin-test]test-type icmp
[R1-nqa-admin-test]destination-address ipv4 192.168.4.1
#设置检测周期为3秒
[R1-nqa-admin-test]frequency 3
#设置ICMP报文发送间隔
[R1-nqa-admin-test]interval seconds 1
#超时时间为1秒
[R1-nqa-admin-test]timeout 1
#一个探测周期的发包个数
[R1-nqa-admin-test]probe-count 2
#立即开始检测
[R1-nqa-admin-test]start now
#vrrp与nqa实例联动,检测失败则降低优先级60
[R1-GigabitEthernet0/0/1]vrrp vrid 1 priority 150
[R1-GigabitEthernet0/0/1]vrrp vrid 1 track nqa admin test
reduce 60
在部署NQA的时候,各参数的设置不正确,会导致检测结果异常,需遵循如下规则:
interval * probe-count + timeout < frequency
在上行多跳链路故障中,如果未部署NQA,链路在断流一段时间以后也会自动恢复,但是主备不会切换,从路由跟踪可以发现,流量是先到主设备,再到备份设备的。断流的时间由ospf等动态路由协议收敛的时间决定。
冗余链路可靠性技术的优缺点如表1所示。单纯的VRRP技术在设备故障或者下行链路故障时,备份设备在VRRP交互报文超时以后接替工作。VRRP+端口track技术对上行链路故障感知较快,自动降低优先级并通知备份设备。VRRP+BFD技术可以较快的感知设备故障和下行链路故障,接替时间缩短到1秒以内。VRRP+NQA技术可以利用ICMP监测端口,感知上行多跳链路故障,及时降低主设备优先级,并通告给备份设备。
表1 冗余链路可靠性技术
综上所述,我们提出VRRP+端口track+BFD+NQA的冗余链路可靠性解决方案。既可以缩短主备切换的时间,又可以感知上行多跳链路故障,大大提高冗余链路的可靠性,确保网络业务的稳定运行。
为验证解决方案的有效性,配置如图1所示的VRRP性能测试拓扑。设备包括华为AR2220路由器一台,S5700三层交换机4台,S3700二层交换机一台,PC机一台,网线若干。实验测试在下行链路故障,上行链路故障,上行多跳链路故障三种情况下分别进行,测试冗余链路的可靠性,包括网络断流和丢包情况,具体如下所述。
LSW1和LSW2配置VRRP组,其中LSW1为master,LSW2为backup。
LSW1交换机track跟踪上行端口。
LSW1和LSW2下行通过LSW5连接的链路配置BFD。
LSW1和AR1之间配置NQA。
PC1用ICMP协议ping AR1的LOOPBACK0地址监测链路。
图1 性能测试拓扑图
拔掉LSW1与LSW5之间的网线,造成下行链路故障,从PC1上未发现网络丢包,在LSW2上display vrrp brief发现其已经变成master状态。
拔掉LSW1与LSW3之间的网线,造成上行链路故障,从PC1上未发现网络丢包,在LSW2上display vrrp brief发现其已经变成master状态。
拔掉LSW3与AR1之间的网线,造成上行多跳链路故障,从PC1上未发现网络丢包,在LSW2上display vrrp brief发现其已经变成master状态。
通过对冗余链路可靠性技术的研究,提出一种优化的解决方案,经过测试,可以使VRRP的切换速度达到秒级以内,大大提高了网络的可靠性。
[1]郭能华.基于MSTP+VRRP双核心技术的企业网络冗余设计与实现[J].中国管理信息化,2016.
[2]孙光懿.基于VRRP和MSTP协议实现校园网高可靠性[J].中央民族大学学报(自然科学版),2018.
[3]王轶群.VRRP路由协议介绍及配置[J].赤峰学院学报(自然科学版),2013.
[4]张文川.使用VRRP技术提高网络的可靠性[J].软件工程,2017.
[5]蒲宝卿.一种提高校园网可靠性的VRRP协议解决方案[J].甘肃高师学报,2011.
[6]曾志峰.VRRP协议与网络安全的高可靠性[J].计算机安全,2003.
[7]王英杰.基于BFD和VRRP的出口链路冗余设计与实现[J].软件导刊,2015.
[8]暨仲明.VRRP与监测功能联动的设计与实现[J].电子器件,2009.