无线自组网的ARP表优化方法、设备及应用与流程

文档序号:30644063发布日期:2022-07-05 22:42阅读:302来源:国知局
无线自组网的ARP表优化方法、设备及应用与流程
无线自组网的arp表优化方法、设备及应用
技术领域
1.本发明涉及无线通信技术领域,尤其涉及一种无线自组网的arp表优化方法、设备及应用。


背景技术:

2.mesh自组网是一种无中心、网状结构网络,mesh自组网中的所有组网节点都互相连接,每个mesh节点拥有多条连接通道,当某一条线路堵塞或者无响应时,mesh网络可以根据情况选择其他线路进行数据转播,任何一个mesh节点故障都不影响网络的访问,当网络发生故障时可自动修复,确保网络高速流畅。mesh网络应用于大规模组网中,具有安装简单、自动组网、覆盖范围大、传输距离远等特点。
3.在tcp/ip网络通信中,应用层程序关注ip(internet protocol)地址,而物理层关注mac(media access control)地址,通信时需要知道目的端设备的唯一对应地址mac地址(或称物理机器地址),因此需要知道ip地址与mac地址的对应关系。arp(address resolution protocol,地址解析协议)协议就是用来记录ip地址与mac地址的对应关系,术语“地址解析”就是指在网络中查找计算机地址的过程。
4.在mesh网络中,mesh设备需要根据ip数据包中的目的节点信息,基于节点间链路状态和路由信息来传输数据。在现有的mesh网络中,mesh网络中的mesh设备需要建立、维护一个mac地址与ip地址的映射关系表——即arp表,并将前述arp表加入信令包广播(传统的信令包一般由路由表、时隙表和arp表三部分组成),通过无线传输进行共享与传递,最终在各mesh节点处形成一张全网的mac地址与ip地址的映射关系表,所述mac地址包括用户设备mac地址和节点mac地址。作为举例而非限制,参见图1所示,比如mesh网络包括mesh节点n1、n2和n3;对应mesh节点n1,其下连接有mesh设备u1、u2和u3,对应mesh节点n2,其下连接有mesh设备u4、u5和u6,对应mesh节点n3,其下连接有mesh设备u7、u8和u9,根据前述mesh网络中的各mesh设备可以生成一个记录有全网的mac地址与ip地址的映射关系的arp表,参见图2所示。在arp表的表项中记录有mac地址与ip地址的对应关系,参见图3所示。
5.据上可知,arp表的大小不仅与mesh节点数量有关,也与网络中各节点接入的终端设备数量强相关,网络规模越大,终端越多,arp表数据越多。目前,由于arp表需要加入信令包进行共享与传递,随着mesh节点和接入用户设备的增加,使得加入信令包中的arp表数据量增多,广播arp表所占用的无线信道资源也显著增多,当前信令包的开销已成为自组网网络规模的发展瓶颈。
6.通过研究arp协议的协议内容,我们发现在数据通信前会先在组网内发送一个arp的广播报文,而广播的消息(arp报文)可以在mesh网络的全网进行传播。在无线通信资源有限的情况下,是否可以利用arp协议的上述特性,优化无线自组网中的arp表的配置方式以提高无线信道利用率、增大mesh无线传输的可用流量,是当前亟需解决的技术问题。


技术实现要素:

7.本发明的目的在于:克服现有技术的不足,提供了一种无线自组网的arp表优化方法、设备及应用。本发明通过mesh组网节点获取广播的arp报文并根据报文中arp协议内容建立和维护节点自身的本地arp表项,在节点本地arp表中通过配置节点id来代替传统的用户设备mac地址和节点mac地址,不仅节省了数据开销,还减少了从用户设备数据获取mac地址的处理流程,其提高了无线信道利用率,增大了mesh无线传输的可用流量。
8.为实现上述目标,本发明提供了如下技术方案。
9.一种无线自组网的arp表优化方法,包括如下步骤:对应mesh网络中的每个mesh节点配置各自的节点本地arp表,并进行节点本地arp表的初始化;所述节点本地arp表用于记录节点id信息和各mesh节点下的用户设备ip地址信息,所述节点id与mesh网络中的各mesh节点一一对应设置以区别标识该mesh网络中的各mesh节点,每个mesh节点对应有一个或多个用户设备ip地址;对于每个mesh节点,根据接收到的ip/arp报文数据获取节点id与用户设备ip地址的对应关系后,更新自身的节点本地arp表。
10.进一步,进行节点本地arp表的初始化时,在每个mesh节点的节点本地arp表中区分记录本地用户设备的ip地址信息和其他用户设备的ip地址信息;对于任意一个mesh节点,所述本地用户设备是与该mesh节点通过网口或者wifi直连的终端设备,所述其他用户设备是mesh网络中除上述本地用户设备外的终端设备;在所述节点本地arp表中,本地用户设备仅保存ip地址,其他用户设备保存该设备所属mesh节点的节点id和设备ip地址。
11.进一步,所述mesh网络中接收数据输入的mesh节点,能够根据数据中记载的目的ip地址查询自身的节点本地arp表;当前述目的ip地址为节点本地arp表中记录的本地用户设备ip地址时,该节点直接进入网口或者wifi处理流程;当前述目的ip地址为节点本地arp表中记录的其他用户设备ip地址时,获取该目的ip地址对应的目的节点id后,根据路由信息向下一跳节点id发送前述数据;中继节点接收数据后,根据目的节点id进行转发直至将前述数据转发至前述目的节点;目的节点接收前述数据后,查询自身的arp表并向前述目的ip地址对应的本地用户设备发送。
12.进一步,根据ip/arp报文数据获取节点id与用户设备ip地址的对应关系的步骤如下:mesh节点接收来自其下的本地用户设备的ip/arp报文,记录前述本地用户设备的ip地址;前述mesh节点根据ip/arp报文中的目的ip地址查询自身的节点本地arp表,判断目的ip地址是否记录在自身的节点本地arp表;判定目的ip地址在前述节点本地arp表中无记录时,该mesh节点基于目的ip地址向mesh网络中的其他节点广播arp请求,该arp请求中记录有源ip地址与源节点id,所述源ip地址为前述本地用户设备的ip地址,所述源节点id为前述mesh节点的节点id;mesh网络中的其他节点接收到前述arp请求后,将前述源ip地址与源id对应添加至自身的节点本地arp表的其他用户表项下,并向无线和网口广播转发前述arp请求;
目的ip地址对应的用户设备收到前述arp请求后,做出arp应答;所述目的ip地址对应的用户设备所属的mesh节点,在接收了本地用户设备的arp应答后,将该本地用户设备的ip地址添加至自身的节点本地arp表的本地用户表项下。
13.进一步,对于mesh网络中的用户设备发送的数据,配置有数据来源标识以区分该用户设备的源节点,所述数据来源标识为发送该数据的用户设备所属的mesh节点的节点id;当用户设备新入网或者所属节点发生移动时,更新该用户设备的数据来源标识。
14.进一步,对于每个mesh节点,基于预设的时间周期定期检查自身的节点本地arp表中的arp表项以判断各arp表项是否超过预设的老化时间阈值;对于超过老化时间阈值的arp表项,判定该arp表项老化,通过mesh节点向该arp表项中的ip地址发送arp请求,在判定无应答时删除该arp表项的内容。
15.进一步,还包括mesh网络场景监测模块,所述mesh网络场景监测模块被配置为执行如下步骤,监测路由信息,判断路由是否发生变化;判定路由发生变化时,触发与该路由相关的mesh节点主动发起arp请求,根据对应的arp应答记录节点id与用户设备ip地址的对应关系后,相关的mesh节点更新各自的节点本地arp表。
16.进一步,对应每个mesh节点设置有arp缓冲区,在mesh节点主动发起arp请求之前,先查询前述arp缓冲区并获取不在该arp缓冲区中的ip地址,在之后的预设时间段内,按预设时间周期向前述ip地址发送arp请求直到收到arp应答;当在前述预设时间段内无应答时,判定arp请求超时,清理前述arp请求。
17.本发明还提供了一种无线自组网的arp表配置设备,包括如下结构:节点本地arp表初始化模块,用于对mesh网络中的每个mesh节点配置各自的节点本地arp表,并进行节点本地arp表的初始化;所述节点本地arp表用于记录节点id信息和各mesh节点下的用户设备ip地址信息,所述节点id与mesh网络中的各mesh节点一一对应设置以区别标识该mesh网络中的各mesh节点,每个mesh节点对应有一个或多个用户设备ip地址;节点本地arp表更新模块,对于每个mesh节点,根据接收到的ip/arp报文数据获取节点id与用户设备ip地址的对应关系后,更新自身的节点本地arp表。
18.本发明还提供了一种无线自组网系统,对于mesh网络中的每个mesh节点,按照前述方法建立该mesh节点的节点本地arp表后,在所述mesh网络中的信令包中剔除arp表数据以不再通过信令包广播arp表。
19.本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:本发明通过mesh组网节点获取广播的arp报文并根据报文中arp协议内容建立和维护节点自身的本地arp表项,在节点本地arp表中通过配置节点id来代替传统的用户设备mac地址和节点mac地址,不仅节省了数据开销,还减少了从用户设备数据获取mac地址的处理流程,其提高了无线信道利用率,增大了mesh无线传输的可用流量。
20.进一步,基于节点配置了节点本地arp表后,就可以将arp表项数据从信令包中剔除,从而解耦了组网设备规模和网络中信令包的大小。
附图说明
21.图1为现有技术中的mesh网络中节点和设备的通信示例图。
22.图2为基于图1中的mesh设备生成的全网arp表的示例图。
23.图3为现有技术中提供的典型arp表中记录的数据示例图。
24.图4为本发明实施例提供的优化后的节点本地arp表中记录的数据示例图。
25.图5为本发明实施例提供的无线数据包的数据结构示例图。
26.图6为本发明实施例提供的发送arp请求的逻辑流程图。
27.图7为本发明实施例提供的接收arp应答的逻辑流程图。
具体实施方式
28.以下结合附图和具体实施例对本发明公开的无线自组网的arp表优化方法、设备及应用作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
29.需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
30.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
31.实施例根据arp协议,在数据通信前,mesh设备(比如主机)先在组网内以广播消息的形式发送一个包含目的ip地址的arp报文(或称arp请求报文),该广播消息可以在全网的进行传播(将包含目的ip地址的arp请求广播到mesh网络上的其他的所有mesh设备,并接收返回消息)。据此,本发明通过mesh节点自身抓取arp广播报文并分析该arp协议内容,从接收的ip/arp报文(ip报文和/或arp报文)中获取arp信息并建立一个该mesh节点的本地arp表,通过mesh节点对本地arp表进行维护(比如更新、老化),不再通过无线通信广播arp表(信令包中不再添加arp表)。
32.具体的,本实施例提供了一种无线自组网的arp表优化方法,所述包括如下步骤。
33.s100,对应mesh网络中的每个mesh节点配置各自的节点本地arp表,并进行节点本地arp表的初始化。所述节点本地arp表用于记录节点id信息和各mesh节点下的用户设备ip地址信息,所述节点id与mesh网络中的各mesh节点一一对应设置以区别标识该mesh网络中的各mesh节点,每个mesh节点对应有一个或多个用户设备ip地址。
34.在mesh网络中,mac地址可以包括用户设备mac地址和节点mac地址。传统的mac地址长度通常为48bit(比特),由12个16进制数组成,每2个16进制数之间用符号隔开,参见图3所示,每个设备的mac地址具有唯一性以与网络中的其他设备区分。
35.本实施例中,考虑到mesh网络中,数据的无线通信关注的是下一跳节点和目的节点——需要知道mesh节点的mac地址,而不关注用户设备mac地址,因此提出了对每个mesh节点配置了节点id以标识节点身份,而不再使用传统的用户设备mac地址和节点mac地址。在所述mesh节点的本地arp表中,使用前述节点id代替设备mac地址和节点mac地址以优化地址传输方式,不但节省了数据开销,还减少了从用户数据获取mac地址的处理流程。
36.具体设置时,所述节点id被配置为与mesh节点一一对应,在mesh网络中具有全网唯一性。所述节点id的具体数据结构形式(比如id长度、字符组成、组合格式等),在此不做限制,本领域技术人员可以根据实际需要进行配置,只要能够在mesh网络中区分各mesh节点即可。作为典型方式的举例而非限制,图4中的直接使用阿拉伯数字表示节点id。
37.s200,对于每个mesh节点,根据接收到的ip/arp报文数据获取节点id与用户设备ip地址的对应关系后,更新自身的节点本地arp表。
38.优选的,在步骤s100中,进行节点本地arp表的初始化时,在每个mesh节点的节点本地arp表中区分记录本地用户设备的ip地址信息和其他用户设备的ip地址信息,继续参见图4所示。
39.对于任意一个mesh节点,所述本地用户设备是与该mesh节点通过网口或者wifi直连的终端设备,所述其他用户设备是mesh网络中除上述本地用户设备外的终端设备。在所述节点本地arp表中,本地用户设备仅保存ip地址(参见图4中的本地用户表项),其他用户设备保存该设备所属mesh节点的节点id和设备ip地址(参见图4中的其他用户表项)。
40.此时,所述mesh网络中接收数据输入的mesh节点(即数据输入节点),能够根据数据中记载的目的ip地址查询自身的节点本地arp表。
41.当前述目的ip地址为节点本地arp表中记录的本地用户设备ip地址时,该节点直接进入网口或者wifi处理流程。
42.当前述目的ip地址为节点本地arp表中记录的其他用户设备ip地址时,获取该目的ip地址对应的目的节点id后,根据路由信息向下一跳节点id发送前述数据;中继节点接收数据后,根据目的节点id进行转发直至将前述数据转发至前述目的节点;目的节点接收前述数据后,查询自身的arp表并向前述目的ip地址对应的本地用户设备发送。
43.也就是说,配置所述节点本地arp表时,区分本地用户设备和其他用户设备:本地用户设备指与节点通过网口或者wifi直连的用户设备,仅保存ip地址;而其他用户设备,则需要保存相对应的节点id和用户设备ip。当接收到的ip/arp报文数据中的目的ip地址属于本地用户设备的ip地址时,该mesh节点直接进入网口或者wifi处理流程,不会再次转发数据。
44.优选的,在设置了节点id后,可以在无线数据中增加节点id以作为数据来源标识,以区分用户设备的源节点。
45.具体设置时,对于mesh网络中的用户设备发送的数据,可以配置有数据来源标识以区分该用户设备的源节点,所述数据来源标识即为发送该数据的用户设备所属的mesh节点的节点id。作为典型方式的举例而非限制,参见图5所示,示例了优化后的无线数据包的
数据结构形式,所示无线数据包中包括目的id(即目的节点id)、源id(即源节点id),下一跳id(即下一跳节点id)、控制数据和用户数据。
46.当用户设备新入网或者所属节点发生移动时,更新该用户设备的数据来源标识。也就是说,用户设备新入网或者设备发生移动时,用户数据的来源标识会进行不断更新。此时,当mesh设备收到的用户数据的节点id与本地保存的arp表中存储的对应节点id不一致时,可以更新、替换本地arp表项中的节点id,以保证无线数据通信能够正确寻址。
47.mesh节点下的mesh设备传输ip报文,mesh设备在数据传输前也会有arp协议,使得mesh设备能够直接获取链路上的arp信息。本实施例中,mesh节点获取节点id与用户设备ip地址的对应关系的方式,可以有如下两种方式:第一种,是从接收的ip/arp报文的数据包中获取用户设备的源节点id并记录。第二种,是发送arp请求,获取arp应答后记录用户设备的节点id。
48.作为典型方式的优选,根据ip/arp报文数据获取节点id与用户设备ip地址的对应关系的步骤如下:首先,mesh节点接收来自其下的本地用户设备的ip/arp报文,记录前述本地用户设备的ip地址。然后,前述mesh节点根据ip/arp报文中的目的ip地址查询自身的节点本地arp表,判断目的ip地址是否记录在自身的节点本地arp表;如果判定目的ip地址在前述节点本地arp表中无记录时,该mesh节点基于目的ip地址向mesh网络中的其他节点广播arp请求,该arp请求中记录有源ip地址与源节点id,所述源ip地址为前述本地用户设备的ip地址,所述源节点id为前述mesh节点的节点id。随后,mesh网络中的其他节点,在接收到前述arp请求后,可以将前述源ip地址与源id对应添加至自身的节点本地arp表的其他用户表项下,并向无线和网口广播转发前述arp请求。然后,目的ip地址对应的用户设备收到前述arp请求后,做出arp应答;所述目的ip地址对应的用户设备所属的mesh节点,在接收了本地用户设备的arp应答后,将该本地用户设备的ip地址添加至自身的节点本地arp表的本地用户表项下。
49.下面结合图6和图7详细描述节点的本地arp表中的表项更新流程。
50.参见图6所示,mesh网络中包括n1节点、n2节点和n3节点三个组网节点,n1节点下设置有用户设备u1,n3节点下设置有用户设备u7。
51.首先, n1节点收到来自用户设备u1的ip/arp报文(ip报文和/或arp报文),将该用户设备u1的ip地址记录在节点本地arp表的本地用户中。作为举例,比如图6中的对应节点n1更新了自己的节点本地arp表,将用户设备u1的ip地址“192.168.0.191”写入了本地用户表项下。如此,组网节点n1根据接收的arp报文,在自身的节点本地arp表中完成了节点1与用户设备u1的ip地址的对应关系的记录。
52.然后,n1节点发现目的ip地址在自身的节点本地arp表中无记录,n1节点向目的ip地址广播arp请求(即广播arp请求报文)。
53.随后,网络中的n2节点和n3节点收到前述广播的arp请求后,根据arp请求中记载的源ip地址与源节点id,将前述源ip地址与源节点id对应添加到各自的节点本地arp表中,并向无线和网口广播转发arp请求。作为举例,比如图6中的对应节点n2更新了自己的节点本地arp表,将用户设备u1的ip地址“192.168.0.191”写入了其他用户表项下。节点n3更新了自己的节点本地arp表,将用户设备u1的ip地址“192.168.0.191”写入了其他用户表项下。如此,组网节点n2和n3根据接收的arp报文,在各自的节点本地arp表中完成了节点1与
用户设备u1的ip地址的对应关系的记录。
54.之后,n3节点下的用户设备u7收到arp请求,并做出arp应答(用户设备u7为目的设备,即目的ip地址对应的用户设备)。
55.最后,用户设备u7所属的n3节点接收到用户设备u7的arp应答后,在自身的节点本地arp表中记录用户设备u7的ip地址。作为举例,比如图7中的对应节点n3更新了自己的节点本地arp表,将用户设备u7的ip地址“192.168.0.197”写入了本地用户表项下。如此,组网节点n3根据接收的arp报文,在自身的节点本地arp表中完成了节点3与用户设备u7的ip地址的对应关系的记录。
56.同时,n1节点、n2节点根据前述用户设备u7的arp应答,分别更新了自己的节点本地arp表,将用户设备u7的ip地址“192.168.0.197”写入了其他用户表项下,参见图7所示。
57.本实施例中,在建立起节点本地arp表后,mesh节点还需要对自身的节点本地arp表进行维护(比如更新、老化)。
58.一方面,当且仅当在节点收到ip/arp报文数据后,才会根据其中记载的源ip地址与源节点id更新arp表项的时间。如此,使得节点本地arp表的更新依赖接收的数据包,以此确保该节点本地arp表的连接有效性。
59.另一方面,节点还会周期性检查arp表项的时间,对超过老化时间限制的arp表项,节点向该ip发送arp请求,无应答后删除该条arp信息。通过对arp表的维护和老化,保证组网中的arp信息准确、有效。
60.具体设置时,对于每个mesh节点,可以基于预设的时间周期定期检查自身的节点本地arp表中的arp表项以判断各arp表项是否超过预设的老化时间阈值。对于超过老化时间阈值的arp表项,判定该arp表项老化,通过mesh节点向该arp表项中的ip地址发送arp请求,在判定无应答时删除该arp表项的内容。
61.进一步,考虑到mesh设备可能工作在变化的路径和场景下(此时mesh网络的网络状态和拓扑随时都有变化的可能),为了应对变化的网络场景,保证节点的组网稳定,本实施例还可以在网络场景发送变化时,触发mesh节点主动发起arp请求,以根据arp应答更新节点id与用户设备ip地址的对应关系。触发mesh节点主动发起arp请求的时机,优选为监测到路由变化时,路由变化意味着网络中出现了新入网节点或snr(信号比)变化。
62.具体实施时,可以设置一mesh网络场景监测模块,所述mesh网络场景监测模块被配置为:监测路由信息,判断路由是否发生变化;判定路由发生变化时,触发与该路由相关的mesh节点主动发起arp请求,根据对应的arp应答记录节点id与用户设备ip地址的对应关系后,相关的mesh节点更新各自的节点本地arp表。
63.如此,通过配置mesh节点主动发起arp请求,可以保证组网节点和用户设备的稳定入网,当用户有新数据时,数据不会因为链路不稳定而丢失。
64.进一步,考虑到mesh节点会主动发起arp请求,当网络状态很差时,有可能因为收不到应答而重复发送,而重复发送可能导致广播风暴。因此,本实施例中,对应每个mesh节点还可以设置有arp缓冲区,在mesh节点主动发起arp请求之前,先查询前述arp缓冲区并获取不在该arp缓冲区中的ip地址;在之后的预设时间段内,按预设时间周期向前述ip地址发送arp请求直到收到arp应答;当在前述预设时间段内无应答时,判定arp请求超时,清理前述arp请求——即长时间无应答则进行超时清理,如此,可以防止短时间内多次向同一ip发
送arp请求。
65.本发明的另一实施例,还提供了一种无线自组网的arp表配置设备。
66.所述无线自组网的arp表配置设备包括节点本地arp表初始化模块和节点本地arp表更新模块。
67.所述节点本地arp表初始化模块,用于对mesh网络中的每个mesh节点配置各自的节点本地arp表,并进行节点本地arp表的初始化;所述节点本地arp表用于记录节点id信息和各mesh节点下的用户设备ip地址信息,所述节点id与mesh网络中的各mesh节点一一对应设置以区别标识该mesh网络中的各mesh节点,每个mesh节点对应有一个或多个用户设备ip地址。
68.具体的,所述节点本地arp表初始化模块被配置为:在每个mesh节点的节点本地arp表中区分记录本地用户设备的ip地址信息和其他用户设备的ip地址信息。在所述节点本地arp表中,本地用户设备仅保存ip地址,其他用户设备保存该设备所属mesh节点的节点id和设备ip地址对于任意一个mesh节点,所述本地用户设备是与该mesh节点通过网口或者wifi直连的终端设备,所述其他用户设备是mesh网络中除上述本地用户设备外的终端设备。
69.所述节点本地arp表更新模块,对于每个mesh节点,根据接收到的ip/arp报文数据获取节点id与用户设备ip地址的对应关系后,更新自身的节点本地arp表。
70.本实施例中,所述mesh网络中的数据输入节点,能够根据数据中记载的目的ip地址查询自身的节点本地arp表。当前述目的ip地址为节点本地arp表中记录的本地用户设备ip地址时,该节点直接进入网口或者wifi处理流程。当前述目的ip地址为节点本地arp表中记录的其他用户设备ip地址时,获取该目的ip地址对应的目的节点id后,根据路由信息向下一跳节点id发送前述数据;中继节点接收数据后,根据目的节点id进行转发直至将前述数据转发至前述目的节点;目的节点接收前述数据后,查询自身的arp表并向前述目的ip地址对应的本地用户设备发送。
71.本实施例中,所述节点本地arp表更新模块还被配置为执行如下步骤:对于任一mesh节点,根据该mesh节点接收的本地用户设备的ip/arp报文,记录前述本地用户设备的ip地址;根据前述ip/arp报文中的目的ip地址查询该mesh节点自身的节点本地arp表,判断目的ip地址是否记录在自身的节点本地arp表;判定目的ip地址在前述节点本地arp表中无记录时,该mesh节点基于目的ip地址向mesh网络中的其他节点广播arp请求,该arp请求中记录有源ip地址与源节点id,所述源ip地址为前述本地用户设备的ip地址,所述源节点id为前述mesh节点的节点id;mesh网络中的其他节点接收到前述arp请求后,将前述源ip地址与源id对应添加至自身的节点本地arp表的其他用户表项下,并向无线和网口广播转发前述arp请求;目的ip地址对应的用户设备收到前述arp请求后,做出arp应答;所述目的ip地址对应的用户设备所属的mesh节点,在接收了本地用户设备的arp应答后,将该本地用户设备的ip地址添加至自身的节点本地arp表的本地用户表项下。
72.本实施例中,对于mesh网络中的用户设备发送的数据,还配置有数据来源标识以区分该用户设备的源节点,所述数据来源标识为发送该数据的用户设备所属的mesh节点的节点id。当用户设备新入网或者所属节点发生移动时,更新该用户设备的数据来源标识。
73.在建立起节点本地arp表后,mesh节点还需要对自身的节点本地arp表进行维护
(比如更新、老化)。
74.一方面,当且仅当在节点收到ip/arp报文数据后,才会根据其中记载的源ip地址与源节点id更新arp表项的时间。如此,使得节点本地arp表的更新依赖接收的数据包,以此确保该节点本地arp表的连接有效性。
75.另一方面,节点还会周期性检查arp表项的时间,对超过老化时间限制的arp表项,节点向该ip发送arp请求,无应答后删除该条arp信息。通过对arp表的维护和老化,保证组网中的arp信息准确、有效。
76.本实施例中,考虑到mesh设备可能工作在变化的路径和场景下(此时mesh网络的网络状态和拓扑随时都有变化的可能),为了应对变化的网络场景,保证节点的组网稳定,本实施例还可以在网络场景发送变化时,触发mesh节点主动发起arp请求,以根据arp应答更新节点id与用户设备ip地址的对应关系。具体实施时,可以设置一mesh网络场景监测模块,所述mesh网络场景监测模块被配置为:监测路由信息,判断路由是否发生变化;判定路由发生变化时,触发与该路由相关的mesh节点主动发起arp请求,根据对应的arp应答记录节点id与用户设备ip地址的对应关系后,相关的mesh节点更新各自的节点本地arp表。
77.本实施例中,考虑到mesh节点会主动发起arp请求,当网络状态很差时,有可能因为收不到应答而重复发送,而重复发送可能导致广播风暴。因此,本实施例中,对应每个mesh节点还可以设置有arp缓冲区,在mesh节点主动发起arp请求之前,先查询前述arp缓冲区并获取不在该arp缓冲区中的ip地址;在之后的预设时间段内,按预设时间周期向前述ip地址发送arp请求直到收到arp应答;当在前述预设时间段内无应答时,判定arp请求超时,清理前述arp请求——即长时间无应答则进行超时清理,如此,可以防止短时间内多次向同一ip发送arp请求。
78.其它技术特征参考在前实施例,在此不再赘述。
79.本发明的另一实施例,还提供了一种无线自组网系统,对于mesh网络中的每个mesh节点,按照前述实施例中的方法建立该mesh节点的节点本地arp表后,在所述mesh网络中的信令包中剔除arp表数据以不再通过信令包广播arp表。
80.具体的,对mesh网络中的各节点建立节点本地arp表的步骤如下。
[0081] s100,对应mesh网络中的每个mesh节点配置各自的节点本地arp表,并进行节点本地arp表的初始化。所述节点本地arp表用于记录节点id信息和各mesh节点下的用户设备ip地址信息,所述节点id与mesh网络中的各mesh节点一一对应设置以区别标识该mesh网络中的各mesh节点,每个mesh节点对应有一个或多个用户设备ip地址。
[0082]
s200,对于每个mesh节点,根据接收到的ip/arp报文数据获取节点id与用户设备ip地址的对应关系后,更新自身的节点本地arp表。
[0083]
其它技术特征参考在前实施例,在此不再赘述。
[0084]
在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块, 或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器 (rom)、电可编程 rom、电可擦除可编程 rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。另外,像“包括”、“囊括”以及“具有”的术语应当
默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1