VRRP路由器切换方法、路由器、VRRP主备切换系统及存储介质与流程

文档序号:14178928阅读:4385来源:国知局
VRRP路由器切换方法、路由器、VRRP主备切换系统及存储介质与流程

本发明涉及虚拟路由冗余协议(vrrp)技术领域,尤其涉及一种vrrp路由器切换方法、路由器、vrrp主备切换系统及存储介质。



背景技术:

虚拟路由冗余协议(virtualrouterredundancyprotocol,简称vrrp)是由国际互联网工程任务组(internetengineeringtaskforce,ietf)提出的解决局域网中配置静态网关出现单点失效现象的协议。最新协议在rfc3768中定义。vrrp广泛应用在边缘网络中,它的设计目标是使得在发生故障而进行设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数,vrrp协议需要具有ip地址备份,优先路由选择,减少不必要的路由器间通信等功能。

在vrrp协议中,有两组重要的概念:vrrp路由器和虚拟路由器,主控路由器和备份路由器。vrrp路由器是指运行vrrp的路由器,是物理实体,虚拟路由器是指vrrp协议创建的,是逻辑概念。一组vrrp路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定ip地址和mac地址的逻辑路由器。处于同一个vrrp组中的路由器具有两种互斥的角色:主控路由器(或称主用路由器)和备份路由器(或称备用路由器),一个vrrp组中有且只有一台主控路由器,可以有一个或多个备份路由器。vrrp协议使用选择策略从路由器组中选出一台作为主控路由器,负责地址解析协议(addressresolutionprotocol,arp)响应和转发ip数据包,组中的其它路由器作为备份路由器处于待命状态。当主控路由器发生故障时,备份路由器能在几秒钟的时延后升级为主路由器。由于此切换非常迅速而且不用改变ip地址和mac地址,故对终端使用者系统是透明的。只有当这个vrrp组中的所有的路由器都不能正常工作时,该域中的主机才不能与域外界通信。

在现有vrrp协议的竞选机制中,当主控路由器和备份路由器的vrrp链路发生中断或者主控路由器出现故障时,备份路由器将在等待一段长为主控路由器失效间隔(master_down_interval)的时间后如果没有收到主控中路由器的广告(advertisement)报文将认为它失效,自动转换到主控状态,并将自己广告出去。其中,

master_down_interval=3*advertisement_interval+(256-优先级)/256;

为了减少网络流量以降低路由器负荷,广告报文间隔

advertisement_interval不会设置的太短(缺省为1s),因此备份路由器接替主控路由器的等待时间一般也在秒级,默认配置下约为3.6秒。

vrrp作为设备和链路保护技术,如今被广泛应用到包括运营商语音、核心网等各种承载网络中,由于语音业务对实时性要求非常高,如果发生几十毫秒级别的流量瞬断,用户基本没有感觉,或者略有轻微的停顿感。如果超过秒级的流量中断,用户就会发现通话出现故障了。

综上所述,vrrp协议中的主备路由器切换速度有必要进行进一步的优化提高。



技术实现要素:

本发明实施例提供了一种vrrp路由器切换方法、路由器、vrrp主备切换系统及存储介质,能够大大提高故障情况下的网络收敛速度。

第一方面,本发明实施例提供了一种vrrp路由器切换方法,该方法包括以下步骤:

vrrp备份路由器检测在数据链路层是否接收到目的mac地址为虚拟路由器mac地址的报文;

在确定接收到目的mac地址为虚拟路由器mac地址的报文情况下,转发所述报文;以及

vrrp备份路由器切换为vrrp主控路由器。

第二方面,本发明实施例提供了一种vrrp路由器,该路由器中具有处理器和存储器,该存储器中存储有计算机程序,在该计算机程序被处理器执行时实现如下方法步骤:

从数据链路层接收交换机广播的报文;

在所述vrrp路由器处于备份状态且确定接收的报文的目的mac地址为虚拟路由器mac地址的情况下,转发所述报文;以及

进行备份状态到主控状态的切换。

第三方面,本发明实施例提供了一种vrrp主备切换系统,该系统包括:vrrp主控路由器、vrrp备份路由器以及交换机;

所述交换机在其与vrrp主控路由器的业务中断时,则将发送给所述vrrp主控路由器的报文进行广播;

所述vrrp备份路由器检测在数据链路层是否接收到目的mac地址为虚拟路由器mac地址的报文,并在确定接收到目的mac地址为虚拟路由器mac地址的报文的情况下,转发所述报文,并进行备份状态到主控状态的切换。

第四方面,本发明实施例提供了一种计算机存储介质,该存储介质存储有计算机程序,在计算机程序被执行时实现如上所述的vrrp路由器切换方法。

本发明实施例提供的vrrp路由器切换方法、vrrp路由器、vrrp主备切换系统能够大大提高vrrp主控路由器业务故障情况下的业务流量恢复收敛速度,并且协议改动较小,仅在转发层面进行优化,不涉及协议标准的根本改变,实现较为简单。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了现有虚拟路由器中各vrrp路由器的状态示意图。

图2示出了本发明一个实施例中vrrp路由器切换方法的流程示意图。

图3示出了本发明另一实施例中vrrp网络运行环境示意图。

图4示出了本发明又一实施例中vrrp主备切换系统的示意性框图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

图1示出了现有虚拟路由器中各vrrp路由器的状态示意图。组成虚拟路由器的路由器会有三种状态分别是初始化(initialize),主控(master)和备份(backup)。

1.初始化状态:系统启动后进入初始化状态,当收到接口启动(startup)的消息,将转入备份(优先级不为255时)或主控(状态优先级为255时)状态。在初始化状态,路由器不会对vrrp报文做任何处理。

2.主控状态:当路由器处于主控状态时它将会做下列工作:

(1)定期发送vrrp组播报文;只有主控路由器可以定期发布vrrp广告消息(如保活(keep-alive)消息),它使用ip多播数据包进行封装,发布范围只限于同一局域网内;

(2)发送免费arp(gratuitousarp)报文,以使网络内各主机知道虚拟ip地址所对应的虚拟mac地址;

(3)响应对虚拟ip地址的arp请求,并且响应的是虚拟mac地址,而不是接口的真实mac地址;

(4)转发目的mac地址为虚拟mac地址的ip报文;

(5)如果路由器是这个虚拟ip地址的拥有者,则接收目的ip地址为这个虚拟ip地址的ip报文,否则,丢弃这个ip报文。需要注意的是,由于有这一点要求,所以除非主路由器是ip地址拥有者,否则主机ping虚拟ip地址不能ping通;在主控状态中只有接收到比自己的优先级大的vrrp报文时,才会转为备份状态,只有当接收到接口的关机(shutdown)事件时才会转为初始化状态。

3.备份状态:当路由器处于备份状态时它将会做下列工作:

(1)接收主控路由器发送的vrrp组播报文,目的是从中了解主控路由器的状态,但是并不对组播报文进行任何的转发处理。备份路由器在连续三个通告间隔内收不到vrrp或收到优先级为0的通告后启动新的一轮vrrp选举。

(2)对虚拟ip地址的arp请求,不做响应。

(3)丢弃目的mac(媒体控制协议)地址为虚拟mac地址的ip报文。

(4)丢弃目的ip地址为虚拟ip地址的ip报文。

只有当备份路由器接收到master_down这个定时器到时的事件时,才会转为主控状态,而当接收到比自己的优先级小的vrrp报文时,它只是做丢弃这个报文的处理,从而就不对定时器做重置处理,这样定时器就会在若干次这样的处理之后到时,于是就转为主控状态。只有当接收到接口的关机事件时,才会转为初始化状态。

在本发明实施例中,对vrrp网络故障情况下的转发流程进行了优化改进,处于备份状态的vrrp备份路由器,在收到数据链路层目的mac地址为虚拟路由器mac地址的报文时,不再丢弃而是将其进行转发。使网络故障情况下vrrp备份路由器能够即时转发主控路由器转发的报文,提升了vrrp的主备切换效率,优化语音用户的使用体验,拓展了vrrp协议的使用范围。

图2所示为本发明实施例中vrrp路由器切换方法的流程示意图。如图2所示,该方法包括如下步骤:

步骤s210,备份路由器检测在数据链路层是否接收到目的mac地址为虚拟路由器mac地址的报文。

根据vrrp协议,备份路由器是知晓vrrp组虚拟mac地址的。虚拟路由器mac地址是虚拟路由器根据虚拟路由器id生成的mac地址,格式为:00-00-5e-00-01-{vrid}。当虚拟路由器回应arp请求时,使用虚拟mac地址,而不是接口的真实mac地址。

由于备份路由器可知晓vrrp组虚拟mac地址,因此备份路由器就可以检测在数据链路层是否收到目的mac地址为虚拟mac地址的报文。

通常情况下,备份状态下的备份路由器不会收到目的mac地址为虚拟mac地址的报文的,因为这个mac地址只有主控状态的路由器才会通告。二层网络的交换机会根据mac表将数据报文发送给主控路由器。但是,如果二层网络的交换机发生了业务中断,例如和主控路由器互联的接口断链,或主控路由器发生故障。此时,交换机会将数据报文(如业务流量)广播给同vlan的其他端口,处于备份状态下的路由器就收到了此类报文。

如果备份路由器检测到在数据链路层接收到目的mac地址为虚拟mac地址的报文时,继续进行下一步骤s230。否则继续检测。

步骤s230,备份路由器转发目的mac地址为虚拟路由器mac地址的报文。

如上所述,如果二层网络的交换机发生了业务中断,例如和主控路由器互联的接口断链。此时,交换机会清空vrrp主控路由器对应的mac转发表,对数据报文(如业务流量)进行广播转发,即将数据报文广播给同vlan的其他端口,处于备份状态下的备份路由器就收到了此类报文。

如果按照原始做法,备份状态的路由器将此类报文丢弃,那么本来已经切换到备份链路的流量在路由器由备份转为主控的过程中将仍旧处于中断状态,无法实现快速收敛。本发明中,备份状态的路由器不是丢弃报文,而是转发该报文,使得流量快速恢复,从而有效地缩短业务中断时间。经过在实际组网的检验测试,路由器例如选用zxr103884,配置vrrp虚地址作为用户网关,在不调整vrrp缺省广告间隔(advertisement_interval)的情况下,vrrp的主备收敛时间从理论的3s下降到10ms左右,主备切换速度提升效果十分显著,语音用户对网络故障和主备的切换基本无感知。

步骤s250,备份路由器经过一定时间转换为主控路由器,按照vrrp协议机制转发业务流量。

按照标准的vrrp协议,主控路由器故障情况下,经过一定的时间(缺省为3.6秒),备份路由器转换为主控路由器。备份路由器可基于优先级经过预定等待时间(如失效间隔master_down_interval)后自动切换为主控路由器。此时二层交换机学习到目的地址,不再将数据报文广播,转换后的主控路由器可按照标准的vrrp协议机制转发业务流量。

在rfc3768中定义vrrp备份路由器不转发目的mac为vrrp虚mac的流量。本发明中的技术优化主要针对这一点在转发层面进行了改进,使得备份路由器在尚未切换为主用路由器的时候也可以转发流量,使vrrp网络在故障情况下能够快速收敛。同时在协议层面仍旧按照rfc3768的标准制定,在vrrp网络环境未出现故障的情况下,备份路由器收到主控路由器转发的报文是不会回应的。即是说,在备份路由器正式切换为主控路由器之前,备份路由器也不会转发目的ip地址为虚拟ip地址的ip报文。这也保证了和不同厂家设备对接时,在vrrp基本协议方面不会存在兼容性问题,即使其他设备不支持备份路由器的快速转发,vrrp仍能在标准时间内正常切换。

本发明如上所述的vrrp路由器切换方法,具有如下优点:

(1)vrrp业务流量转发恢复速度更快,效果上相当于主备切换速度更快,经测试使用此技术能将vrrp主备的“切换”收敛速度从秒级提升到毫秒级。

(2)协议改动较小,仅在转发层面进行优化,不涉及协议标准的根本改变,实现较为简单。

图3所示为本发明实施例中vrrp网络运行环境示意图。在如图3所示的vrrp网络环境中,当网元到主控路由器的链路中断或者主控路由器出现故障(单板损坏或者设备重启)后,交换机会清空主控vrrp的mac转发表,对于数据报文(如业务流量)转而进行广播转发,备份路由器将收到的广播流量转发给网元,藉此实现vrrp主备的快速切换。也就是说,本发明实施例中,实现vrrp主备路由器能够快速切换的关键在于:处于备份状态的vrrp备份路由器,在数据链路层收到目的mac地址为虚拟路由器mac地址的报文时,不再丢弃而是将其进行转发。

如果按照原始做法,备份状态的路由器将在数据链路层收到目的mac地址为虚拟路由器mac地址的此类报文丢弃后,本来已经切换到备份链路的流量在路由器由备份状态转为主控状态的过程中将仍旧处于中断状态,无法实现快速收敛。如果备份状态的路由器能够转发该报文,那么流量会快速恢复,从而有效地缩短业务中断时间。经过在实际组网的检验测试,路由器选用zxr103884,配置vrrp虚地址作为用户网关,在不调整vrrp缺省advertisement_interval的情况下,vrrp的主备收敛时间能够从理论的3秒下降到10毫秒左右,主备切换速度提升效果十分显著,语音用户对网络故障和主备的切换基本无感知。

同时,由于本发明对现有协议改动较小,仅在转发层面进行优化,不涉及协议标准的根本改变,实现起来较为简单。

为了实现上述方法,还发明还提供了一种vrrp主备切换系统,如图4所示,该系统包括:vrrp主控路由器410、vrrp备份路由器420以及交换机430。交换机430在其与vrrp主控路由器的链路中断时广播数据报文。vrrp备份路由器420检测到在数据链路层接收到目的mac地址为虚拟mac地址的报文的情况下,转发该报文,并进行备份路由器到主控路由器的切换。具体地,存在多个备份路由器的情况下,可基于现有vrrp协议的竞选机制(如基于备份路由器的优先级)进行主备切换,经过预定等待时间(如失效间隔)后自动切换为主控路由器。

又一方面,结合图2描述的本发明实施例的vrrp路由器切换方法可以由vrrp备份路由器设备来实现。例如,vrrp路由器设备可以包括处理器以及存储有计算机程序指令的存储器。处理器通过读取并执行存储器中存储的计算机程序指令,以实现上述实施例中的任意一种vrrp路由器切换方法。

另外,结合上述实施例中的vrrp路由器切换方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种vrrp路由器切换方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1