心跳报文传输方法及装置的制作方法

文档序号:7861837阅读:275来源:国知局
专利名称:心跳报文传输方法及装置的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种心跳报文传输方法及装置。
背景技术
随着通信技术的快速发展,虚拟路由冗余协议(Virtual Router RedundancyProtocol,以下简称VRRP)技术也随之发展起来,通过VRRP可以将具有网关功能的一组路由器作为一台虚拟路由器,为终端与网络之间传输数据。由VRRP的选举机制决定哪台路由器作为主路由器来承担转发任务,主路由器通过向备份路由器发送VRRP心跳报文,告知备份路由器主路由器的状态正常,当虚拟路由器中的主路由器出现故障时,由备份路由器作为主路由器进行数据转发操作。现有技术中,VRRP心跳报文在主路由器和备份路由器之间基于介质访问控制·(Media Access Control,以下简称MAC)层发送,因此,需要在主路由器和备份路由器之间部署MAC层的通路,在主备路由器上配置虚拟以太(Virtual Ethernet,以下简称VE)接口,在三层(Layer 3,以下简称L3) VE接口配置管理VRRP,在二层(Layer 2,以下简称L2) VE接口和与主机相连的接口绑定同一个虚拟专用局域网业务(Virtual Private LanService,以下简称VPLS),并在主路由器和备份路由器之间建立伪线(Pseudowire,以下简称PW)。主路由器的L3VE接口发送VRRP心跳报文到L2VE接口,再通过PW发送到备份路由器的L2VE接口,备份路由器的L2VE接口发送给本端的L3VE接口。然而,现有技术中在主路由器与备份路由器之间部署MAC层通路实现较为复杂。

发明内容
本发明实施例提供一种心跳报文传输方法及装置。第一方面,一种心跳报文传输方法,该方法应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达;所述方法包括生成第一 VRRP心跳报文,所述第一 VRRP心跳报文用于表不第一路由器正常工作;通过所述第三路由器将所述第一 VRRP心跳报文发送给至少一个第二路由器,所述第一 VRRP心跳报文中携带的源IP地址为所述第一路由器的IP地址,目的IP地址为所述第二路由器的IP地址。结合第一方面,所述心跳报文传输方法中,还包括检测到所述第一路由器故障或者所述第一路由器与终端连接的链路故障;通过所述第三路由器向所述至少一个第二路由器发送故障指示消息,以使所述至少一个第二路由器协商确定主路由器。
结合第一方面,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的LOOPBACK地址。结合第一方面,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。结合第一方面,所述生成第一虚拟路由器冗余协议VRRP心跳报文之前,还包括生成第二 VRRP心跳报文,所述第二 VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器;通过所述第三路由器将所述第二 VRRP心跳报文发送给至少一个所述第二路由 器。第二方面,一种心跳报文传输方法,该方法应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达;所述方法包括通过所述第三路由器接收第一路由器发送第一 VRRP心跳报文,所述第一 VRRP心跳报文用于表示第一路由器正常工作;其中,所述第一 VRRP心跳报文中携带的源IP地址为所述第一路由器的IP地址,目的IP地址为第二路由器的IP地址。结合第二方面,所述心跳报文传输方法,还包括若设定时间内没有通过所述第三路由器接收到所述第一路由器发送的所述第一VRRP心跳报文,则与所述虚拟路由器中除所述第二路由器之外的其它备份路由器协商选举
主路由器。结合第二方面,所述心跳报文传输方法,还包括通过所述第三路由器接收所述第一路由器发送的故障指示消息;与虚拟路由器中除所述第二路由器之外的其它备份路由器协商确定主路由器。结合第二方面,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的本地环回L00PBACK地址。结合第二方面,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。结合第二方面,所述通过所述第三路由器接收第一路由器发送第一 VRRP心跳报文之前,还包括通过所述第三路由器接收所述第一路由器发送的第二 VRRP心跳报文,所述第二VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器。第三方面,一种心跳报文传输装置,该装置应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达;该装置包括
生成模块,用于生成第一虚拟路由器冗余协议VRRP心跳报文,所述第一 VRRP心跳
报文用于表不第一路由器正常工作;发送模块,用于通过第三路由器将所述第一 VRRP心跳报文发送给至少一个第二路由器,所述第一 VRRP心跳报文中携带的源IP地址为所述第一路由器的IP地址,目的IP地址为所述第二路由器的IP地址。结合第三方面,所述心跳报文传输装置,还包括双向转发检测模块BFD,用于检测到所述第一路由器故障或者所述第一路由器与终端连接的链路故障;通过所述第三路由器向所述至少一个第二路由器发送故障指示消息,以使所述至少一个第二路由器协商确定主路由器。结合第三方面,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的本地环回LOOPBACK·地址。结合第三方面,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。结合第三方面,所述生成模块,还用于生成第二 VRRP心跳报文,所述第二 VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器;所述发送模块,还用于通过所述第三路由器将所述第二 VRRP心跳报文发送给至少一个所述第二路由器。第四方面,一种心跳报文传输装置,该装置应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达;该装置包括接收模块,用于通过第三路由器接收第一路由器发送的第一虚拟路由器冗余协议VRRP心跳报文,所述第一 VRRP心跳报文用于表示第一路由器正常工作;其中,所述第一 VRRP心跳报文中携带的源IP地址为所述第一路由器的IP地址,目的IP地址为第二路由器的IP地址。结合第四方面,所述心跳报文传输装置,还包括处理模块,用于若设定时间内所述接收模块没有通过所述第三路由器接收到所述第一路由器发送的所述第一 VRRP心跳报文,则与所述虚拟路由器中除所述第二路由器之外的其它备份路由器协商选举主路由器。结合第四方面,所述接收模块还用于通过所述第三路由器接收双向转发检测模块BFD发送的故障指示消息。协商模块,用于与虚拟路由器中除所述第二路由器之外的其它备份路由器协商确定主路由器。结合第四方面,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的本地环回L00PBACK地址。结合第四方面,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。结合第四方面,所述接收模块,还用于通过所述第三路由器接收所述第一路由器发送的第二 VRRP心跳报文,所述第二 VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器。本发明实施例的心跳报文的传输方法及装置,通过第一路由器将携带源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址的VRRP心跳报文发送给第二路由器,实现了 VRRP心跳报文基于IP层进行转发,无需在主路由器与备份路由器之间部署MAC层通路,简化了网路部署。


图I为本发明心跳报文传输方法实施例一的流程示意
图2为本发明心跳报文传输方法实施例二的流程示意图;图3为本发明心跳报文传输方法实施例三的流程示意图;图4为虚拟路由器中的两个路由器之间通过基于同步光纤网络或同步数字体系的分组链路连接的示意图;图5为虚拟路由器中的两个路由器与交换机连接的示意图;图6为无线接入网IP化的应用场景示意图;图7为本发明心跳报文传输装置实施例一的结构示意图;图8为本发明心跳报文传输装置实施例二的结构示意图;图9为本发明心跳报文传输装置实施例三的结构示意图;图10为本发明心跳报文传输装置实施例四的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。虚拟路由器由一组可以承担网关功能的路由器组成,虚拟路由器中包括至少两个路由器,虚拟路由器中的各路由器之间路由互通。组成虚拟路由器的至少两个路由器之间通过VRRP通信。同一个虚拟路由器可以作为多个终端的默认网关。通过在虚拟路由器中的各路由器上配置多个业务VRRP接口,作为不同终端的业务流量转发接口,配置管理VRRP接口,作为VRRP心跳报文的转发接口。 当路由器作为主路由器时,其对应的路由器中的所有接口都作为主接口,类似地,当路由器作为备份路由器时,其对应的路由器中的所有接口都作为备份接口,即路由器中的接口状态与路由器状态保持一致。图I为本发明心跳报文传输方法实施例一的流程示意图。本实施例中,假定虚拟路由器中包括至少两个路由器,其中虚拟路由器中的第一路由器为主路由器,虚拟路由器中的一个或多个第二路由器为备份路由器,还包括分别与第一路由器和第二路由器路由可达的第三路由器,如图I所示,该方法包括
SlOl :第一路由器生成第一虚拟路由器冗余协议VRRP心跳报文,第一VRRP心跳报
文用于表不第一路由器正常工作。虚拟路由器中至少有一个第二路由器,即至少一个备份路由器。第一路由器可以为主路由器,则第二路由器可以为备份路由器,在该实施场景下,第一路由器生成第一 VRRP心跳报文,即由主路由器生成第一 VRRP心跳报文,第一 VRRP心跳报文表示第一路由器正常工作。S102 :第一路由器通过第三路由器将第一 VRRP心跳报文发送给至少一个第二路由器,第一 VRRP心跳报文中携带的源网络协议(Internet Protocol,以下简称IP)地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。具体地,虚拟路由器中的第一路由器通过第三路由器将第一 VRRP心跳报文发送·给虚拟路由器中的第二路由器,第二路由器可以为虚拟路由器中除上述第一路由器之外的任一路由器,虚拟路由器中至少有一个第二路由器。其中,第一 VRRP心跳报文中携带的源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址,源MAC地址为第一路由器中发出第一 VRRP心跳报文的第一接口的MAC地址,目的MAC地址为第一接口的下一跳接口的MAC地址,VRRP心跳报文基于IP层进行传输,每经过一个路由器,根据地址解析协议(Address Resolution Protocol,以下简称ARP)获取对应的下一跳的路由器的MAC地址。本发明实施例中,将第一 VRRP报文中的作为目的IP地址的组播目的IP地址,更改为基于IP层传输的单播第二路由器的IP地址,实现第一 VRRP心跳报文在IP层进行报文传输,即只要第一路由器与第二路由器之间路由互通,即可实现基于IP层的第一 VRRP心跳报文转发。本实施例,通过将作为主路由器的第一路由器的IP地址设置为所述第一路由器发出的第一 VRRP报文的源IP地址,将作为备用路由器的第二路由器的IP地址设置为第一路由器发出的第一 VRRP心跳报文的目的地址,实现了 VRRP心跳报文基于IP层进行转发,即无需在主路由器与备份路由器之间部署MAC层通路,简化了网络部署。虚拟路由器由一组可以承担网关功能的路由器组成,虚拟路由器中包括至少两个路由器,虚拟路由器中的各路由器之间路由互通。组成虚拟路由器的至少两个路由器之间通过VRRP通信。同一个虚拟路由器可以作为多个终端的默认网关。通过在虚拟路由器中的各路由器上配置多个业务VRRP接口,作为不同终端的业务流量转发接口,配置管理VRRP接口,作为VRRP心跳报文的转发接口。当路由器作为主路由器时,其对应的路由器中的所有接口都作为主接口,类似地,当路由器作为备份路由器时,其对应的路由器中的所有接口都作为备份接口,即路由器中的接口状态与路由器状态保持一致。图2为本发明心跳报文传输方法实施例二的流程示意图。本实施例中,假定虚拟路由器中包括至少两个路由器,其中虚拟路由器中的第一路由器为主路由器,虚拟路由器中的一个或多个第二路由器为备份路由器,还包括分别与第一路由器和第二路由器路由可达的第三路由器,如图2所示,该方法包括S201 :第一路由器向第二路由器发送虚拟路由器冗余协议第一 VRRP心跳报文。S202 :第二路由器通过第三路由器接收第一路由器发送的第一 VRRP心跳报文,第一 VRRP心跳报文用于表示第一路由器正常工作。其中,第一 VRRP心跳报文中携带的源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。作为一种可行的实施方式,第一路由器可以为主路由器,则第二路由器可以为备份路由器,在该实施场景下,第二路由器通过第三路由器接收的VRRP心跳报文,可以用于表示第一路由器正常工作。虚拟路由器中至少有一个第二路由器,即至少一个备份路由器。具体地,虚拟路由器中的第二路由器接收第一路由器发送的第一虚拟路由器冗余协议VRRP心跳报文,第二路由器可以为虚拟路由器中除上述第一路由器之外的任一路由器,虚拟路由器中至少有一个第二路由器。其中,第一 VRRP心跳报文中携带的源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。本发明实施例,将第一 VRRP报文中的作为目的IP地址的组播目的IP地址,更改为基于IP层传输的单播第二路由器的IP地址,实现第一 VRRP心跳报文在IP层进行报文传输,即只要第一路由器与第二路由器之间路由互通,即可实现基于IP层的第一 VRRP心跳报文转发。·
本实施例,通过第二路由器接收第一路由器发送的携带源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址的第一 VRRP心跳报文,实现了第一 VRRP心跳报文基于IP层进行转发,即无需在主路由器与备份路由器之间部署MAC层通路,简化了网络部署。虚拟路由器由一组可以承担网关功能的路由器组成,虚拟路由器中包括至少两个路由器,虚拟路由器中的各路由器之间路由互通。组成虚拟路由器的至少两个路由器之间通过VRRP通信。同一个虚拟路由器可以作为多个终端的默认网关。通过在虚拟路由器中的各路由器上配置多个业务VRRP接口,作为不同终端的业务流量转发接口,配置管理VRRP接口,作为VRRP心跳报文的转发接口。当路由器作为主路由器时,其对应的路由器中的所有接口都作为主接口,类似地,当路由器作为备份路由器时,其对应的路由器中的所有接口都作为备份接口,即路由器中的接口状态与路由器状态保持一致。图3为本发明心跳报文传输方法实施例三的流程示意图。本实施例中,假定虚拟路由器中包括至少两个路由器,其中虚拟路由器中的第一路由器为主路由器,虚拟路由器中的一个或多个第二路由器为备份路由器,还包括分别与第一路由器和第二路由器路由可达的第三路由器;如图3所示,该方法包括S301 :第一路由器生成第一虚拟路由器冗余协议VRRP心跳报文。可选的,在第一路由器生成第一 VRRP心跳报文之前,当虚拟路由器中未确定主备路由器关系,还包括S300。S300 :第一路由器生成第二VRRP心跳报文,第二VRRP心跳报文用于与第二路由器协商虚拟路由器中的主路由器;通过第三路由器将第二 VRRP心跳报文发送给至少一个第
二路由器。具体地,第一路由器生成第二 VRRP心跳报文,第二 VRRP心跳报文用于与第二路由器协商虚拟路由器中的主路由器,此时的第一路由器可以是指虚拟路由器中的除接收第二VRRP心跳报文的第二路由器外的任一路由器,在该实施场景下,第二路由器接收第一路由器通过第三路由器发送的第二 VRRP心跳报文,上述VRRP心跳报文中可以携带有用于协商的字段信息,可以用于与虚拟路由器中的其他路由器协商第一路由器作为主路由器或者第二路由器作为主路由器。其中,主路由器是指为终端与网络侧之间进行数据转发的设备。更具体地,第二路由器根据接收到的任一第一路由器发送的第二 VRRP心跳报文中携带的用于协商主备关系的字段信息确定主备关系,例如协商主备关系的字段为优先级,当第二路由器的优先级高于虚拟路由器中除第二路由器之外的其他路由器,则第二路由器为主路由器,否则优先级最高的第一路由器为主路由器。当第一路由器作为主路由器或者第二路由器作为主路由器时,其对应的第一路由器中的所有接口都作为主接口或者第二路由器中的所有接口都作为主接口,即路由器中的接口状态与路由器状态保持一致。S302 :第一路由器通过第三路由器将第一 VRRP心跳报文发送给至少一个第二路由器,VRRP心跳报文中携带的源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。可选的,第一路由器的IP地址可以为第一路由器的本地环回LOOPBACK地址,同样,第二路由器的IP地址也可以也为第二路由器的LOOPBACK地址。由于LOOPBACK地址始 终是处于在线状态,因此,采用L00PBACK地址,可以增强传输的可靠性。可选的,第一 VRRP心跳报文中还可以携带生存时间(Time to Live,以下简称TTL)字段,来表示第一 VRRP心跳报文从第一路由器发送到第二路由器最多可以经过的路由器跳数,TTL值可根据实际的网络部署情况设置为不同的值。例如,设置TTL值为250,则表示,第一路由器发送的第一 VRRP心跳报文最多经过5跳转发到第二路由器,第一 VRRP心跳报文每经过一个路由器,TTL值减1,如果第二路由器收到的第一 VRRP心跳报文的TTL值小于第一 VRRP心跳报文中设置的TTL值,则可以丢弃该报文。可选的,VRRP心跳报文中还可以携带指示标识,用于指示VRRP心跳报文为单播报文,例如用类型(Type)字段标识VRRP心跳报文的类型,Type字段值为O表示单播VRRP心跳报文。Type字段值为I表示广播VRRP心跳报文。表I为基于IP层传输的VRRP心跳报文格式
VRRP心跳报文字段基于IP层传输的VRRP心跳报文
报文头____ t_
第一路由器中发出VRRP心跳报文的第一
源MAC地址
MAC层头__接口 MAC地址_
__目的MAC地址第一接口的下一跳接口的MAC地址
源IP地址__第一路由器的IP地址_
IP头目的IP地址__第二路由器的IP地址_
__TTL__可配置_
YRRP 协
Type字段O (表示单播)
议头___
表I中仅列举了基于IP层传输的VRRP心跳报文部分格式,其它未列举部分可以参考现有的VRRP心跳报文。S303:第二路由器接收第一路由器发送的第一虚拟路由器冗余协议VRRP心跳报文。作为一种可行的实施方式,第一路由器可以为主路由器,则第二路由器可以为备份路由器,在该实施场景下,第二路由器接收的第一 VRRP心跳报文,可以用于指示第一路由器正常工作。虚拟路由器中至少有一个第二路由器,即至少一个备份路由器。具体地,作为主路由器的第一路由器只有一个,虚拟路由器中除主路由器之外的其他第二路由器都可以为备份路由器,由主路由器向所有的备份路由器发送VRRP心跳报文,用于指示第一路由器正常工作。
第一路由器作为主路由器的实施场景下,心跳报文传输方法还可以包括S304-S306。S304:具有检测功能的模块检测到第一路由器故障或者第一路由器与终端连接的链路故障。具体的,可以在主路由器上集成具有检测功能的模块对主路由器或者对主路由器与终端连接的链路进行实时故障检测,或者,还可以设置与主路由器连接的具有检测功能的模块对主路由器或者对主路由器与终端连接的链路进行实时故障检测。S305:具有检测功能的模块通过第三路由器向至少一个第二路由器发送故障指示消息,以使至少一个第二路由器协商确定主路由器。具体地,当具有检测功能的模块检测到第一路由器故障后,或者检测到第一路由器与终端之间的主链路故障后,具有检测功能的模块可以通过第三路由器向虚拟路由器中的第二路由器发送故障指示消息,以使至少一个第二路由器协商确定主路由器。具体地,可以通过将故障检测消息中的代表第一路由器或者第一路由器与终端连接的链路状态的字段置为代表故障的值,例如,用State字段代表第一路由器或者主链路状态,用up带表第一路由器或者主链路正常,用down代表第一路由器或者主链路故障。故障检测消息的转发路径与VRRP心跳报文的转发路径相同,在IP层进行报文转发。至少一个第二路由器协商确定主路由器的方法与S300中协商确定主路由器的方法相同,此处不再赘述。若第二路由器在设定时间内没有通过第三路由器接收到第一路由器发送的第一VRRP心跳报文,则与虚拟路由器中除第二路由器之外的其它备份路由器协商选举主路由器,上述协商选举主路由器的方法与S300中协商确定主路由器的方法相同,此处不再赘述。S306 :第二路由器接收第一路由器通过第三路由器发送的故障指示消息。具体地,虚拟路由器中的任一作为备份路由器的第二路由器都接收到具有故障检测功能的模块发送的故障指示消息。作为一种可行的实施方式,当虚拟路由器中只有一个第一路由器,一个第二路由器时,当作为主路由器的第一路由器故障时,作为备份路由器的第二路由器接收到具有检测功能模块发送的故障指示消息后,将自己升为主路由器,替代已故障的第一路由器进行业务报文转发。
作为另一种可行的实施方式,当虚拟路由器中有两个以上的路由器时,即一个作为主路由器的第一路由器和多个作为备份的第二路由器。当作为主路由器的第一路由器故障时,作为备份的第二路由器接收到具有检测功能模块发送的故障指示消息后,都将自己升为主路由器,并发送VRRP心跳报文到虚拟路由器中的其他路由器,与虚拟路由器中除第二路由器之外的其它备份路由器协商确定主路由器。所用协商确定主路由器的方法同上述S300此处不再赘述。当确定完主备关系之后,由新的主路由器替代已故障的路由器进行报文转发。并由新的主路由器向虚拟路由器中的其他路由器发送VRRP心跳报文,用于指示新的主路由器工作正常。上述方法可以适用于多种实施场景,以下仅以两种典型场景为例,对本发明实施例提供的心跳报文传输方法进行描述。图4为虚拟路由器中的两个路由器之间通过基于同步光纤网络或同步数字体系的分组链路连接的示意图;基于同步光纤网络或同步数字体系的分组链路用于传输分组数据,如图4所示,路由器I与路由器2之间通过POS链路3连接,路由器I与路由器2之间发送VRRP心跳报文;图5为虚拟路由器中的两个路由器与交换机连接的示意图。如图5所 示,路由器I与路由器2之间通过交换机3连接,交换机3不能转发基于MAC层传输的VRRP心跳报文,一种实施场景如图4和图5所示,虚拟路由器中包括两台路由器,分别与终端相连。采用本发明实施例提供的上述心跳报文传输方法,VRRP心跳报文可基于IP层进行报文转发,无需在路由器单板上配置VE接口和绑定VPLS,无需在中间节点路由器上配置L2VPN连通两个路由器,提高单板转发性能,降低配置复杂度。图6为无线接入网IP化的应用场景不意图。另一种实施场景,如图6所不,终端与路由器I之间建立主PW,终端与路由器2之间建立备PW,路由器I与路由器2之间发送VRRP心跳报文,路由器3分别于路由器I和路由器2相连,用于转发路由器I与路由器2之间的IP层报文,其中,路由器I与路由器2为虚拟路由器中的路由器,路由器3为虚拟路由器以外的路由器,基于IP转发的VRRP心跳报文协商路由器I和路由器2的主备关系,当确定路由器I为主路由器时,VRRP心跳报文用于告知路由器2路由器I的状态,并由路由器I上具有检测功能的模块检测路由器I及路由器I与终端建立的主PW是否故障,当具有检测功能的模块检测到路由器I故障或者主PW故障时,可以通过故障指示消息报文通知路由器2升为主路由器,业务流量由终端发出,通过备PW发送到路由器2,由路由器2转发出去。实现了 VRRP心跳报文基于IP层的转发,无需复杂的接口配置,提高VRRP心跳报文的转发性能,并且节约了 VPLS资源。本实施例中,通过VRRP心跳报文协商主备之后,具有检测功能的检测模块检测到第一路由器故障或者主链路故障时,即主路由器故障或者与主路由器连接的主链路故障,立即向作为备份路由器的第二路由器发送故障指示消息,作为备份的第二路由器收到故障指示消息后,将自己升为主路由器,并向虚拟路由器中除自己以外的路由器发送VRRP心跳报文,用于再次协商主备关系,由新的主路由器进行报文转发。实现了当第一路由器故障或者主链路故障时,第二路由器可以迅速感知第一路由器的故障,并将第二路由器升为主用路由器,保证报文传输的连续性。图7为本发明心跳报文传输装置实施例一的结构示意图,如图7所示,该装置包括生成模块71和发送模块72。其中,生成模块71,用于生成第一虚拟路由器冗余协议VRRP心跳报文,所述第一 VRRP心跳报文用于表示第一路由器正常工作;发送模块72,用于通过第三路由器将第一 VRRP心跳报文发送给至少一个第二路由器,VRRP心跳报文中携带的源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。本实施例中的装置,具体可以是路由器,或者其他具有网关功能的网络设备。本实施例的装置,可以用于执行图I所示实施例的心跳报文传输方法,其实现过程可参见图I所示实施例中的相关描述,此处不再赘述。本实施例,通过发送模块通过第三路由器将携带源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址的第一 VRRP心跳报文发送给第二路由器,实现了VRRP心跳报文基于IP层进行转发,即无需在主路由器与备份路由器之间部署MAC层通路,简化了网路部署。图8为本发明心跳报文传输装置实施例二的结构示意图,在图7所示装置实施例的基础上,该装置进一步地还包括双向转发检测模块73,如图8所示。在第一路由器作为主路由器的实施场景下,还包括双向转发检测模块(Bidirectional Forwarding Detection,以下简称BFD) 73,用于检测到第一路由器故障或者第一路由器与终端连接的链路故障;通过第三路由器向至少一个第二路由器发送故障指示消息,以使至少一个第二路由器协商确定主路由器。其中,故障指示消息中携带的源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。具体的,BFD可以集成在主路由器中对主路由器或者主路由器与终端连接的主PW进行实时故障检测,或者,还可以是一个独立的BFD实体通过与主路由器连接对主路由器或者主路由器与终端连接的主PW进行实时故障检测。可选的,第一路由器的IP地址还可以为第一路由器的本地环回LOOPBACK地址;和/或,第二路由器的IP地址为第二路由器的本地环回L00PBACK地址。即第一路由器的IP地址为第一路由器的本地环回L00PBACK地址,并且,第二路由器的IP地址也为第二路由器的L00PBACK地址;或者,第一路由器的IP地址为第一路由器的L00PBACK地址;或者,第二路由器的IP地址为第二路由器的L00PBACK地址,由于L00PBACK地址始终是处于在线状态,因此,采用L00PBACK地址,增强传输的可靠性。可选的,VRRP心跳报文中还可以携带指示标识,指示标识用于指示VRRP心跳报文为单播报文。在虚拟路由器中未确定主路由器之间,生成模块71还用于生成第二 VRRP心跳报文,第二 VRRP心跳报文用于与第二路由器协商虚拟路由器中的主路由器。发送模块72还用于通过第三路由器将第二 VRRP心跳报文发送给至少一个所述第二路由器。本实施例的装置,可以用于执行图3所示实施例的心跳报文传输方法,其实现过程可参见图3所示实施例中第一路由器的相关描述,此处不再赘述。本实施例中,通过VRRP心跳报文协商主备之后,BFD检测到第一路由器故障或者第一路由器与终端连接的链路故障,即主路由器故障或者主PW故障,向第二路由器发送故障指示消息,作为备份的第二路由器收到故障指示消息后,将自己升为主路由器,并向虚拟路由器中除自己以外的路由器发送VRRP心跳报文,用于再次协商主备关系,由新的主路由器进行报文转发。实现了当第一路由器故障时,第二路由器可以迅速感知第一路由器的故障,并将第二路由器升为主用路由器,保证报文传输的连续性。图9为本发明心跳报文传输装置实施例三的结构示意图,如图9所示,该装置包括接收模块901,用于通过第三路由器接收第一路由器发送的第一虚拟路由器冗余协议VRRP心跳报文,第一 VRRP心跳报文用于表不第一路由器正常工作。其中,第一 VRRP心跳报文中携带的源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。本实施例中的装置,具体可以是路由器,或者其他具有网关功能的网络设备。本实施例的装置,可以用于执行图2所示实施例的心跳报文传输方法,其实现过程可参见图2所示实施例中的相关描述,此处不再赘述。本实施例,通过接收模块接收第一路由器发送的携带源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址的VRRP心跳报文,实现了 VRRP心跳报文基于IP层进行转发,即无需在主路由器与备份路由器之间部署MAC层通路,简化了网路部署。
·
图10为本发明心跳报文传输装置实施例四的结构示意图,图10是在图9所示结构的基础上,进一步地,还包括协商模块902和处理模块903,如图10所示处理模块903,用于若设定时间内接收模块901没有通过第三路由器接收到第一路由器发送的第一 VRRP心跳报文,则与虚拟路由器中除第二路由器之外的其它备份路由器协商选举主路由器。接收模块901还用于通过第三路由器接收第一路由器发送的第二 VRRP心跳报文,第二 VRRP心跳报文用于与第二路由器协商虚拟路由器中的主路由器。 接收模块901接收到第一路由器发送的第一 VRRP心跳报文之后,还用于接收第一路由器的双向转发检测模块发送的故障指示消息。协商模块902,用于与虚拟路由器中除接收故障指示消息的第二路由器之外的其它备份路由器协商确定主路由器。可选的,第一路由器的IP地址还可以为第一路由器的本地环回LOOPBACK地址;和/或,第二路由器的IP地址为第二路由器的本地环回LOOPBACK地址。即第一路由器的IP地址为第一路由器的本地环回LOOPBACK地址,并且,第二路由器的IP地址也为第二路由器的L00PBACK地址;或者,第一路由器的IP地址为第一路由器的L00PBACK地址;或者,第二路由器的IP地址为第二路由器的L00PBACK地址,由于L00PBACK地址始终是处于在线状态,因此,采用L00PBACK地址,增强传输的可靠性。可选的,VRRP心跳报文中还可以携带指示标识,指示标识用于指示VRRP心跳报文为单播报文。本实施例的装置,可以用于执行图3所示实施例的心跳报文传输方法,其实现过程可参见图3所示实施例中第二路由器的相关描述,此处不再赘述。本实施例中,通过VRRP心跳报文协商主备之后,BFD检测到第一路由器故障或者第一路由器与终端连接的链路故障,即主路由器故障或者主PW故障,通过第三路由器向第二路由器发送故障指示消息,作为备份的第二路由器收到故障指示消息后,将自己升为主路由器,协商模块向虚拟路由器中除自己以外的路由器发送VRRP心跳报文,用于再次协商主备关系,由新主路由器进行报文转发。实现了当第一路由器故障时,第二路由器可以迅速感知第一路由器的故障,并将第二路由器升为主用路由器,保证报文传输的连续性。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。
权利要求
1.一种心跳报文传输方法,其特征在于,该方法应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达; 所述方法包括 生成第一 VRRP心跳报文,所述第一 VRRP心跳报文用于表不第一路由器正常工作; 通过所述第三路由器将所述第一 VRRP心跳报文发送给至少一个第二路由器,所述第一 VRRP心跳报文中携带的源网络协议IP地址为所述第一路由器的IP地址,目的IP地址为所述第二路由器的IP地址。
2.根据权利要求I所述的方法,其特征在于,还包括 检测到所述第一路由器故障或者所述第一路由器与终端连接的链路故障; 通过所述第三路由器向所述至少一个第二路由器发送故障指示消息,以使所述至少一个第二路由器协商确定主路由器。
3.根据权利要求I或2所述的方法,其特征在于,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的LOOPBACK地址。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述生成第一虚拟路由器冗余协议VRRP心跳报文之前,还包括 生成第二 VRRP心跳报文,所述第二 VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器; 通过所述第三路由器将所述第二 VRRP心跳报文发送给至少一个所述第二路由器。
6.一种心跳报文传输方法,其特征在于,该方法应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达; 所述方法包括 通过所述第三路由器接收第一路由器发送第一 VRRP心跳报文,所述第一 VRRP心跳报文用于表不第一路由器正常工作; 其中,所述第一 VRRP心跳报文中携带的源网络协议IP地址为所述第一路由器的IP地址,目的IP地址为第二路由器的IP地址。
7.根据权利要求6所述的方法,其特征在于,还包括 若设定时间内没有通过所述第三路由器接收到所述第一路由器发送的所述第一 VRRP心跳报文,则与所述虚拟路由器中除所述第二路由器之外的其它备份路由器协商选举主路由器。
8.根据权利要求6所述的方法,其特征在于,还包括 通过所述第三路由器接收所述第一路由器发送的故障指示消息; 与虚拟路由器中除所述第二路由器之外的其它备份路由器协商确定主路由器。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的本地环回LOOPBACK地址。
10.根据权利要求6 -9任一项所述的方法,其特征在于,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。
11.根据权利要求6-10任一项所述的方法,其特征在于,所述通过所述第三路由器接收第一路由器发送第一 VRRP心跳报文之前,还包括 通过所述第三路由器接收所述第一路由器发送的第二 VRRP心跳报文,所述第二 VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器。
12.—种心跳报文传输装置,其特征在于,该装置应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达;该装置包括 生成模块,用于生成第一虚拟路由器冗余协议VRRP心跳报文,所述第一 VRRP心跳报文用于表不第一路由器正常工作; 发送模块,用于通过第三路由器将所述第一 VRRP心跳报文发送给至少一个第二路由器,所述第一 VRRP心跳报文中携带的源网络协议IP地址为所述第一路由器的IP地址,目的IP地址为所述第二路由器的IP地址。
13.根据权利要求12所述的装置,其特征在于,还包括 双向转发检测模块BFD,用于检测到所述第一路由器故障或者所述第一路由器与终端连接的链路故障;通过所述第三路由器向所述至少一个第二路由器发送故障指示消息,以使所述至少一个第二路由器协商确定主路由器。
14.根据权利要求12-13任一项所述的装置,其特征在于,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的本地环回LOOPBACK地址。
15.根据权利要求12-14任一项所述的装置,其特征在于,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。
16.根据权利要求12-15任一项所述的装置,其特征在于,所述生成模块,还用于生成第二 VRRP心跳报文,所述第二 VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器; 所述发送模块,还用于通过所述第三路由器将所述第二 VRRP心跳报文发送给至少一个所述第二路由器。
17.—种心跳报文传输装置,其特征在于,该装置应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,所述至少两个路由器之间通过虚拟路由器冗余协议VRRP通信;所述虚拟路由器中的第一路由器为主路由器,所述虚拟路由器中的至少一个第二路由器为备份路由器,所述第三路由器分别与所述第一路由器和所述第二路由器路由可达;该装置包括 接收模块,用于通过第三路由器接收第一路由器发送的第一虚拟路由器冗余协议VRRP心跳报文,所述第一 VRRP心跳报文用于表示第一路由器正常工作; 其中,所述第一 VRRP心跳报文中携带的源网络协议IP地址为所述第一路由器的IP地址,目的IP地址为第二路由器的IP地址。
18.根据权利要求17所述的装置,其特征在于,还包括 处理模块,用于若设定时间内所述接收模块没有通过所述第三路由器接收到所述第一路由器发送的所述第一 VRRP心跳报文,则与所述虚拟路由器中除所述第二路由器之外的其它备份路由器协商选举主路由器。
19.根据权利要求17所述的装置,其特征在于,所述接收模块还用于通过所述第三路由器接收双向转发检测模块BFD发送的故障指示消息。
协商模块,用于与虚拟路由器中除所述第二路由器之外的其它备份路由器协商确定主路由器。
20.根据权利要求17-19任一项所述的装置,其特征在于,所述第一路由器的IP地址为所述第一路由器的本地环回LOOPBACK地址;和/或,所述第二路由器的IP地址为所述第二路由器的本地环回LOOPBACK地址。
21.根据权利要求17-20任一项所述的装置,其特征在于,所述VRRP心跳报文中还携带指示标识,所述指示标识用于指示所述VRRP心跳报文为单播报文。
22.根据权利要求17-21任一项所述的装置,其特征在于,所述接收模块,还用于通过所述第三路由器接收所述第一路由器发送的第二 VRRP心跳报文,所述第二 VRRP心跳报文用于与所述第二路由器协商所述虚拟路由器中的主路由器。
全文摘要
一种心跳报文的传输方法,应用于包括虚拟路由器及分别与至少一个第三路由器的网络中,该至少两个路由器之间通过VRRP通信;该虚拟路由器中的第一路由器为主路由器,该虚拟路由器中的至少一个第二路由器为备份路由器,该第三路由器分别与该第一、第二路由器路由可达。该方法包括生成第一VRRP心跳报文,该第一VRRP心跳报文用于表示第一路由器正常工作;通过该第三路由器将所述第一VRRP心跳报文发送给第二路由器,该第一VRRP心跳报文中携带的源IP地址为所述第一路由器的IP地址,目的IP地址为所述第二路由器的IP地址。
文档编号H04L12/713GK102891798SQ201210370480
公开日2013年1月23日 申请日期2012年9月28日 优先权日2012年9月28日
发明者黄调文 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1