虚拟冗余路由器系统及传输虚拟冗余路由协议报文的方法转让专利

申请号 : CN200810008341.8

文献号 : CN101242254B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐益慰冯健王怀滨赵艳华

申请人 : 中兴通讯股份有限公司

摘要 :

本发明提供一种虚拟冗余路由器系统及传输虚拟冗余路由协议报文的方法,系统包括一个或多个虚拟冗余路由协议组,每个虚拟冗余路由协议组包括一主用虚拟冗余路由器、一备用虚拟冗余路由器,主用及备用虚拟冗余路由器间通过心跳线接口相连,主用虚拟冗余路由器用于通过心跳线接口发送虚拟冗余路由协议报文;方法包括:在一虚拟冗余路由协议组的主用及备用虚拟冗余路由器上配置心跳线接口,并通过心跳线接口将主用及备用虚拟冗余路由器相连,主用虚拟冗余路由器发送虚拟冗余路由协议报文时,通过心跳线接口发送虚拟冗余路由协议报文。采用本发明,减少了中间转发设备,提高了网络的可靠性及效率。

权利要求 :

1.一种传输虚拟冗余路由协议报文的方法,其特征在于,在一虚拟冗余路由协议组的主用及备用虚拟冗余路由器上配置心跳线接口,并通过心跳线接口将主用及备用虚拟冗余路由器相连,所述主用虚拟冗余路由器发送虚拟冗余路由协议报文时,通过心跳线接口发送所述虚拟冗余路由协议报文。

2.如权利要求1所述的方法,其特征在于:

所述备用虚拟冗余路由器的心跳线接口收到虚拟冗余路由协议报文时,当作所述备用虚拟冗余路由器中属于虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理。

3.如权利要求1所述的方法,其特征在于:

所述主用虚拟冗余路由器发送虚拟冗余路由协议报文时通过所述心跳线接口发送虚拟冗余路由协议报文。

4.如权利要求2所述的方法,其特征在于:

所述备用虚拟冗余路由器的一接口收到虚拟冗余路由协议报文时,先判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,不是则再判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口,是则将所述报文当作所述虚拟冗余路由器中属于所述虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理,否则丢弃所述虚拟冗余路由协议报文。

5.如权利要求1所述的方法,其特征在于:

所述主用及备用虚拟冗余路由器发送报文前存储其所在虚拟冗余路由协议组ID、在所述虚拟冗余路由协议组中虚拟冗余路由协议接口编号及在所述虚拟冗余路由协议组中心跳线接口编号的映射表。

6.如权利要求4所述的方法,其特征在于:

所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口的方法为,根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中虚拟冗余路由协议接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,否则不是;

所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口的方法为,根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中心跳线接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的心跳线接口,否则不是。

7.一种虚拟冗余路由器系统,包括:一个或多个虚拟冗余路由协议组,所述每个虚拟冗余路由协议组包括一主用虚拟冗余路由器、一备用虚拟冗余路由器,其特征在于:所述主用及备用虚拟冗余路由器间通过心跳线接口相连;

所述主用虚拟冗余路由器用于通过心跳线接口发送虚拟冗余路由协议报文。

8.如权利要求7所述的系统,其特征在于:

所述备用虚拟冗余路由器用于当其心跳线接口收到虚拟冗余路由协议报文时将所述报文当作是所述备用虚拟冗余路由器中属于所述虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理。

9.如权利要求7所述的系统,其特征在于:

所述主用及备用虚拟冗余路由器还用于存储其所在虚拟冗余路由协议组ID、在所述虚拟冗余路由协议组中虚拟冗余路由协议接口编号及在所述虚拟冗余路由协议组中心跳线接口编号的映射表。

10.如权利要求7所述的系统,其特征在于:

所述主用虚拟冗余路由器还用于当发包时间戳到达的时候,通过所述心跳线接口发送虚拟冗余路由协议报文。

11.如权利要求8所述的系统,其特征在于:

所述备用虚拟冗余路由器还用于当其接口收到虚拟冗余路由协议报文时判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,不是则再判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口,是则将所述报文当作该所述备用虚拟冗余路由器中属于所述虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理,否则丢弃所述虚拟冗余路由协议报文。

12.如权利要求11所述的系统,其特征在于:

所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口是指,备用虚拟冗余路由器根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中虚拟冗余路由协议接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,否则不是;

所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口是指,备用虚拟冗余路由器根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中心跳线接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的心跳线接口,否则不是。

说明书 :

虚拟冗余路由器系统及传输虚拟冗余路由协议报文的方法

技术领域

[0001] 本发明涉及数据通信领域,尤其涉及一种虚拟冗余路由器系统及传输虚拟冗余路由协议报文的方法。

背景技术

[0002] 虚拟冗余路由协议(Virtual Router Redundancy Protocol,VRRP)是目前应用最广泛的网关冗余保护机制,支持VRRP协议的网关设备称为VRRP路由器,在网络中通常由路由器和三层交换机设备担当。一组VRRP路由器之间通过主备竞选,选择一台VRRP路由器作为主用网关,另一台或多台作为备用网关,当主用网关故障,或者下行链路故障时,备用网关,或者备用网关中通过竞选出一台,接替原主用网关的工作,成为新的主用网关,保证局域网中主机和其他设备与网络的连通性。
[0003] VRRP路由器的典型组网模式如图1所示,两台VRRP路由器下面连接一个交换机,使VRRP组之间处于一个连通的二层网络中,VRRP组通过配置VRRP的接口收发VRRP协议报文。处于主用状态的VRRP组定时的发送协议报文,经过中间交换机的二层转发,组播到其它的VRRP路由器接收并处理,各自保持自己的状态。VRRP路由器收到其它VRRP路由器的协议报文,通过优先级比较,组内优先级最高的担任主用网关,其它的作为备用网关。
[0004] 随着IP电信网技术的发展,IP技术越来越多地应用于电信业务,3G、NGN网元等设备本身具有双网络接口,做主备运行,接入IP网络时经常要求双上行直联主、备网关设备,如图2所示,3G电路域信令接口、网管接口、计费接口由于需要高可靠性,往往需要把链路连接到相互备份的二层交换机,图中用实线双箭头表示,交换机再把链路连接到相互备份的路由器设备,而媒体域链路接口往往直接连接到二个相互备份的路由器中,图中用虚线双箭头表示。但是由于3G/NGN网元不能二层转发VRRP协议报文,所以采用VRRP协议作为备份网关的应用遇到了困难,此时可以采用在路由器与3G/NGN网元间加一交换机来转发VRRP协议报文。
[0005] VRRP协议也可以应用在三层交换机中,当三层交换机启用VRRP时,可以使用三层VLAN接口作为VRRP的配置接口,组网方案如图3所示:VLAN接口的一个或几个物理接口(二层接口)可以与备份VRRP组对应的接口直接相连。VRRP组之间的协议报文可以通过这些直联的物理接口转发。

发明内容

[0006] 本发明要解决的技术问题是提供一种虚拟冗余路由器系统及传输虚拟冗余路由协议报文的方法,减少了中间转发设备,提高了网络系统的可靠性及效率。
[0007] 为了解决上述问题,本发明提供了一种传输虚拟冗余路由协议报文的方法,在一虚拟冗余路由协议组的主用及备用虚拟冗余路由器上配置心跳线接口,并通过心跳线接口将主用及备用虚拟冗余路由器相连,所述主用虚拟冗余路由器发送虚拟冗余路由协议报文时,通过心跳线接口发送所述虚拟冗余路由协议报文。
[0008] 进一步地,所述备用虚拟冗余路由器的心跳线接口收到虚拟冗余路由协议报文时,当作所述备用虚拟冗余路由器中属于虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理。
[0009] 进一步地,所述主用虚拟冗余路由器发送虚拟冗余路由协议报文时先判断所述虚拟冗余路由器是否配置了心跳线接口,是则通过所述心跳线接口发送虚拟冗余路由协议报文,否则通过虚拟冗余路由协议接口发送所述虚拟冗余路由协议报文。
[0010] 进一步地,所述备用虚拟冗余路由器的一接口收到虚拟冗余路由协议报文时,先判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,不是则再判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口,是则将所述报文当作所述虚拟冗余路由器中属于所述虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理,否则丢弃所述虚拟冗余路由协议报文。
[0011] 进一步地,所述主用及备用虚拟冗余路由器发送报文前存储其所在虚拟冗余路由协议组ID、在所述虚拟冗余路由协议组中虚拟冗余路由协议接口编号及在所述虚拟冗余路由协议组中心跳线接口编号的映射表。
[0012] 进一步地,所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口的方法为,根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中虚拟冗余路由协议接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,否则不是;
[0013] 所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口的方法为,根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中心跳线接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的心跳线接口,否则不是。
[0014] 本发明还提供了一种虚拟冗余路由器系统,包括:一个或多个虚拟冗余路由协议组,所述每个虚拟冗余路由协议组包括一主用虚拟冗余路由器、一备用虚拟冗余路由器,其特征在于:
[0015] 所述主用及备用虚拟冗余路由器间通过心跳线接口相连;
[0016] 所述主用虚拟冗余路由器用于通过心跳线接口发送虚拟冗余路由协议报文。
[0017] 进一步地,所述备用虚拟冗余路由器用于当其心跳线接口收到虚拟冗余路由协议报文时将所述报文当作是所述备用虚拟冗余路由器中属于所述虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理。
[0018] 进一步地,所述主用及备用虚拟冗余路由器还用于存储其所在虚拟冗余路由协议组ID、在所述虚拟冗余路由协议组中虚拟冗余路由协议接口编号及在所述虚拟冗余路由协议组中心跳线接口编号的映射表。
[0019] 进一步地,所述主用虚拟冗余路由器还用于当发包时间戳到达的时候,判断所述虚拟冗余路由器是否配置了心跳线接口,是则通过所述心跳线接口发送虚拟冗余路由协议报文,否则通过虚拟冗余路由协议接口发送虚拟冗余路由协议报文。
[0020] 进一步地,所述备用虚拟冗余路由器还用于当其接口收到虚拟冗余路由协议报文时判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,不是则再判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口,是则将所述报文当作该所述备用虚拟冗余路由器中属于所述虚拟冗余路由协议组的虚拟冗余路由协议接口收到的虚拟冗余路由协议报文处理,否则丢弃所述虚拟冗余路由协议报文。
[0021] 进一步地,所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的虚拟冗余路由协议接口是指,备用虚拟冗余路由器根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中虚拟冗余路由协议接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的虚拟冗余路由协议接口,否则不是;
[0022] 所述备用虚拟冗余路由器判断所述接口是否是所述虚拟冗余路由协议组的心跳线接口是指,备用虚拟冗余路由器根据协议报文中所带的虚拟冗余路由协议组ID查找映射表中与所述虚拟冗余路由协议组ID对应的条目,若其中心跳线接口编号与所述接收报文的接口编号相同则说明所述接收报文的接口是所述虚拟冗余路由协议组的心跳线接口,否则不是。
[0023] 综上所述,本发明提供了一种虚拟冗余路由器系统及传输虚拟冗余路由协议报文的方法,通过在系统的主用及备用VRRP路由器之间加一直联的心跳线来传输VRRP协议报文,减少了中间转发设备,提高了网络系统的可靠性及效率。且对于如3G、NGN这样的双网络接口电信设备,即使不使用交换机也能采用VRRP协议作为备份网关。

附图说明

[0024] 图1是现有技术中VRRP路由器的典型组网图;
[0025] 图2是现有技术中3G网元接入IP网络示意图;
[0026] 图3是现有技术中三层交换机作为VRRP路由器的组网方式图;
[0027] 图4是本发明中支持心跳线的虚拟冗余路由器系统组网拓扑图;
[0028] 图5a是本发明中支持心跳线的虚拟冗余路由器接收VRRP协议报文处理流程图;
[0029] 图5b是本发明中支持心跳线的虚拟冗余路由器发送VRRP协议报文处理流程图;
[0030] 图6是本发明中3G网元MGW接入IP网络的应用实例。

具体实施方式

[0031] 本发明提供了一种虚拟冗余路由器系统,包括一个或多个VRRP组及一个或多个主机,每个VRRP组包括一主用VRRP路由器、一备用VRRP路由器,主用及备用VRRP路由器均配置心跳线接口,并通过心跳线接口将主用及备用虚拟冗余路由器相连,心跳线接口间可以但不限于是通过网线直联,该直联链路称为心跳线。一个VRRP路由器可以只属于一个VRRP组,也可以同时属于几个VRRP组。在同一VRRP组中,一个路由器的某接口若配置了VRRP接口,则不能配置为心跳线接口,但可以作为其他VRRP组的心跳线接口。各VRRP路由器还用于存储其所在VRRP组ID、在该VRRP组中VRRP接口编号及在该VRRP组中心跳线接口编号的映射表。
[0032] 某VRRP组中主用VRRP路由器用于当发包时间戳到达的时候,根据RFC3768的方式封装VRRP协议报文,还用于判断该VRRP路由器是否配置了心跳线接口,是则通过心跳线接口发送VRRP协议报文,否则通过VRRP接口发送VRRP协议报文。
[0033] 备用VRRP路由器用于收到VRRP协议报文时,根据协议报文中携带的VRRP组ID判断该接收VRRP协议报文的接口是否为该VRRP组的VRRP接口,是则按现有技术处理该VRRP协议报文,否则判断该接收VRRP协议报文的接口是否为该VRRP组的心跳线接口,是则将该VRRP协议报文当作该VRRP路由器中属于该VRRP组的VRRP接口收到的VRRP协议报文处理,否则丢弃该VRRP协议报文。
[0034] 如图4所示仅示出一个VRRP组,该主机为双网络接口电信设备,主用及备用VRRP路由器通过心跳线互联,并分别通过一条直联链路与主机的双网口之一相连。且主机的主用接口对应上联到的路由器配置较高的VRRP优先级,以便其竞选成为主用网关;主机的备用接口对应上联到的路由器配置较低的VRRP优先级,以便其竞选成为备用网关。
[0035] 本发明还提供一种传输虚拟冗余路由协议报文的方法,如图5所示,在配置了心跳线以后的VRRP组的传输报文的流程如下,
[0036] 图5a是配置了心跳线以后的VRRP组的报文接收流程:
[0037] 步骤101:某一个接口收到VRRP协议报文;
[0038] 步骤102:判断该接收报文的接口是否为该VRRP组的VRRP接口,是则执行步骤103,否则执行步骤104;判断方法为,根据协议报文中所带的VRRP组ID查找映射表中与该VRRP组ID对应的条目,若其中VRRP接口编号与该接收报文的接口编号相同则说明该接收报文的接口是该VRRP组的VRRP接口,否则不是。
[0039] 步骤103:由该接收报文的接口的VRRP路由器按现有技术处理此VRRP协议报文。
[0040] 步骤104:判断该接收报文的接口是否为该VRRP组的心跳线接口,是则执行步骤105,否则执行步骤106。判断方法为,根据协议报文中所带的VRRP组ID查找映射表中与该VRRP组ID对应的条目,若其中心跳线接口编号与该接收报文的接口编号相同则说明该接收报文的接口是该VRRP组的心跳线接口,否则不是。
[0041] 步骤105:将该VRRP协议报文当作是该VRRP路由器中属于该VRRP组的VRRP接口收到的VRRP协议报文处理。
[0042] 步骤106:丢弃该VRRP协议报文。
[0043] 图5b是配置了心跳线以后的VRRP组的报文接收流程:
[0044] 步骤201:某VRRP组中,主用VRRP路由器当发包时间戳到达的时候,需要发送VRRP协议报文。
[0045] 步骤202:根据RFC3768的方式封装VRRP协议报文。
[0046] 步骤203:判断该VRRP路由器是否配置了心跳线接口,是则执行步骤204,否则执行步骤205;
[0047] 步骤204:通过心跳线接口发送VRRP协议报文;
[0048] 步骤205:通过VRRP接口发送VRRP协议报文。
[0049] 以下用一应用实例进一步说明本发明:
[0050] 如图6所示为3G网元MGW直接与VRRP路由器相连的情形,假定VRRP路由器R1和R2,R1的百兆以太接口fei_1/1与3G网元MGW的媒体面主用接口F1相连,其上启动VRRP协议,配置VRRP组1,优先级100,虚拟IP地址10.1.1.1/24,并指定fei_1/2为心跳线接口,fei_1/2的IP地址10.1.2.1/24。R2的百兆以太接口fei_2/1与3G网元MGW的媒体面备用接口F2相连,其上启动VRRP协议,配置VRRP组1,优先级50,虚拟IP地址10.1.1.1/24,并指定fei_2/2为心跳线接口,fei_2/2的IP地址10.1.2.2/24。R1的fei_1/2接口和R2的fei_2/2接口通过网线直联。
[0051] MGW的双网口共有一个浮动IP地址10.1.1.2/24,当主用端口F1工作时,浮动IP地址绑定在F1上,F2不工作;当主用端口F1失效,或者检测到链路工作时,F2工作,浮动IP地址绑定在F2上。同时MGW上配置媒体面默认网关地址为10.1.1.1。
[0052] 在R1上,VRRP接口编号、VRRP组、心跳线接口编号映射表中有一条目:
[0053] [0054] 在R2上,VRRP接口编号、VRRP组、心跳线接口编号映射表中有一条目:
[0055] [0056] 正常工作时,R1为fei_1/1接口上的VRRP组1发送VRRP协议报文时,因为查VRRP接口编号、VRRP组、心跳线接口编号映射表得到心跳线接口fei_1/2,所以,在fei_1/2接口发送VRRP协议报文。当R2从fei_2/2接口收到该VRRP报文时,通过查VRRP接口编号、VRRP组、心跳线接口编号映射表得到对应得VRRP接口实际上是fei_2/1,因此后续处理中,当作在fei_2/1上收到的VRRP报文处理。
[0057] 同样,R2也在fei_2/2接口上发送VRRP协议报文,R1在fei_1/2接口上收到报文时也等同于在fei_1/1接口上收到的处理。因为R1的VRRP优先级较高,所以选择R1作为主用网关,R1的fei_1/1接口上的虚拟IP地址10.1.1.1/24,以及VRRP组对应的MAC地址生效,R2的fei_2/1接口上的虚拟IP地址10.1.1.1/24,以及VRRP组对应的MAC地址失效。MGW可以通过R1和IP网络连通。
[0058] 当R1的fei_1/1接口和MGW的F1之间的链路失效时,MGW切换到F2接口,R1停止在fei_1/2接口上发送VRRP协议报文,R2收不到R1的VRRP协议报文,则接管网关功能,成为主用网关,使fei_2/1上的虚拟IP地址10.1.1.1/24,以及VRRP组对应的MAC地址生效。MGW可以通过R2和IP网络连通。
[0059] 当R1的fei_1/1接口和MGW的F1之间的链路恢复时,MGW切回到F1接口,R1恢复在fei_1/2接口上发送VRRP协议报文,R2收到R1的VRRP协议报文,则其状态转变为备用网关,使fei_2/1上的虚拟IP地址10.1.1.1/24,以及VRRP组对应的MAC地址失效。R1接管主用网关功能,fei_1/1接口上的虚拟IP地址10.1.1.1/24,以及VRRP组对应的MAC地址生效,MGW可以通过R2和IP网络连通。