一种基于多无线电的快速路由恢复方法技术

技术编号:37368570 阅读:11 留言:0更新日期:2023-04-27 07:14
本发明专利技术提供一种基于多无线电的快速路由恢复方法,其步骤包括:采用HELLO消息实现各个相邻节点间的邻居检测,以判断各个邻居节点是对称链路,还是非对称链路;当检测到丢失链路时,发现有节点故障或丢失,开始对HELLO发送间隔以及路由表过期时间进行动态调整;利用贪心算法来选择各个节点的MPR集,各个节点的拓扑信息都只会在它的MPR节点上进行处理和转发;TC消息通过多点中继在各个节点之间传播,各个节点根据接收到的TC消息构建拓扑表,检测到邻居状态发生变化,会对拓扑表进行更新,并进行路由表的更新;为每个节点设置多无线电多网卡,给两个网卡所属的网络分配两个不同的信道进行运行,让它们互不干扰,加快TC消息的处理,从而加快路由恢复。从而加快路由恢复。从而加快路由恢复。

【技术实现步骤摘要】
一种基于多无线电的快速路由恢复方法


[0001]本专利技术属于无人机自组网体系路由协议领域,具体地涉及一种基于多无线电的无人机网络快速路由恢复方法。

技术介绍

[0002]当今社会,无人机得到了越来越广泛的应用,就比如民用范围的航拍摄像,抢险救灾时的搜寻目标,军用范围的勘探敌情等等。这些都不是单个无人机所能完成的任务,而是需要多架无人机的协同配合,相互通讯才能合力做到的事情。因此建立一个无人机自组织网络便成为了一件十分重要的事情。
[0003]而建立网络就离不开路由协议,协议的相关性能指标有很多种,其中路由恢复时间便是比较特殊的一种,它在很多场景里并不是那么重要,但在战场上却重要无比,事关通信的顺利与否以及士兵的性命安危。
[0004]由于无人机节点的特殊性和高速移动性,有时某个节点突然离开了自组网的通信范围,或者某个节点因为故障,无法与网络中的其他节点进行通讯,此时都视该节点为故障节点。如果是主动路由协议,这时候便需要更新路由表,将该故障节点的IP地址从所有节点维护的路由表里删除。从开始故障到节点地址信息被所有路由表删除的时间便是路由恢复时间。而对于被动路由表,当发生通讯链路上的节点故障,便会向源节点回发控制消息,进行重新寻找新路径的过程。从节点故障,到找到新的通信链路所耗费的时间便被称为路由恢复时间。
[0005]目前改进无人机网络性能的技术,有很多种,例如动态调整控制消息的发送间隔,采用多信道传输增加信息容量等等,但都很少关注路由恢复时间这一参量。在战场上,由于需要较低的延迟,因此,无人机自组网大都选择主动路由协议。而对于主动路由协议来说,由于它需要实时维护每个节点的路由表信息,因此开销较大,但正常传输信息时,所耗费的时间少,时延小。可是一旦出现节点故障,需要逐跳更新路由表信息,删除故障节点,故而路由恢复时间一般较大。

技术实现思路

[0006]本专利技术提供一种基于多无线电的无人机网络快速路由恢复方法。可用于解决现有技术中当节点发生故障,主动路由协议不能及时将故障节点从所有路由表中删除,路由恢复时间过长的问题。
[0007]本专利技术的技术方案如下:一种基于多无线电的无人机网络快速路由恢复方法,考虑有N架无人机在某区域进行侦查,在某个时间点T,无人机X发生故障,与组网联系发生中断,通过给每个无人机配置多无线电多网卡,并在检测到节点故障后,动态调整控制消息发送间隔来减少路由恢复时间。所述快速路由恢复方法包括以下步骤:步骤一,通过每个节点之间互相收发HELLO消息,确定每个节点之间的邻居状态和链路状态,在发送HELLO消息和接收HELLO消息时,对节点之间的链路状态进行检测并生成
邻居表;步骤二,采用自适应算法,当检测到节点之间的链路状态为丢失时,发现有节点故障或节点丢失,对HELLO消息的发送间隔及路由表过期时间进行动态调整,将HELLO消息的发送间隔及路由表过期时间改小,加快拓扑更新和路由恢复,在路由恢复后,再将HELLO消息的发送间隔及路由表过期时间调整回原来数值,以减小网络开销;步骤三,采用多点中继技术,利用贪心算法选择每个节点的MPR集,每个节点的拓扑信息只会在它的MPR节点上进行处理和转发;步骤四,TC消息通过多点中继在各个节点之间传播,每个节点根据接收到的TC消息构建拓扑表;步骤五,对TC消息的发送间隔也采用自适应算法进行调整,如果检测到邻居状态发生变化,立刻发送一个新的TC消息,对拓扑表进行更新,并调小TC消息发送间隔,并在下一次发送TC消息后,调整回原来的TC消息发送间隔,以减小网络开销;步骤六,采用多无线电多信道传输方法,为每个节点设置多无线电多网卡,给每个网卡所属的网络分配不同的信道进行运行,给每个信道分配合适的中心频率,让它们互不干扰,加快TC消息的处理,从而加快路由恢复;步骤七,当检测到拓扑变化时、邻居状态变化,删除旧的路由表,根据现有的邻居表和拓扑表进行计算更新新的路由表。
[0008]进一步的,步骤一中,通过每个节点之间互相收发HELLO消息,确定每个节点之间的邻居状态和链路状态,其中邻居状态为三种:SYM_NEIGH拥有一条对称链路的邻居、MPR_NEIGH拥有一条对称链路且已被选择为源节点的MPR节点的邻居和NOT_NEIGH没有对称链路的邻居;链路状态分为四种:UNSPEC_LINK状态未知的链路、ASYM_LINK不对称的链路、SYM_LINK对称的链路和LOST_LINK已经丢失的链路,确定邻居节点间的邻居状态,需要三个HELLO消息发送间隔:A首先向B发送空的HELLO消息,B接收后未发现HELLO消息中有关B的地址消息,便将A标为ASYM_LINK,然后B向A发送包含A的地址信息的HELLO消息,A接收后在HELLO消息里找到自己的地址,将B标记为SYM_LINK,A再次向B发送包含B地址信息的HELLO消息,B在HELLO消息里找到自己的地址后,也将A标记为SYM_LINK,即两个邻居节点必须都完成一次收发HELLO消息的过程,才能确定邻居是否为SYM_NEIGH。
[0009]进一步的,步骤二中,采用自适应算法,当检测到节点之间的链路状态为丢失时,发现有节点故障或节点丢失,当节点数目较少时路由恢复时间主要与邻居表过期时间有关,HELLO消息的发送间隔与邻居保持时间关系为3*HELLO_interval=neighhold_time,对HELLO消息的发送间隔及路由表过期时间进行动态调整的具体步骤为:在每个节点里设置一个节点级变量lost1,当节点发送或接收到的HELLO消息里检测到lost

link后,便将lost1设置为1,表明网络进入路由恢复状态,启动对HELLO消息的发送间隔及路由表过期时间进行动态调整,当lost1=1后,该节点在下次发送HELLO消息时,即调用generateHELLO函数将HELLO_interval调整为1s,neighhold_time调整为3s,HELLO消息的发送间隔的调整立即生效,而该节点的邻居保持时间的调整等下一次邻居表过期时才会生效。
[0010]进一步的,步骤三中,采用多点中继技术,即设置MPR节点会在自己的对称一跳邻
居里面选择若干个节点来进行自己相关路由信息的转发和广播,这一组节点定义为MPR节点为源节点的MPR集,在各个节点的MPR集的选择上,采用贪心算法,具体步骤为最先考虑二跳邻居节点的全覆盖,首先寻找能够覆盖孤立二跳邻居节点的一跳邻居节点,然后覆盖二跳邻居节点数目的高低依次挑选对称一跳邻居节点,直至二跳邻居节点全被覆盖为止,各个节点的拓扑信息都只会在它的MPR节点上进行处理和转发。
[0011]进一步的,步骤四中,TC消息就是节点的拓扑消息,主要是通过MPR节点的转发广播来实现在无线自组网络内的传输,当一个节点收到一个TC消息时,先判断TC消息的发送方是否为接收方节点的SYM_NEIGH,若不是接收方节点的SYM_NEIGH则不会进行处理,若是接收方节点的SYM_NEIGH发送来的TC消息,则会再次进行判断接收方是否为发送方节点的MPR_NE本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多无线电的快速路由恢复方法,其特征在于,为每个节点设置多无线多网卡,并为每个网卡设置互不干扰的信道,包括以下步骤:步骤一,通过每个节点之间互相收发HELLO消息,确定每个节点之间的邻居状态和链路状态,在发送HELLO消息和接收HELLO消息时,对节点之间的链路状态进行检测并生成邻居表;步骤二,采用自适应算法,当检测到节点之间的链路状态为丢失时,发现有节点故障或节点丢失,对HELLO消息的发送间隔及路由表过期时间进行动态调整,将HELLO消息的发送间隔及路由表过期时间改小,加快拓扑更新和路由恢复,在路由恢复后,再将HELLO消息的发送间隔及路由表过期时间调整回原来数值,以减小网络开销;步骤三,采用多点中继技术,利用贪心算法选择每个节点的MPR集,每个节点的拓扑信息只会在它的MPR节点上进行处理和转发;步骤四,TC消息通过多点中继在各个节点之间传播,每个节点根据接收到的TC消息构建拓扑表;步骤五,对TC消息的发送间隔也采用自适应算法进行调整,如果检测到邻居状态发生变化,立刻发送一个新的TC消息,对拓扑表进行更新,并调小TC消息发送间隔,并在下一次发送TC消息后,调整回原来的TC消息发送间隔,以减小网络开销;步骤六,采用多无线电多信道传输方法,为每个节点设置多无线电多网卡,给每个网卡所属的网络分配不同的信道进行运行,给每个信道分配合适的中心频率,让它们互不干扰,加快TC消息的处理,从而加快路由恢复;步骤七,当检测到拓扑变化时、邻居状态变化,删除旧的路由表,根据现有的邻居表和拓扑表进行计算更新新的路由表。2.根据权利要求1所述的一种基于多无线电的快速路由恢复方法,其特征在于,所述的步骤一中,通过每个节点之间互相收发HELLO消息,确定每个节点之间的邻居状态和链路状态,其中邻居状态为三种:SYM_NEIGH拥有一条对称链路的邻居、MPR_NEIGH拥有一条对称链路且已被选择为源节点的MPR节点的邻居和NOT_NEIGH没有对称链路的邻居;链路状态分为四种:UNSPEC_LINK状态未知的链路、ASYM_LINK不对称的链路、SYM_LINK对称的链路和LOST_LINK已经丢失的链路,确定邻居节点间的邻居状态,需要三个HELLO消息发送间隔:A首先向B发送空的HELLO消息,B接收后未发现HELLO消息中有关B的地址消息,便将A标为ASYM_LINK,然后B向A发送包含A的地址信息的HELLO消息,A接收后在HELLO消息里找到自己的地址,将B标记为SYM_LINK,A再次向B发送包含B地址信息的HELLO消息,B在HELLO消息里找到自己的地址后,也将A标记为SYM_LINK,即两个邻居节点必须都完成一次收发HELLO消息的过程,才能确定邻居是否为SYM_NEIGH。3.根据权利要求2所述的一种基于多无线电的快速路由恢复方法,其特征在于,所述的步骤二中,采用自适应算法,当检测到节点之间的链路状态为丢失时,发现有节点故障或节点丢失,当节点数目较少时路由恢复时间主要与邻居表过期时间有关,HELLO消息的发送间隔与邻居保持时间关系为3*HELLO_interval=neighhold_time,对HELLO消息的发送间隔及路由表过期时间进行动态调整的具体步骤为:在每个节点里设置一个节点级变量lost1,当节点发送或接收到的HELLO消息里检测到
lost

link后,便将lost1设置为1,表明网络进入路由恢复状态,启动对HELLO消息的发送间隔及路由表过期时间进行动...

【专利技术属性】
技术研发人员:董超周传鑫朱小军张磊
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1