一种虚拟路由器冗余协议故障检测的方法及路由设备的制作方法

文档序号:7811251阅读:159来源:国知局
一种虚拟路由器冗余协议故障检测的方法及路由设备的制作方法
【专利摘要】一种虚拟路由器冗余协议故障检测的方法及路由设备。一种VRRP故障检测的方法,应用于包括一个主用路由器以及一个或多个备用路由器的VRRP组,所述方法包括:所述主用路由器和所述备用路由器发送具有回声应答功能的链路检测报文,所述链路检测报文目的地址为所述VRRP组的虚拟地址,所述主用路由器和所述备用路由器确定在预定时间内是否收到自身发出的所述链路检测报文对应的响应报文,如果所述主用路由器和/或所述备用路由器在预定时间内没有收到所述的响应报文,则确定所述主用路由器故障。
【专利说明】一种虚拟路由器冗余协议故障检测的方法及路由设备

【技术领域】
[0001]本发明涉及通信领域,特别涉及一种虚拟路由器冗余协议故障检测的方法及路由设备。

【背景技术】
[0002]虚拟路由冗余协议(VirtualRouter Redundancy Protocol,简称 VRRP),是一种容错协议。该协议通过把几台物理路由设备联合组成一台虚拟路由设备,使用一定的机制保证当主机的下一跳路由器出现故障时,及时将业务切换到其它路由器,从而保持通讯的连续性和可靠性。
[0003]VRRP将局域网内的一组路由器划分在一起,称为VRRP备份组(简称VRRP组),VRRP组相当于一台虚拟路由器,具有虚拟IP地址,局域网内的主机仅需要知道这个虚拟IP地址,并将其设置为缺省路由的下一跳地址,则可以通过该虚拟路由器与外部通信。VRRP组由一个主用路由器和多个备用路由器组成,主用路由器根据优先级选举机制选举产生,承担网关功能,响应对虚拟IP地址的ARP请求、转发目的MAC地址为虚拟路由器MAC地址的报文,VRRP组虚拟IP地址实际指向该主用路由器。VRRP组内其他路由器为备用路由器,当主用路由器发生故障时,通过优先级选举机制取代主用路由器继续履行网关职责,从而保证网络内主机不间断的与外部网络进行通信。
[0004]传统的VRRP采用定时发送HELLO报文的方式进行故障检测,缺省发送VRRP协议报文时间间隔为I秒,当备用路由器连续3次接收不到主用路由器的HELLO报文时,自己主动变主来实现主备的切换。由于通常HELLO报文的最小时间间隔为I秒,所以至少3秒才能被备用路由器感知链路故障状态,对于需要快速感知链路故障状态的实时业务来说这个收敛时间太长。


【发明内容】

[0005]本发明的目的在于提供一种种虚拟路由冗余协议故障检测的方法和路由设备。
[0006]一方面,本发明实施例提供一种虚拟路由冗余协议故障检测的方法,该方法应用于包括一个主用路由器以及一个或多个备用路由器的VRRP组,所述方法包括:
[0007]所述主用路由器和所述备用路由器发送具有回声应答功能的链路检测报文,所述链路检测报文目的地址为所述VRRP组的虚拟地址,
[0008]所述主用路由器和所述备用路由器确定在预定时间内是否收到自身发出的所述链路检测报文对应的响应报文,如果所述主用路由器和/或所述备用路由器在预定时间内没有收到所述的响应报文,则确定所述主用路由器故障。
[0009]在第一方面的第一种可能实现方式中,所述链路检测报文为ECHO类型的双向转发检测BFD报文。
[0010]第二方面,本发明实施例提供一种路由设备,该路由设备应用于包括一个主用路由器以及一个或多个备用路由器的虚拟路由器冗余协议VRRP组,该路由设备是所述主用路由器和所述备用路由器中的一个,该路由设备包括:
[0011]发送模块,发送具有回声应答功能的链路检测报文,所述链路检测报文目的地址为所述VRRP组虚拟地址;
[0012]确定模块,确定在预定时间内是否收到自身发出的所述链路检测报文对应的响应报文,如果在预定时间内没有收到所述的响应报文,则确定所述主用路由器故障。
[0013]在第二方面的第一种可能实现方式中,所述发送模块发送的链路检测报文为ECHO类型的BFD报文。
[0014]本发明实施例的技术方案可在一主多备的环境下实现VRRP组网络的快速故障检测。现有技术中VRRP组配置链路检测会话之所以在一主多备的网络环境下难以实现,是由于链路检测会话必须在所有路由器中两两建立,从而保证在VRRP组进行了主备切换后,所有的备路由器仍然能够与主用路由器之间存在链路检测会话。因此,每台VRRP组内路由器会同时接收到来自主用路由器的链路检测报文和来自其他备路由的链路检测报文。而由于VRRP组内主备路由器是动态切换的,通过链路检测报文并不能够识别所检测到的故障链路为主用路由器所属链路还是备用路由器所属链路,因而无法触发VRRP组进行主备切换。而在本发明实施例的技术方案中,由于故障检测报文使用的是回声应答类型的报文,且将对端IP地址设置为了 VRRP组的虚拟IP地址。因此无论是否进行了主备切换并变换了主用路由器,备用路由器通过该回声应答报文报文始终检测该备用路由与主用路由器之间的链路状态;且由于回声应答报文无需对对端进行配置,因此在进行主备切换以后,无需在对VRRP组进行任何配置,即可实现备路由持续对主备路由器之间链路进行检测。基于此,VRRP组内路由器只需对自身发出的回声应答检测报文的响应报文进行监测,即可判断主用路由器是否出现故障,从而达到快速检测故障的目的。

【专利附图】

【附图说明】
[0015]图1为本发明实施例的方法的流程图;
[0016]图2为本发明实施例的网络环境示意图;
[0017]图3为本发明实施例的网络环境示意图;
[0018]图4为本发明实施例的网络环境示意图;
[0019]图5为本发明实施例的网络环境示意图;
[0020]图6为本实施发明实施例的路由设备示意图。

【具体实施方式】
[0021]为了使本发明实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0022]由于快速检测手段有 BFD、0AM(Operat1n Administrat1n and Maintenance,操作管理维护)等很多种技术,本申请中提及方案只以BFD举例。但本方案中所述链路检测报文不限于BFD报文,其他可实现回声应答功能的快速检测手段也可用于本方案。
[0023]实施例一
[0024]根据该实施例,一种虚拟路由冗余协议故障检测的方法,如图1所示,在包括一个主用路由器以及一个或多个备用路由器的VRRP组内,所述主用路由器和所述备用路由器发送具有回声应答功能的链路检测报文,所述链路检测报文目的地址为所述VRRP组虚拟地址,所述主用路由器和所述备用路由器监测在预定时间内是否收到自身发出的所述链路检测报文对应的响应报文,如果所述主用路由器和/或所述备用路由器在预定时间内没有收到所述的响应报文,则确定所述主用路由器故障。
[0025]可选的,所述链路检测报文为ECHO类型的BFD报文。
[0026]本实施例应用场景如图2所示。虚拟路由器VRRP组中包含三台路由器,分别为主用路由器RT1,备用路由器RT2和RT3。外部网络通过VRRP的虚拟IP连接到VRRP组中的主用路由器RT1。在此场景中,若通过常规的链路检测手段,如配置双向检测BFD报文以实现链路故障的快速检测,需要在三台路由器中两两配置BFD会话,即RTl与RT2之间、RTl与RT3之间以及RT2与RT3之间的BFD会话,如图3所示。其中RTl与RT2之间BFD会话和RTl与RT3之间BFD会话用于检测主备路由器之间链路故障,从而触发备用路由器进行主备切换。而RT2与RT3之间的BFD会话用于保证在主备切换后,任意一台备用路由器升为主用路由器时,与另外两台路由器之间存在可用于检测主备路由器之间链路状态的BFD会话。在该场景下,对于任意一台备用路由器,如RT2,由于其建立了两个BFD会话,当其中一个BFD会话检测到链路故障,并返回状态为DWON的BFD报文时,由于VRRP组中主备路由器之间为动态切换,该路由器无法直接根据BFD会话判断是否为主用路由器出现故障,因而不能进行主备切换。
[0027]具体地,根据本实施例,如图4所示。在三台路由器,即主用路由RTl和备用路由RT2、RT3上分别配置ECHO类型的BFD检测报文,所述ECHO类型的BFD检测报文的对端IP均配置为本VRRP组的虚拟IP。由于VRRP组中只有主用路由器响应对虚拟路由器IP地址的ARP请求、转发目的MAC地址为虚拟路由器MAC地址的报文,因此所述ECHO类型的BFD报文始终由主用路由器所响应并返回响应报文。主用路由器和备用路由器均监测在预定时间内是否收到自身发送的ECHO类型BFD报文的响应报文,如果在预定时间内没有收到所述响应报文,则判断主用路由器故障。此时,主用路由器RTl上配置的BFD检测报文所检测的是RTl的本地链路,不会检测到链路故障;备用路由器RT2与RT3上配置的BFD检测报文所检测的是主备路由器之间的链路状态。由于本场景下,所有路由器均只需检测一个BFD报文,即所述ECHO类型的BFD检测报文的响应报文,因此不会出现前述采用建立普通BFD会话而产生的同时检测多个报文的问题,从而实现在一主多倍场景下的快速故障检测。
[0028]当备用路由器RT2和RT3检测到主用路由器故障后,则分别触发VRRP组主备切换,根据VRRP协议开始进行优先级选举,并确定新的主用路由器。
[0029]在本实施例中,当进行主备切换后,以RT2升为主用路由器为例,其应用场景如图5所示。RT2升为主用路由器后,VRRP组虚拟IP则指向RT2,在主备切换之前RT1、RT2和RT3所配置的ECHO类型的BFD检测报文由RT2响应并返回响应报文。由于ECHO类型的BFD报文无需对对端进行配置,因此整个VRRP组内路由在进行主备切换后,VRRP组内备用路由器RTl和RT3通过检测自身发送的ECHO类型BFD报文的响应报文从而继续检测与主用路由器RT2之间的链路状态,从而判断主用路由器是否故障。即,本方法可以在无需进行任何介入的情况下实现在主备切换后对VRRP组内主备路由器之间链路的持续故障检测。
[0030]实施例二
[0031]与上述虚拟路由冗余协议快速收敛的方法相对应,本发明实施例还提供一种路由设备。如图6所示,为所述路由设备的结构示意图,该路由设备应用于包括一个主用路由器以及一个或多个备用路由器的虚拟路由器冗余协议VRRP组,该路由设备是所述主用路由器和所述备用路由器中的一个,该路由设备包括发送模块601、确定模块602和切换模块603。
[0032]所述发送模块601,发送具有回声应答功能的链路检测报文,所述链路检测报文目的地址为其所在VRRP组虚拟IP地址;
[0033]所述确定模块602,确定在预定时间内是否收到所述发送模块601发出的所述链路检测报文对应的响应报文,如果在预定时间内没有收到所述的响应报文,则确定所述主用路由器故障。
[0034]可选地,该路由设备还可以包括所述切换模块603,当所述主用路由器故障时,进行主备切换。
[0035]可选的,所述发送模块601发送的具有回声应答功能的链路检测报文为ECHO类型的BFD报文。
[0036]由上述实施例可以看出,将所述设备配置在VPPR组中,在一主多备的情况下,所述设备向所在VRRP组的虚拟IP地址发送ECHO类型的BFD报文,并监听所述BFD报文的响应报文以检测主用路由器是否故障,当所述主用路由器故障时,触发VRRP组进行主备切换。
[0037]如前所述,该路由设备可以实现在一主多备的VRRP网络环境下,对故障进行快速检测。在检测到主用路由器故障并进行主备切换以后,无需对本装置进行额外设置,即可实现本装置对切换后的主用路由器状态的持续检测。
[0038]需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
[0039]以上对本发明所提供的一种虚拟路由器冗余协议故障检测的方法及装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种虚拟路由器冗余协议VRRP故障检测的方法,其特征在于,该方法应用于包括一个主用路由器以及一个或多个备用路由器的VRRP组,所述方法包括: 所述主用路由器和所述备用路由器发送具有回声应答功能的链路检测报文,所述链路检测报文目的地址为所述VRRP组的虚拟地址, 所述主用路由器和所述备用路由器确定在预定时间内是否收到自身发出的所述链路检测报文对应的响应报文,如果所述主用路由器和/或所述备用路由器在预定时间内没有收到所述的响应报文,则确定所述主用路由器故障。
2.根据权利要求1所述的方法,其特征在于,所述链路检测报文为ECHO类型的双向转发检测BFD报文。
3.—种路由设备,其特征在于,该路由设备应用于包括一个主用路由器以及一个或多个备用路由器的虚拟路由器冗余协议VRRP组,该路由设备是所述主用路由器和所述备用路由器中的一个,该路由设备包括: 发送模块,发送具有回声应答功能的链路检测报文,所述链路检测报文目的地址为所述VRRP组虚拟地址; 确定模块,确定在预定时间内是否收到所述发送模块发出的所述链路检测报文对应的响应报文,如果在预定时间内没有收到所述的响应报文,则确定所述主用路由器故障。
4.根据权利要求3所述的路由设备,其特征在于,所述发送模块发送的链路检测报文为ECHO类型的BFD报文。
【文档编号】H04L12/26GK104168193SQ201410395694
【公开日】2014年11月26日 申请日期:2014年8月12日 优先权日:2014年8月12日
【发明者】章成松, 张强, 文双全 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1