地址解析协议ARP表项的同步方法及装置与流程

文档序号:12162201阅读:545来源:国知局
地址解析协议ARP表项的同步方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种地址解析协议ARP表项的同步方法及装置。



背景技术:

在大数据时代背景下,通过集群部署设备来提高带宽的组网越来越多,为了提高流量切换速率,提高集群系统可靠性,稳定性,需要集群设备间共享地址解析协议(Address Resolution Protocol,简称为ARP)表项,实时做好备份工作。

在相关技术中,已有的ARP表项信息同步不是承载在虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称为VRRP)备份组,就是通过网管来实现,存在集群部署组网中设备间ARP表项的实时同步问题。

针对相关技术中,集群部署组网中设备间ARP表项不能实时同步问题,目前还没有有效的解决技术方案。



技术实现要素:

本发明提供了一种地址解析协议ARP表项的同步方法及装置,以至少解决相关技术中集群部署组网中设备间ARP表项不能实时同步的问题。

根据本发明的一个方面,提供了一种地址解析协议ARP表项的同步方法,包括:

发起设备接收ARP表项的报文,确定对所述ARP表项的报文进行报文修改得到第一ARP实时同步报文,所述报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

所述发起设备发送所述第一ARP实时同步报文给中转设备,其中,所述中转设备对所述第一ARP实时同步报文进行所述报文修改得到第二ARP实时同步报文,所述中转设备将所述第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知所述发起设备或者所述中转设备对所述第二ARP实时同步报文进行所述报文解析处理。

进一步地,确定对所述ARP表项的报文进行报文修改得到第一ARP实时同步报文包括:

将所述ARP表项的报文中的目标IP字段重置为所述发起设备本地的IP地址。

进一步地,发起设备接收ARP表项的报文之前,包括:

在所述中转设备包括主中转设备和备中转设备的情况下,所述发起设备向所述主中转设 备发送注册请求报文;

若所述发起设备接收所述主中转设备的注册响应报文的情况下,所述发起设备和所述主中转设备建链成功,所述发起设备和所述主中转设备互发心跳报文;

若所述发起设备在预设的次数向所述主中转设备发送所述注册请求报文的情况下,没有接收到所述主中转设备的注册响应报文的情况下,所述发起设备向所述备中转设备发送所述注册请求报文;

若所述发起设备在预设的次数向所述备中转设备发送所述注册请求报文的情况下,没有接收到所述备中转设备的注册响应报文的情况下,所述发起设备重新向所述主中转设备发送所述注册请求报文。

进一步地,所述发起设备发送所述第一ARP实时同步报文给中转设备之后,在所述心跳报文异常的情况下,所述方法包括:

若确定所述主中转设备导致的心跳报文异常,则所述发起设备转向与所述备中转设备交互;

若确定所述主中转设备和所述备中转设备导致的心跳报文异常,则不断探测所述主中转设备和所述备中转设备是否恢复,在所述主中转设备或所述备中转设备恢复的情况下,所述发起设备重新发送所述第一ARP实时同步报文给主中转设备或者所述备中转设备;

若确定所述发起设备导致的心跳报文异常,在所述发起设备恢复的情况下,主中转设备或者所述备中转设备将所述第一ARP实时同步报文同步给所述发起设备。

根据本发明的另一个方面,还提供了一种地址解析协议ARP表项的同步方法,包括:

中转设备接收发起设备发送的第一ARP实时同步报文,其中,所述第一ARP实时同步报文是所述发起设备接收的ARP表项的报文进行报文修改得到的报文,所述报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

所述中转设备对所述第一ARP实时同步报文进行所述报文修改得到第二ARP实时同步报文,所述中转设备将所述第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知所述发起设备或者所述中转设备对所述第二ARP实时同步报文进行所述报文解析处理。

进一步地,所述中转设备对所述第一ARP实时同步报文进行所述报文修改得到第二ARP实时同步报文包括:

将所述第一ARP实时同步报文中的目标IP字段重置为所述中转设备本地的IP地址。

根据本发明的另一个方面,还提供了一种地址解析协议ARP表项的同步装置,包括:

第一接收模块,用于发起设备接收ARP表项的报文;

第一修改模块,用于确定对所述ARP表项的报文进行报文修改得到第一ARP实时同步报文,所述报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

第一转发模块,用于所述发起设备发送所述第一ARP实时同步报文给中转设备,其中,所述中转设备对所述第一ARP实时同步报文进行所述报文修改得到第二ARP实时同步报文,所述中转设备将所述第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知所述发起设备或者所述中转设备对所述第二ARP实时同步报文进行所述报文解析处理。

进一步地,所述第一修改模块包括:

第一地址重置单元,用于将所述ARP表项的报文中的目标IP字段重置为所述发起设备本地的IP地址。

进一步地,所述装置还包括:

建链模块,用于在所述中转设备包括主中转设备和备中转设备的情况下,所述发起设备向所述主中转设备发送注册请求报文;

若所述发起设备接收所述主中转设备的注册响应报文的情况下,所述发起设备和所述主中转设备建链成功,所述发起设备和所述主中转设备互发心跳报文;

若所述发起设备在预设的次数向所述主中转设备发送所述注册请求报文的情况下,没有接收到所述主中转设备的注册响应报文的情况下,所述发起设备向所述备中转设备发送所述注册请求报文;

若所述发起设备在预设的次数向所述备中转设备发送所述注册请求报文的情况下,没有接收到所述备中转设备的注册响应报文的情况下,所述发起设备重新向所述主中转设备发送所述注册请求报文。

进一步地,所述装置还包括:

心跳模块,用于若确定所述主中转设备导致的心跳报文异常,则所述发起设备转向与所述备中转设备交互;

若确定所述主中转设备和所述备中转设备导致的心跳报文异常,则不断探测所述主中转设备和所述备中转设备是否恢复,在所述主中转设备或所述备中转设备恢复的情况下,所述发起设备重新发送所述第一ARP实时同步报文给主中转设备或者所述备中转设备;

若确定所述发起设备导致的心跳报文异常,在所述发起设备恢复的情况下,主中转设备或者所述备中转设备将所述第一ARP实时同步报文同步给所述发起设备。

根据本发明的另一个方面,还提供了一种地址解析协议ARP表项的同步装置,包括:

第二接收模块,用于中转设备接收发起设备发送的第一ARP实时同步报文,其中,所述第一ARP实时同步报文是所述发起设备接收的ARP表项的报文进行报文修改得到的报文,所 述报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

第二修改模块,用于所述中转设备对所述第一ARP实时同步报文进行所述报文修改得到第二ARP实时同步报文;

第二转发模块,用于所述中转设备将所述第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知所述发起设备或者所述中转设备对所述第二ARP实时同步报文进行所述报文解析处理。

进一步地,所述第二修改模块包括:

第二地址重置单元,用于将所述第一ARP实时同步报文中的目标IP字段重置为所述中转设备本地的IP地址。

通过本发明,发起设备接收ARP表项的报文,确定对该ARP表项的报文进行报文修改得到第一ARP实时同步报文,该报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口,该发起设备发送该第一ARP实时同步报文给中转设备,其中,该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文,该中转设备将该第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知该发起设备或者该中转设备对该第二ARP实时同步报文进行该报文解析处理,解决了集群部署组网中设备间ARP表项不能实时同步问题,实现了集群部署组网中设备间ARP表项的实时同步。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种地址解析协议ARP表项的同步方法的流程图一;

图2是根据本发明实施例的一种地址解析协议ARP表项的同步方法的流程图二;

图3是根据本发明实施例的一种地址解析协议ARP表项的同步装置的结构框图一;

图4是根据本发明实施例的一种地址解析协议ARP表项的同步装置的结构框图二;

图5是根据本发明优选实施例的集群组网的示意图;

图6是根据本发明优选实施例的正常实时同步的流程示意图;

图7是根据本发明优选实施例的异常恢复的流程示意图;

图8是根据本发明实施例的ARP-client和ARP-server模块的结构示意图;

图9是根据本发明优选实施例的二集群组网示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种地址解析协议ARP表项的同步方法,图1是根据本发明实施例的一种地址解析协议ARP表项的同步方法的流程图一,如图1所示,该流程包括如下步骤:

步骤S102,发起设备接收ARP表项的报文,确定对该ARP表项的报文进行报文修改得到第一ARP实时同步报文,该报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

步骤S104,该发起设备发送该第一ARP实时同步报文给中转设备,其中,该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文,该中转设备将该第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知该发起设备或者该中转设备对该第二ARP实时同步报文进行该报文解析处理。

通过上述步骤,发起设备接收ARP表项的报文,确定对所述ARP表项的报文进行报文修改得到第一ARP实时同步报文,所述中转设备对所述第一ARP实时同步报文进行所述报文修改得到第二ARP实时同步报文,所述中转设备将所述第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知所述发起设备或者所述中转设备对所述第二ARP实时同步报文进行所述报文解析处理,解决了集群部署组网中设备间ARP表项不能实时同步问题,实现了集群部署组网中设备间ARP表项的实时同步。

在本实施例中,确定对该ARP表项的报文进行报文修改得到第一ARP实时同步报文包括:

将该ARP表项的报文中的目标IP字段重置为该发起设备本地的IP地址。

在本实施例中,在该中转设备包括主中转设备和备中转设备的情况下,该发起设备向该主中转设备发送注册请求报文;

若该发起设备接收该主中转设备的注册响应报文的情况下,该发起设备和该主中转设备建链成功,该发起设备和该主中转设备互发心跳报文;

若该发起设备在预设的次数向该主中转设备发送该注册请求报文的情况下,没有接收到该主中转设备的注册响应报文的情况下,该发起设备向该备中转设备发送该注册请求报文;

若该发起设备在预设的次数向该备中转设备发送该注册请求报文的情况下,没有接收到该备中转设备的注册响应报文的情况下,该发起设备重新向该主中转设备发送该注册请求报文。

在本实施例中,在该心跳报文异常的情况下,若确定该主中转设备导致的心跳报文异常,则该发起设备转向与该备中转设备交互;

若确定该主中转设备和该备中转设备导致的心跳报文异常,则不断探测该主中转设备和该备中转设备是否恢复,在该主中转设备或该备中转设备恢复的情况下,该发起设备重新发送该第一ARP实时同步报文给主中转设备或者该备中转设备;

若确定该发起设备导致的心跳报文异常,在该发起设备恢复的情况下,主中转设备或者该备中转设备将该第一ARP实时同步报文同步给该发起设备。

在本实施例中还提供了一种地址解析协议ARP表项的同步方法,图2是根据本发明实施例的一种地址解析协议ARP表项的同步方法的流程图二,如图2所示,该流程包括如下步骤:

步骤S202,中转设备接收发起设备发送的第一ARP实时同步报文,其中,该第一ARP实时同步报文是该发起设备接收的ARP表项的报文进行报文修改得到的报文,该报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

步骤S204,该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文,该中转设备将该第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知该发起设备或者该中转设备对该第二ARP实时同步报文进行该报文处理。

通过上述步骤,中转设备接收发起设备发送的第一ARP实时同步报文,该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文,该中转设备将该第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知该发起设备或者该中转设备对该第二ARP实时同步报文进行该报文解析处理,解决了集群部署组网中设备间ARP表项不能实时同步问题,实现了集群部署组网中设备间ARP表项的实时同步。

在本实施例中,该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文包括:

将该第一ARP实时同步报文中的目标IP字段重置为该中转设备本地的IP地址。

本实施例中还提供了一种地址解析协议ARP表项的同步装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的一种地址解析协议ARP表项的同步装置的结构框图一,如图3所示,该装置包括

第一接收模块32,用于发起设备接收ARP表项的报文;

第一修改模块34,用于确定对该ARP表项的报文进行报文修改得到第一ARP实时同步报文,该报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项 类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

第一转发模块36,用于该发起设备发送该第一ARP实时同步报文给中转设备,其中,该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文,该中转设备将该第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知该发起设备或者该中转设备对该第二ARP实时同步报文进行该报文解析处理。

通过上述装置,发起设备接收ARP表项的报文,确定对所述ARP表项的报文进行报文修改得到第一ARP实时同步报文,所述中转设备对所述第一ARP实时同步报文进行所述报文修改得到第二ARP实时同步报文,所述中转设备将所述第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知所述发起设备或者所述中转设备对所述第二ARP实时同步报文进行所述报文解析处理,解决了集群部署组网中设备间ARP表项不能实时同步问题,实现了集群部署组网中设备间ARP表项的实时同步。

在本实施例中,该第一修改模块34包括:

第一地址重置单元,用于将该ARP表项的报文中的目标IP字段重置为该发起设备本地的IP地址。

在本实施例中,该装置还包括:

建链模块,用于在该中转设备包括主中转设备和备中转设备的情况下,该发起设备向该主中转设备发送注册请求报文;

若该发起设备接收该主中转设备的注册响应报文的情况下,该发起设备和该主中转设备建链成功,该发起设备和该主中转设备互发心跳报文;

若该发起设备在预设的次数向该主中转设备发送该注册请求报文的情况下,没有接收到该主中转设备的注册响应报文的情况下,该发起设备向该备中转设备发送该注册请求报文;

若该发起设备在预设的次数向该备中转设备发送该注册请求报文的情况下,没有接收到该备中转设备的注册响应报文的情况下,该发起设备重新向该主中转设备发送该注册请求报文。

在本实施例中,该装置还包括:

心跳模块,用于若确定该主中转设备导致的心跳报文异常,则该发起设备转向与该备中转设备交互;

若确定该主中转设备和该备中转设备导致的心跳报文异常,则不断探测该主中转设备和该备中转设备是否恢复,在该主中转设备或该备中转设备恢复的情况下,该发起设备重新发送该第一ARP实时同步报文给主中转设备或者该备中转设备;

若确定该发起设备导致的心跳报文异常,在该发起设备恢复的情况下,主中转设备或者该备中转设备将该第一ARP实时同步报文同步给该发起设备。

图4是根据本发明实施例的一种地址解析协议ARP表项的同步装置的结构框图二,如图4所示,包括:

第二接收模块42,用于中转设备接收发起设备发送的第一ARP实时同步报文,其中,该第一ARP实时同步报文是该发起设备接收的ARP表项的报文进行报文修改得到的报文,该报文修改的报文内容包括以下至少之一:ARP表项所属群组身份标识ID,ARP表项类型,ARP表项操作类型,ARP表项的原始归属,ARP表项超时时间,ARP表项对应的接口;

第二修改模块44,用于该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文;

第二转发模块46,用于该中转设备将该第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知该发起设备或者该中转设备对该第二ARP实时同步报文进行该报文解析处理。

通过上述装置,中转设备接收发起设备发送的第一ARP实时同步报文,该中转设备对该第一ARP实时同步报文进行该报文修改得到第二ARP实时同步报文,该中转设备将该第二ARP实时同步报文发送给其他的发起设备或者其他的中转设备,通知该发起设备或者该中转设备对该第二ARP实时同步报文进行该报文解析处理,解决了集群部署组网中设备间ARP表项不能实时同步问题,实现了集群部署组网中设备间ARP表项的实时同步。

在本实施例中,该第二修改模块44包括:

第二地址重置单元,用于将该第一ARP实时同步报文中的目标IP字段重置为该中转设备本地的IP地址。

下面结合优选实施例和实施方式对本发明进行详细说明。

本发明优选实施例提供了一种ARP表项在集群部署多设备间实时同步添加、更新和删除的方法,包括:设备添加、更新和删除ARP表项后,以修改、重构ARP报文字段的办法告知ARP中转设备,再由中转设备通知其他集群设备;ARP中转设备也具有将本地创建的ARP表项告知其他设备的功能;ARP中转设备采用双节点冗余分担部署提高可靠性;在非中转设备和中转设备之间采用心跳感知对端状态,用于容灾恢复。相应的,本优选实施例根据功能特点定义了2类设备:ARP表项操作发起设备和ARP表项操作中转设备,ARP表项操作中转设备同时具备ARP表项操作发起设备应有的功能。为方便描述,文中分别以ARP-client(ARP表项操作发起设备)和ARP-server(ARP表项操作中转设备),并且ARP表项操作发起设备相当于上述实施例的发起设备,以及ARP表项操作中转设备相当于上述实施例的中转设备。

在本优选实施例中,通过对原始ARP报文字段做如下应用改动,以满足ARP表项信息的实时同步添加、更新和删除报文需求:

1.对ARP报文“opcode”字段16位分解,高8位为ARP表项所属集群组ID;低8位中的高4位为ARP条目类型;低8位中的低4位为ARP条目操作类型。(这些字段的具体意义 和用法在基本流程一节具体阐述)

2.对ARP报文“Target IP”字段重置为ARP-client本地IP。

3.对ARP报文“Target MAC”字段重置为ARP表项超时时间和预留字段,以备扩展。

另外,在本优选实施例中,还在设备上增加2个模块:ARP表项操作发起模块和ARP表项操作中转模块。使能ARP表项操作发起模块的设备即成为ARP表项操作发起设备(ARP-client),使能ARP表项操作中转模块的设备即成为ARP表项操作中转设备(ARP-server),且一台设备不能同时使能这2个模块。

在ARP-client和ARP-server间创建注册建链和维护心跳机制,用于容灾恢复,提高可靠性。

本发明实施例基本的设置和3大基本工作模块如下:

图5是根据本发明优选实施例的集群组网的示意图,如图5所示,该基本设置包括:

1.使能集群部署设备中2台设备作为ARP表项操作中转设备(ARP-server),其余设备使能ARP表项操作发起模块(ARP-client)。

2.每个ARP-client分别和2个ARP-server对接,并将2个ARP-server分别设置为主用ARP-server、备用ARP-server。

3.给需要同步ARP条目的端口分配一个集群组ID。

其中,3大基本工作模块包括:建链维护心跳模块、实时同步模块、异常保护模块,其中,该实时同步模块相当于上述实施例的第一修改模块34,第二修改模块44,第一转发模块36,以及第二转发模块46;建链维护心跳模块、异常保护模块相当于上述实施例的建链模块和心跳模块。

图6是根据本发明优选实施例的正常实时同步的流程示意图,如图6所示,注册并维护心跳模块工作流程包括:

1.ARP-client向主用ARP-server发送注册请求报文;

2.ARP-client如果收到主用ARP-server的注册响应报文,则回一个注册确认报文,建链成功,开始互发心跳报文;

3.如果ARP-client连续3次向主用ARP-server发送请求都得不到响应,则向备用ARP-server发送注册请求,如果注册成功则互发心跳;

4.如果ARP-client连续3次请求得不到备ARP-server的响应,则重新向主用ARP-server发送注册请求,如此在主备ARP-server之间轮流探测,直到注册成功。

需要说明的是,在ARP-client和备用ARP-server维护心跳期间,要不断向主用ARP-server发送注册请求,一旦注册成功便回切。这是一种让主备ARP-server既冗余备份, 又压力分担的方法。

关于主备ARP-server即冗余备份,又压力分担方法的进一步描述包括:

因为系统设置了2个ARP-server,假设分别为ARP-server1和ARP-server2,如果在给ARP-client设置ARP-server时,有一半ARP-client设置的主用ARP-server为ARP-server1,另外一半ARP-client设置的ARP-server为ARP-server2,则一开始便是冗余均担的,如果其中一个ARP-server异常,则所有压力全部由正常的ARP-server承担,上述步骤5)就确保了异常的ARP-server恢复正常后,相应的client能够回切。

实时同步模块工作流程:

其中一个ARP-client收到常规的ARP报文,并确定增加ARP表项,则该报文交给ARP表项操作发起模块处理,此类自主学习得到的ARP表项需要标记为非同步ARP表项。

ARP-client将处理后的报文交给ARP-server,ARP-server添加表项,并由ARP表项操作中转模块处理转交另外一个ARP-server和其他ARP-client。被转交的ARP-server和ARP-client添加ARP表项,并标记为同步ARP表项。

如果ARP-client设备的非同步ARP表项发生更新,也需要通过如上中转方式通知其他设备更新。

如果ARP-client设备的非同步ARP条目被删除,也需要通过如上中转方式通知其他设备删除相应表项。

需要说明的是,ARP-server对自主添加的表项也能生成非同步ARP表项,且直接转交给另外一个ARP-server和其他ARP-client。ARP表项发生更新、删除时也能通知其他设备。

图7是根据本发明优选实施例的异常恢复的流程示意图,如图7所示,异常保护模块工作流程包括:

主用ARP-server心跳异常,则ARP-client转向与备用ARP-server交互,并不断探测主用ARP-server是否恢复。

主用ARP-server恢复,则ARP-client转向与主用ARP-server交互,且所有重新与主用ARP-server交互的设备把非同步ARP表项上传给新回复的ARP-server。

ARP-client异常,并恢复,ARP-server将所有ARP表项同步给ARP-client。

在本优选实施例中,图8是根据本发明实施例的ARP-client和ARP-server模块的结构示意图,如图8所示,包括:

一、注册并维护心跳模块

1.采用TLV格式自定义3种报文:注册请求报文、注册响应报文和心跳报文

2.在ARP-server中起TCP连接服务端,并配置server ip地址作为服务ip。特殊处理 ARP-server与ARP-client接口,使其具备将报文直接交给模块进程和转发的能力。

3.在ARP-client中配置主、备用ARP-server服务地址,且指定连接接口,特殊处理该接口使其具备将报文直接交给设备模块和转发能力。

4.在ARP-client的注册并维护心跳模块根据前文提及的“主备ARP-server冗余备份”方案向ARP-server建立TCP连接,在建链成功后ARP-client向ARP-server发送注册请求报文,得到响应后再回一个注册响应报文确认关系。

5.确认注册成功后,ARP-client、ARP-server周期性互发心跳报文维护关系。

二、实时同步模块

该模块的关键思路在于:同步报文除了需要携带IP、MAC,还需要携带ARP表项类型、ARP表项超时时间、ARP表项的原始归属、ARP表项的操作类型(添加、更新和删除)和ARP表项对应的接口等信息。

1.首先解释说明文中提到的名词和改造、构造的报文

1)ARP表项同步集群组ID:给需要同步ARP表项接口分配的一个组号,通过同步报文携带给其他设备,其他设备收到报文后将ARP表项添加到集群组ID相同的接口。

2)改造原始ARP请求、应答报文:

将ARP报文的opcode字段分别改造为3个字段:ARP表项同步群组ID、ARP条目类型和ARP条目操作类型。假设opcode字段为A1A2A3A4,则A1A2为ARP表同步群组ID,A3为ARP条目类型,A4为ARP条目操作符,操作符对应增加、更新和删除对应不同的取值。

ARP报文的Target ip改为ARP-client、ARP-server的ip地址,用于被同步设备标记是否非同步ARP。

ARP报文的Target MAC字段,高位3个字符预留,以便携带需要扩充的字段,低位5个字符为ARP条目超时剩余时间。

2.基于上述报文设定,采用如下流程实现实时同步流程

1)设备的ARP处理模块与实时同步模块关联,ARP模块在收到ARP报文,并确定需要生成新的ARP表项时,将报文复制并交给实时同步模块。

2)实时同步模块收到报文后,根据上述报文结构修改成ARP实时同步增加报文,并经过ARP-server对接接口交给ARP-server。

3)ARP-server在收到ARP实时同步增加报文后,自己先添加ARP表项,然后分别经过与各个ARP-client/server连接的接口将报文转交给对端。

4)其他ARP-client/server收到ARP实时同步增加报文后,添加ARP表项。

5)当设备ARP发生更新时,则要按照上述流程发送ARP实时同步更新报文通知其他设备更新ARP表项。设备在收到更新报文后,如果没有ARP表项,则添加表项。

6)当设备ARP表项超时,则无需通知其他设备,因为其他设备已有超时时间,在没有被更新的情况下,它们都会超时。

7)当ARP表项被删除时,需要按照上述流程发送ARP实时删除报文同步删除。

三、异常保护模块

异常保护机制建立在心跳机制上,通过心跳感知其他设备状态是否正常,并在异常出现后采取保护切换动作,具体实现如下:

1)ARP-clinet判断主用ARP-server异常,则触发切换,与备用ARP-server交互。

2)ARP-client判断主备ARP-server都异常,则不断探测ARP-server恢复情况,重新恢复交互后,ARP-clinet通过针对每条非同步ARP表项发送ARP实时增加报文的方法上传到ARP-server。

3)ARP-client异常,恢复与ARP-server的交互后,ARP-server将所有ARP表项通过ARP实时同步增加报文逐条下发给ARP-client。

图9是根据本发明优选实施例的二集群组网示意图,如图9所示,该组网采用了二层设备替代多条物理连线,使组网更加简明,其中,ARP-client、ARP-server的各个模块的功能和作用如下:

一、注册并维护心跳模块,该模块也可以采用联动的方法实现,让该模块与现有的且公开共享的(不涉及侵权)的交互机制联动,例如与VRRP、LDP等联动,通过对端VRRP、LDP状态来判断对端设备的状态。

二、实时同步模块,该优选实施例主要针对通过采用二层设备减少连线的集群组网,

集群组网中各个设备通过二层交换设备通信,形成一个“星型”组网,此时各个设备仅需一个接口与二层设备交互。

在这种组网行态下,ARP-server中转报文时,需要将ARP报文的Target ip改为自己的ip地址。

被同步设备仅处理实时同步报文中Target ip为ARP-server ip地址的报文。

三、异常保护模块,为了提高可靠性,二层设备可部署多台,链路冗余。ARP-client和ARP-server的容灾恢复流程和逻辑与实施例一保持一致。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡 献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例该的方法。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述实施例的方法步骤的程序代码:

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例的方法步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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