CN112261702A - 基于位置的无线Mesh网络路由选路方法、装置和电子设备 - Google Patents
基于位置的无线Mesh网络路由选路方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112261702A CN112261702A CN202010989888.1A CN202010989888A CN112261702A CN 112261702 A CN112261702 A CN 112261702A CN 202010989888 A CN202010989888 A CN 202010989888A CN 112261702 A CN112261702 A CN 112261702A
- Authority
- CN
- China
- Prior art keywords
- node
- neighbor
- message
- destination
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/20—Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/246—Connectivity information discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书一个或多个实施例提供一种基于位置的无线Mesh网络路由选路方法、装置和电子设备,包括:搭建以路由器为节点的无线Mesh网络,建立存有邻居节点位置信息与时延的邻居列表,基于贪婪转发策略,计算各个邻居节点到目的节点的欧氏距离,选取若干个距离目的节点最近的邻居节点进行路径发现,通过以位置因素为主因素,时延为辅助因素,更新下一跳邻居节点进行数据包转发。本说明书提供的方法、装置和电子设备可有效降低无线链路的距离对发送时延产生的影响,且既可以避免单播转发的风险偶然性,又可以避免广播转发占用太多的带宽,可以提高吞吐量,降低路由开销的同时又能保证网络的可达性。
Description
技术领域
本说明书一个或多个实施例涉及无线路由技术领域,尤其涉及一种基于位置的无线Mesh网络路由选路方法、装置和电子设备。
背景技术
无线Mesh网络路由协议根据路由发现机制的不同,基本可以分为表驱动路由协议、按需路由协议以及混合式路由协议三种类型。
表驱动路由协议是网络中的每一个节点都必须维护一个全网的路由信息表,其中包含从它到网络中所有其他节点的路径信息,当网络规模不断扩大时,路由器反复计算网络中的整体传输路径会降低CPU的利用率,增加路由器硬件的热损耗,且容易造成带宽的占用,降低数据传输的利用率。
按需路由协议是当网络中的节点有通信需求的时候,广播发送路由请求消息,单播发送路由应答消息,本身并不保存路由信息,当广播数据充斥网络无法处理并占用大量网络带宽,导致正常业务不能运行时,容易发生广播风暴,造成局域网局部或整个网络瘫痪,且此协议在等待选路的应答耗时过长,无法及时响应,单播风险在于中间节点可能出现带宽占用率过高,出现数据阻塞的情况。
混合式路由协议是将表驱动路由协议和按需路由协议两种方式结合起来,在局部范围内使用表驱动路由协议,当目的节点较远时,则使用按需路由协议,但混合式路由协议移动管理比较复杂,在实施上存在很多困难。
并且,现有的协议对路由的选择大多集中在从跳数的角度出发,选取跳数最少的路由进行数据包的传输,会存在一个相同问题:在相同跳数下,存在路由选择的不是最短的无线链路,导致数据包的发送因节点间无线链路距离较长而时延增加的问题。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种基于位置的无线Mesh网络路由选路方法、装置和电子设备,以克服现有技术中全部或部分不足。
基于上述目的,本明书一个或多个实施例提供了一种基于位置的无线Mesh网络路由选路方法,包括:
无线Mesh网络中各节点调用HELLO报文处理策略,建立存有邻居节点位置信息与时延的邻居列表;
任一节点收到上一跳节点发来的路由请求消息RREQ报文后,根据所述邻居列表计算其各个邻居节点到目的节点的欧氏距离,筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,直到目的节点收到RREQ报文;
所述目的节点收到RREQ报文后,构建路由应答消息RREP报文,发送RREP报文到其上一跳节点,所述目的节点的上一跳节点收到RREP报文后,根据所述邻居列表计算其各个邻居节点到源节点的欧氏距离,筛选出若干个距离源节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREP报文,直到源节点收到RREP报文;
所述源节点收到RREP报文后,按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包。
基于同一发明构思,本说明书一个或多个实施例还提供了一种基于位置的无线Mesh网络路由选路装置,包括:
建立模块,被配置为无线Mesh网络中各节点调用HELLO报文处理策略,建立存有邻居节点位置信息与时延的邻居列表;
请求模块,被配置任一节点收到上一跳节点发来的路由请求消息RREQ报文后,根据所述邻居列表计算其各个邻居节点到目的节点的欧氏距离,筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,直到目的节点收到RREQ报文;
应答模块,被配置为所述目的节点收到RREQ报文后,构建路由应答消息RREP报文,发送RREP报文到其上一跳节点,所述目的节点的上一跳节点收到RREP报文后,根据所述邻居列表计算其各个邻居节点到源节点的欧氏距离,筛选出若干个距离源节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREP报文,直到源节点收到RREP报文;
传输模块,被配置为所述源节点收到RREP报文后,按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
从上面所述可以看出,本说明书一个或多个实施例提供的路由选路方法、装置和电子设备,通过计算各个邻居节点到目的节点的欧氏距离,筛选出若干个距离目的节点最近的邻居节点进行路径发现,克服了现有路由协议在相同跳数下,存在路由选择的不是最短的无线链路,导致数据包的发送因节点间无线链路距离较长而时延增加的问题。
并且,相比于表驱动路由协议,无需维护网络中所有节点的信息,只需维护邻居节点的信息,可提高CPU的利用率,降低路由器硬件的热损耗,提高数据传输的利用率。
再者,相比于按需路由协议,无需向所有邻居节点广播发送路由请求消息,只需向筛选出的邻居节点发送路由请求消息,可以减少宽带的占用,也避免了选取单一邻居节点发送路由应答消息,中间节点可能出现带宽占用率过高,出现阻塞的情况。因此既避免了单播转发的风险偶然性,又不会广播给所有节点占用太多的带宽,可以提高吞吐量,减少时延,降低路由开销的同时又能保证网络的可达性。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的基于位置的无线Mesh网络路由选路方法的流程图;
图2为本说明书一个或多个实施例的消息包调用策略流程图;
图3为本说明书一个或多个实施例中的路径发现流程图;
图4为本说明书一个或多个实施例中的数据包转发流程图;
图5为本说明书一个或多个实施例的基于位置的无线Mesh网络路由选路装置结构示意图;
图6为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本说明书一个或多个实施例提供了一种基于位置的无线Mesh网络路由选路方法,参考图1,包括以下步骤:
步骤S101:无线Mesh网络中各节点调用HELLO报文处理策略,建立存有邻居节点位置信息与时延的邻居列表。
步骤S102:任一节点收到上一跳节点发来的路由请求消息RREQ报文后,根据所述邻居列表计算其各个邻居节点到目的节点的欧氏距离,筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,直到目的节点收到RREQ报文。
步骤S103:所述目的节点收到RREQ报文后,构建路由应答消息RREP报文,发送RREP报文到其上一跳节点,所述目的节点的上一跳节点收到RREP报文后,根据所述邻居列表计算其各个邻居节点到源节点的欧氏距离,筛选出若干个距离源节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREP报文,直到源节点收到RREP报文。
步骤S104:所述源节点收到RREP报文后,按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包。
以下,通过具体的实施例来详细说明本说明书一个或多个实施例的技术方案。
参考图2,为本说明书一个实施例的消息包调用策略流程图。在实现本实施例技术方案的过程中,定义了5种消息包,如表1所示,为消息包与包含信息对照表:
表1
在上述定义的消息包的基础上,本实施例的技术方案包括:
步骤S201:无线Mesh网络中各节点指定eth0接口接收消息包。
步骤S202:各节点判断消息类型。
步骤S203:若消息类型是HELLO报文,则调用HELLO报文处理策略,建立存有邻居节点位置信息的邻居列表。
步骤S204:若消息类型是路由请求消息RREQ报文,则调用RREQ报文处理策略,直到目的节点收到RREQ报文。
步骤S205:若消息类型是路由应答消息RREP报文,则调用RREP报文处理策略,直到源节点收到RREP报文。
步骤S206:若消息类型是数据包,则调用含有实际传输内容的数据包处理策略,对新建的或从外界接收的数据包进行处理,实现数据包的传输。
步骤S207:若是其他类型消息包,则调用其他处理策略。
进一步的,所述步骤S203具体包括:
无线Mesh网络中各节点通过静态配置十六进制的位置信息,绑定节点的IP地址和MAC地址,上传到服务器中;
构建HELLO报文,将IP地址、MAC地址和位置信息写入报文的数据部分;
周期广播发送HELLO报文,时间间隔Tbroadcast_interval;
监听并接收邻居节点发来的HELLO报文,收到邻居节点发来的HELLO报文后,返回ACK报文进行响应,根据响应时间获得邻居节点的时延,同时添加报文内的IP地址、MAC地址和位置信息进邻居表Lneighbor_list,另外,在邻居表Lneighbor_list里添加当前时间作为邻居节点活跃的最新时刻Tlast_activity_time。
进一步的,参考图3,为本说明书一个实施例的路径发现流程图,所述步骤S204具体包括:
步骤S301:绑定网卡接口adhoc0,无线Mesh网络中各节点指定接口adhoc0接收上一跳邻节点发来的RREQ报文。
步骤S302:无线Mesh网络中各节点读取并处理上一跳邻节点发来的RREQ报文,具体包括:发送ACK报文到上一跳邻节点,添加RREQ报文的id进id列表Lrreq_ids,若id已存在,忽略RREQ报文,不继续往下做任何处理。
步骤S303:通过接收的RREQ报文,获取RREQ报文内源IP地址和目的IP地址。
步骤S304:判断目的IP地址类型是否为广播地址类型。
步骤S305:根据步骤S304所述的,若目的IP地址类型是广播地址类型,则向目的IP地址广播发送HELLO报文,无需开启路径发现。
步骤S306:根据步骤S304所述的,若目的IP地址类型不是广播地址类型,则查找路由表Lentries_list,判断目的IP地址是否为邻居地址或建立过到该目的IP地址的路由。
步骤S307:根据步骤S306所述的,若目的IP地址是邻居地址或建立过到该目的IP地址的路由,则向目的IP地址单播发送数据包,无需开启路径发现。
步骤S308:根据步骤S306所述的,若目的IP地址不是邻居地址或建立过到该目的IP地址的路径,则开启路径发现。
步骤S309:查看目的IP地址是否建立过的延时包队列Ldelayed_packets_list。
步骤S310:根据步骤S309所述的,若目的IP地址没有建立过延时包队列Ldelayed_packets_list,则创建新的延时包队列Ldelayed_packets_list,将数据包存入其延时包队列Ldelayed_packets_list中。
步骤S311:根据获取的RREQ报文内的目的IP地址,通过服务器获取目的IP地址节点的位置信息,通过十六进制数转换成坐标(x1,y1);通过邻居列表获取邻居IP地址节点的位置信息,通过十六进制数转换成坐标(x2,y2);计算各个邻居节点到目的节点的欧氏距离(ρ为点(x2,y2)到点(x1,y1)的欧氏距离),筛选出前k个距离目的节点最近的邻居节点{N1,N2,…,Nk}作为下一跳路由。
步骤S312:指定的eth0接口向筛选出的邻居节点单播发送RREQ报文,每间隔时间T进行周期发送,发送次数上限为N。
步骤S313:根据步骤S309所述的,若目的IP地址建立过延时包队列Ldelayed_packets_list,则查看其是否超时。
步骤S314:根据步骤S313所述的,若延时包队列Ldelayed_packets_list未超时(在指定时间Tentry_deletion_timeout范围内),则添加数据包进延时包队列Ldelayed_packets_list,路径发现结束。
步骤S315:根据步骤S313所述的,若延时包队列Ldelayed_packets_list已超时(超过指定时间Tentry_deletion_timeout范围),则将到达目的IP地址的数据包全部移除出延时包队列Ldelayed_packets_list,重新开启路径发现。
步骤S316:重复步骤S301~S315,直到目的节点收到RREQ报文,路径发现结束,这样就建立好了到达目的节点的路由。
进一步的,所述步骤S205具体包括:
所述目的节点收到RREQ报文后,构建路由应答消息RREP报文,发送RREP报文到其上一跳节点;
所述目的节点的上一跳节点指定的接口接收RREP报文,读取并处理RREP报文,具体包括:发送ACK报文到所述目的节点,添加RREP报文的id进id列表Lrreq_ids,若id已存在,忽略RREP报文,不继续往下做任何处理;
根据获取的RREP报文内的源IP地址,通过服务器获取源IP地址节点的位置信息,通过十六进制数转换成坐标(x1,y1);通过邻居列表获取邻居IP地址节点的位置信息,通过十六进制数转换成坐标(x2,y2);计算各个邻居节点到源节点的欧氏距离(ρ为点(x2,y2)到点(x1,y1)的欧氏距离),筛选出前k个距离源节点最近的邻居节点{N1,N2,…,Nk}作为下一跳路由,并向下一跳节点发送RREP报文,直到源节点收到RREP报文。
进一步的,参考图4,所述步骤S206具体包括:
步骤S401:绑定网卡接口,无线Mesh网络中各节点指定的接口接收数据包。
步骤S402:获取数据包内源IP地址和目的IP地址。
步骤S403:发送ACK报文给上一跳节点。
步骤S404:查看数据包的id是否在id列表Lreliable_packet_ids内,若id已存在,忽略数据包,不继续往下做任何处理。
步骤S405:根据步骤S404所述的,若数据包的id不在id列表Lreliable_packet_ids内,则添加数据包的id进id列表Lreliable_packet_ids。
步骤S406:获取数据包内的实际传输信息。
步骤S407:查看当前节点的IP地址是否包含数据包的目的IP地址。
步骤S408:根据步骤S407所述的,若当前节点的IP地址包含数据包的目的IP地址,则处理该数据包。
步骤S409:根据步骤S407所述的,若当前节点的IP地址不包含数据包的目的IP地址,则查找路由表Lentries_list,查找目的IP地址是否为邻居地址或建立过到该目的IP地址的路由。
步骤S410:根据步骤S409所述的,若目的IP地址为邻居地址或建立过到该目的IP地址的路由,则查询路由表Lentries_list,到目的IP地址的路由,发送数据包给下一跳节点。
步骤S411:根据步骤S409所述的,若目的IP地址不是邻居地址,也没有建立过到该目的IP地址的路由,则重复上述步骤S301~S315,开启路径发现过程。
重复步骤S401~S411,直到接收的数据包已全部处理或转发完成。
进一步的,还包括:
新建字典嵌套key-value作为路由表Lentries_list的结构;
目的IP地址作为key,可到达的下一跳邻居MAC地址作为value;
MAC地址作为key,其他辅助信息作为value。
进一步的,还包括:
优先考虑作为主因素的位置信息,再结合辅助信息时延进行选路,即若按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包的过程中,存在下一跳邻居节点到目的节点欧氏距离相同的情况,则根据邻居列表选取低时延的邻居节点进行数据包发送,若下一跳邻居节点时延相同,则随机选取其中一个邻居节点进行数据包发送。
可见,本说明书实施例提供的基于位置的无线Mesh网络路由选路方法,在已经获取到邻居节点的位置信息的前提下,通过计算各个邻居节点到目的节点的欧氏距离,选取前若干个距离目的节点最近的邻居节点进行路径发现,通过贪婪转发策略,优先考虑作为主因素的位置信息,再结合辅助信息时延进行选路,克服了现有路由协议,在相同跳数下,存在路由选择的不是最短的无线链路,导致数据包的发送因节点间无线链路距离较长而时延增加的问题,有效降低无线链路的距离对发送时延产生的影响,同时节点的跳数也同样趋于最少。
并且,相比于表驱动路由协议,无需维护网络中所有节点的信息,只需维护邻居节点的信息,可提高CPU的利用率,降低路由器硬件的热损耗,提高数据传输的利用率。
再者,相比于按需路由协议,无需向所有邻居节点广播发送路由请求消息,只需向筛选出的邻居节点发送路由请求消息,可以减少宽带的占用,也避免了选取单一邻居节点发送路由应答消息,中间节点可能出现带宽占用率过高,出现阻塞的情况。因此既避免了单播转发的风险偶然性,又不会广播给所有节点占用太多的带宽,可以提高吞吐量,减少时延,降低路由开销的同时又能保证网络的可达性。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,本说明书一个或多个实施例还提供了一种基于位置的无线Mesh网络路由选路装置。参考图5,所述的基于位置的无线Mesh网络路由选路装置,包括:
建立模块501,被配置为无线Mesh网络中各节点调用HELLO报文处理策略,建立存有邻居节点位置信息与时延的邻居列表;
请求模块502,被配置为任一节点收到上一跳节点发来的路由请求消息RREQ报文后,根据所述邻居列表计算其各个邻居节点到目的节点的欧氏距离,筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,直到目的节点收到RREQ报文;
应答模块503,被配置为所述目的节点收到RREQ报文后,构建路由应答消息RREP报文,发送RREP报文到其上一跳节点,所述目的节点的上一跳节点收到RREP报文后,根据所述邻居列表计算其各个邻居节点到源节点的欧氏距离,筛选出若干个距离源节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREP报文,直到源节点收到RREP报文;
传输模块504,被配置为所述源节点收到RREP报文后,按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包。
作为一个可选的实施例,所述建立模块501,具体被配置为无线Mesh网络中各节点通过静态配置十六进制的位置信息,绑定节点的IP地址和MAC地址,上传到服务器中,各节点周期广播发送HELLO报文,同时监听并接收邻居节点发来的HELLO报文,收到邻居节点发来的HELLO报文后,返回ACK报文进行响应,根据响应时间获得邻居节点的时延,同时添加报文内的IP地址、MAC地址和位置信息进邻居列表,并在所述邻居列表里添加当前时间作为邻居节点活跃的最新时刻。
作为一个可选的实施例,若按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包的过程中,存在下一跳邻居节点到目的节点欧氏距离相同的情况,则根据邻居列表选取低时延的邻居节点进行数据包发送,若下一跳邻居节点时延相同,则随机选取其中一个邻居节点进行数据包发送。
作为一个可选的实施例,所述RREQ报文和RREP报文均包含源IP地址和目的IP地址。
作为一个可选的实施例,所述邻居列表中的邻居节点位置信息能够通过十六进制数转换成坐标信息。
作为一个可选的实施例,所述源IP地址和目的IP地址的位置信息能够通过服务器获得,并通过十六进制数转换为坐标信息。
作为一个可选的实施例,所述目的IP地址为邻居地址或建立过到该地址的路由,则向目的节点单播发送数据包。
作为一个可选的实施例,所述筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,具体被配置为对所述筛选出的若干个距离目的节点最近的邻居节点进行单播发送RREQ报文,每间隔时间T进行周期发送,发送次数上限为N。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的业务对象的展示方法。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于位置的无线Mesh网络路由选路方法,其特征在于,包括:
无线Mesh网络中各节点调用HELLO报文处理策略,建立存有邻居节点位置信息与时延的邻居列表;
任一节点收到上一跳节点发来的路由请求消息RREQ报文后,根据所述邻居列表计算其各个邻居节点到目的节点的欧氏距离,筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,直到目的节点收到RREQ报文;
所述目的节点收到RREQ报文后,构建路由应答消息RREP报文,发送RREP报文到其上一跳节点,所述目的节点的上一跳节点收到RREP报文后,根据所述邻居列表计算其各个邻居节点到源节点的欧氏距离,筛选出若干个距离源节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREP报文,直到源节点收到RREP报文;
所述源节点收到RREP报文后,按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包。
2.根据权利要求1所述的方法,其特征在于,所述无线Mesh网络中各节点调用HELLO报文处理策略,建立存有邻居节点位置信息与时延的邻居列表,具体包括:
无线Mesh网络中各节点通过静态配置十六进制的位置信息,绑定节点的IP地址和MAC地址,上传到服务器中,各节点周期广播发送HELLO报文,同时监听并接收邻居节点发来的HELLO报文,收到邻居节点发来的HELLO报文后,返回ACK报文进行响应,根据响应时间获得邻居节点的时延,同时添加报文内的IP地址、MAC地址和位置信息进邻居列表,并在所述邻居列表里添加当前时间作为邻居节点活跃的最新时刻。
3.根据权利要求1所述的方法,其特征在于,若按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包的过程中,存在下一跳邻居节点到目的节点欧氏距离相同的情况,则根据邻居列表选取低时延的邻居节点进行数据包发送,若下一跳邻居节点时延相同,则随机选取其中一个邻居节点进行数据包发送。
4.根据权利要求1所述的方法,其特征在于,所述RREQ报文和RREP报文均包含源IP地址和目的IP地址。
5.根据权利要求1所述的方法,其特征在于,所述邻居列表中的邻居节点位置信息能够通过十六进制数转换成坐标信息。
6.根据权利要求4所述的方法,其特征在于,所述源IP地址和目的IP地址的位置信息能够通过服务器获得,并通过十六进制数转换为坐标信息。
7.根据权利要求4所述的方法,其特征在于,若所述目的IP地址为邻居地址或建立过到该地址的路由,则向目的节点单播发送数据包。
8.根据权利要求1所述的方法,其特征在于,所述筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,具体包括:
对所述筛选出的若干个距离目的节点最近的邻居节点进行单播发送RREQ报文,每间隔时间T进行周期发送,发送次数上限为N。
9.一种基于位置的无线Mesh网络路由选路装置,其特征在于,包括:
建立模块,被配置为无线Mesh网络中各节点调用HELLO报文处理策略,建立存有邻居节点位置信息与时延的邻居列表;
请求模块,被配置任一节点收到上一跳节点发来的路由请求消息RREQ报文后,根据所述邻居列表计算其各个邻居节点到目的节点的欧氏距离,筛选出若干个距离目的节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREQ报文,直到目的节点收到RREQ报文;
应答模块,被配置为所述目的节点收到RREQ报文后,构建路由应答消息RREP报文,发送RREP报文到其上一跳节点,所述目的节点的上一跳节点收到RREP报文后,根据所述邻居列表计算其各个邻居节点到源节点的欧氏距离,筛选出若干个距离源节点最近的邻居节点作为下一跳节点,并向下一跳节点发送RREP报文,直到源节点收到RREP报文;
传输模块,被配置为所述源节点收到RREP报文后,按照所述源节点向所述目的节点发送RREQ报文所经过的路由,向所述目的节点发送数据包。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989888.1A CN112261702B (zh) | 2020-09-18 | 2020-09-18 | 基于位置的无线Mesh网络路由选路方法、装置和电子设备 |
US17/239,617 US11445428B2 (en) | 2020-09-18 | 2021-04-25 | Method and device for setting up route path |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989888.1A CN112261702B (zh) | 2020-09-18 | 2020-09-18 | 基于位置的无线Mesh网络路由选路方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112261702A true CN112261702A (zh) | 2021-01-22 |
CN112261702B CN112261702B (zh) | 2022-09-16 |
Family
ID=74232399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010989888.1A Active CN112261702B (zh) | 2020-09-18 | 2020-09-18 | 基于位置的无线Mesh网络路由选路方法、装置和电子设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11445428B2 (zh) |
CN (1) | CN112261702B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113286345A (zh) * | 2021-05-19 | 2021-08-20 | 北华航天工业学院 | 一种ZigBee网络路由及其控制方法 |
CN113316213A (zh) * | 2021-05-25 | 2021-08-27 | 北京小米移动软件有限公司 | 多跳网络以及多跳网络的控制方法,存储介质 |
CN115103421A (zh) * | 2022-06-17 | 2022-09-23 | 电子科技大学 | 一种船舶自识别系统中基于aodv路由协议的消息中继方法 |
CN115103421B (zh) * | 2022-06-17 | 2024-06-04 | 电子科技大学 | 船舶自识别系统中基于aodv路由协议的消息中继方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11963282B2 (en) * | 2022-07-03 | 2024-04-16 | Aeki Intellectual Holdings, Llc | Ad-hoc lighting network and method of deployment |
CN116489085B (zh) * | 2023-03-28 | 2023-10-27 | 网根科技(青岛)有限公司 | 一种基于Handle的解析路由安全监测方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104703242A (zh) * | 2013-12-09 | 2015-06-10 | 中国科学院大学 | 基于位置信息和票据的多路径编码感知无线网络路由方法 |
CN104902530A (zh) * | 2015-06-10 | 2015-09-09 | 东南大学 | 一种应用于无线Mesh网中的位置辅助路由方法 |
CN108495249A (zh) * | 2018-02-05 | 2018-09-04 | 西安电子科技大学 | 基于位置信息低功耗的自组网路由方法 |
WO2019154483A1 (en) * | 2018-02-07 | 2019-08-15 | Hochschule Anhalt | Method of adaptive route selection in a node of a wireless mesh communication network corresponding apparatus for performing the method of adaptive route selection and corresponding computer program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005054B2 (en) * | 2003-08-08 | 2011-08-23 | Sony Corporation | Communication system, communication method, communication terminal device, control method thereof, and program |
US10455012B2 (en) * | 2017-02-10 | 2019-10-22 | Sony Corporation | Routes discovery in wireless networks with directional transmissions |
JP7003539B2 (ja) * | 2017-09-28 | 2022-01-20 | 京セラドキュメントソリューションズ株式会社 | アドホックネットワーク経路構築システム、ノード、センターノード及びアドホックネットワーク経路構築方法 |
US10531412B2 (en) * | 2017-11-06 | 2020-01-07 | Sony Corporation | On demand route synchronization and beamforming in wireless networks |
-
2020
- 2020-09-18 CN CN202010989888.1A patent/CN112261702B/zh active Active
-
2021
- 2021-04-25 US US17/239,617 patent/US11445428B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104703242A (zh) * | 2013-12-09 | 2015-06-10 | 中国科学院大学 | 基于位置信息和票据的多路径编码感知无线网络路由方法 |
CN104902530A (zh) * | 2015-06-10 | 2015-09-09 | 东南大学 | 一种应用于无线Mesh网中的位置辅助路由方法 |
CN108495249A (zh) * | 2018-02-05 | 2018-09-04 | 西安电子科技大学 | 基于位置信息低功耗的自组网路由方法 |
WO2019154483A1 (en) * | 2018-02-07 | 2019-08-15 | Hochschule Anhalt | Method of adaptive route selection in a node of a wireless mesh communication network corresponding apparatus for performing the method of adaptive route selection and corresponding computer program |
Non-Patent Citations (1)
Title |
---|
郭冠华 等: "基于地理位置和多阶邻节点辅助的编码感知无线多跳网络路由协议", 《中国科学院大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113286345A (zh) * | 2021-05-19 | 2021-08-20 | 北华航天工业学院 | 一种ZigBee网络路由及其控制方法 |
CN113316213A (zh) * | 2021-05-25 | 2021-08-27 | 北京小米移动软件有限公司 | 多跳网络以及多跳网络的控制方法,存储介质 |
CN115103421A (zh) * | 2022-06-17 | 2022-09-23 | 电子科技大学 | 一种船舶自识别系统中基于aodv路由协议的消息中继方法 |
CN115103421B (zh) * | 2022-06-17 | 2024-06-04 | 电子科技大学 | 船舶自识别系统中基于aodv路由协议的消息中继方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220095198A1 (en) | 2022-03-24 |
CN112261702B (zh) | 2022-09-16 |
US11445428B2 (en) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112261702B (zh) | 基于位置的无线Mesh网络路由选路方法、装置和电子设备 | |
CN102571587B (zh) | 报文转发方法和设备 | |
US20180302324A1 (en) | Packet forwarding mechanism | |
US20010005368A1 (en) | Method and communication system in wireless AD HOC networks | |
KR20070081733A (ko) | 다중 경로 설정 장치 및 방법 | |
CN104604293A (zh) | 用于在无限链路网络中选择路由器的方法和装置 | |
US10693785B2 (en) | Method and system for forwarding data, virtual load balancer, and readable storage medium | |
JP2006238341A (ja) | ネットワークスイッチ装置及び方法、無線アクセス装置、および、無線ネットワーク | |
CN103763750A (zh) | 在tdma协议的无线自组网中实现快速分组转发的方法 | |
JP2010074691A (ja) | アドホックネットワーク無線通信方法 | |
Pirmagomedov et al. | Augmented computing at the edge using named data networking | |
CN109587754B (zh) | 网络设备节点选择方法、装置及计算机可读存储介质 | |
CN104754649A (zh) | 一种数据传输方法与无线Mesh节点 | |
WO2020147081A1 (zh) | 一种数据传输方法、相关设备及计算机存储介质 | |
Miller et al. | Scmesh: Solar-powered wireless smart camera mesh network | |
JP5113486B2 (ja) | 通信方法およびそれを利用した制御装置、基地局装置、端末装置 | |
CN103701952A (zh) | 一种业务数据的下行传输方法及分组数据网关 | |
CN109600421B (zh) | 一种无线云计算系统中分布式计算资源的选择方法 | |
EP3471351B1 (en) | Method and device for acquiring path information about data packet | |
JP5860135B2 (ja) | 通信機器探索方法、通信機器、通信機器探索プログラムおよびアドホックネットワークシステム | |
CN113014648B (zh) | 小节点群动态转发混合路由方法及相关设备 | |
CN111464442B (zh) | 对数据包进行路由的方法和装置 | |
JP5866811B2 (ja) | ネットワーク装置、送信先問合せ方法および送信先問合せプログラム | |
JP5333340B2 (ja) | 無線装置及びパケットの転送方法 | |
JP7176237B2 (ja) | 情報伝送方法、装置及び電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |