一种飞行器协同组网网络层路由协议处理装置及实现方法与流程

文档序号:25491136发布日期:2021-06-15 21:56阅读:190来源:国知局
一种飞行器协同组网网络层路由协议处理装置及实现方法与流程

本发明涉及一种飞行器协同组网路由装置,属于无线通信自组织网络技术领域。



背景技术:

现代战争中,高速飞行器通过adhoc网络方式实现互联互通、协同作战和精确打击等任务,网络具有节点数量多、网络拓扑高度动态变化、任务优先级保障需求等特点。高速飞行器协同组网不同于常规的adhoc网络,其节点为高速运行的空天飞行器,且节点单元可能随时加入或退出网络,导致网络拓扑频繁快速变化、具有高度动态特性。高速飞行器协同组网除了要满足常规自组织网络基本的数据传输功能之外,还要考虑复杂多变的战场环境和种类繁多的信息类型,对有效性和可靠性具有更加严格的要求。对于关键的战术指令和测控信息,必须保证信息传输的实时性和准确性。网络节点数量多、高度动态的网络拓扑、通信资源有限、传输时延大、任务优先级差异化服务需求等特点,对高速飞行器协同组网路由协议设计带来了很大挑战,需要设计一种高速飞行器协同组网路由协议,使其能够适应大规模网络容量、高度动态网络拓扑,并有能力提供多种任务优先级差异化服务,高效、可靠地实现高动态环境下任务信息传输。

adhoc网络路由协议分为主动路由协议和按需路由协议两大类:①主动路由协议中每个节点不断的、周期的维护通往其他所有节点的路由信息。当网络拓扑变化时,主动路由协议需要把最新的路由信息传播给整个网络,从而维持整个网络路由信息的一致性。主动路由协议的明显优点是,在绝大部分时间内,路由表中都存在去往目的节点的路由,能够实现分组的随到随发,传输时延较小。但是,在网络拓扑基本不变时,依然需要大量的路由开销来维护路由表,造成了信道资源的浪费。主动式路由协议主要有olsr、dsdv、wrp等。②按需路由协议中节点不会主动更新自己的路由表,只有当源节点准备发送数据分组时,才会执行路由寻址进程。在找到一条合适路由之后,就结束整个路由查找进程,并按照该路由发送数据分组。按需路由协议的明显优点是,不需要周期性的和相邻节点交互路由消息,一定程度减少了路由开销。但是,当需要发送数据包时,要临时执行路由寻址,从而时延会较大。按需路由协议主要有dsr、aodv、abr等。



技术实现要素:

本发明的技术解决问题:克服现有技术的缺陷,提出一种飞行器协同组网网络层路由协议处理模块及实现方法,能够适应高速飞行器协同组网的高动态网络拓扑环境,满足任务优先级差异化服务需求,保障高优先级任务的高qos传输。

本发明的技术解决方案:一种飞行器协同组网网络层路由协议处理装置,该装置每个节点包括拓扑发现模块、拓扑控制模块、路由算法模块和分组转发模块;其中:

拓扑发现模块,根据拓扑变化情况自适应动态调整探测周期,采用变探测周期广播检测的方法进行链路感知并发现邻居节点,生成邻居表,输出邻居表给拓扑控制模块;所述邻居表包括本节点的所有一跳邻居节点集合和二跳邻居节点集合;

拓扑控制模块,根据邻居表提供的一跳邻居节点集合和二跳邻居节点集合,选出本节点的一部分一跳邻居节点,作为拓扑控制节点;每个节点通过拓扑控制节点向全网广播邻居表,当节点收集到网络中所有节点发送的邻居表后,即可生成本节点的拓扑表,输出拓扑表给路由算法模块;所述拓扑表包括一跳邻居节点集合、二条邻居节点集合、三跳及以上邻居节点集合和拓扑控制节点集合;

路由算法模块,根据拓扑表,得到本节点到达全网其它各个节点的全部有效路由;从全部有效路由中选出从本节点到达全网其它各个节点的最优路由,形成路由表,输出路由表给分组转发模块;

分组转发模块,根据待转发的业务数据的优先级,将待转发业务数据分组分别放入优先级存储队列中,按照优先级从高到低的顺序,读取优先级队列中的待转发业务数据,根据待转发的业务数据中的目的节点,查找路由表,得到下一跳节点,执行转发。

所述变探测周期广播检测的方法进行链路感知并发现邻居节点步骤如下:

(1.1)、建立网络拓扑结构初期,按照第一预设周期t1向周围节点广播hello数据包,接收邻居节点反馈的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑中所有节点在超过t2/t1个广播周期内的邻居节点均没有变化时,则切换到步骤(1.2),否则,回到重复执行本步骤;

(1.2)、按照第二预设周期t2周期性地向周围节点广播hello数据包,并接收所有邻居节点的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑情况是以下任意一种:①是否发现新节点;②是否原有邻居节点未回应,此时,判定网络拓扑发生变化,则会迅速切入到步骤(1.1)中的按照第一预设周期t1向周围节点广播hello数据包,否则,回到重复执行本步骤。

所述第一预设周期t1小于第二预设周期t2,且第二预设周期t2为第一预设周期t1的整数倍。

所述拓扑控制模块选出本节点的一部分一跳邻居节点作为拓扑控制节点的具体原则包括:①拓扑控制节点必须是本节点的一跳邻居节点;②所有拓扑控制节点的一跳邻居节点集合包含本节点的所有两跳邻居节点集合。

所述路由算法模块,通过经典的dijkstra算法,动态的计算到达各节点的最优路径,形成路由表,输出路由表给分组转发模块。

本发明的另一个技术解决方案是:一种飞行器协同组网网络层路由协议实现方法,该方法为每个网络节点执行如下步骤:

s1、根据拓扑变化情况自适应动态调整探测周期,采用变周期探测的方法进行链路感知并发现邻居节点,生成邻居表;所述邻居表包括本节点的所有一跳邻居节点集合和二跳邻居节点集合;

s2、根据邻居表提供的一跳邻居节点集合和二跳邻居节点集合,选出本节点的一部分一跳邻居节点,作为拓扑控制节点,通过拓扑控制节点向全网广播邻居表,当节点收集到网络中所有节点发送的邻居表后,即可生成本节点的拓扑表;所述拓扑表包括一跳邻居节点集合、二条邻居节点集合、三跳及以上邻居节点集合和拓扑控制节点集合;

s3、根据拓扑表,得到本节点到达全网其它各个节点的全部有效路由;从全部有效路由中选出从本节点到达全网其它各个节点的最优路由,形成路由表;

s4、根据待转发的业务数据的优先级,将待转发业务数据分组分别放入优先级存储队列中,按照优先级从高到低的顺序,读取优先级队列中的待转发业务数据,根据待转发的业务数据中的目的节点,查找路由表,得到下一跳节点,执行转发。

所述步骤(1)中变探测周期广播检测的方法进行链路感知并发现邻居节点步骤如下:

(1.1)、建立网络拓扑结构初期,按照第一预设周期t1向周围节点广播hello数据包,接收邻居节点反馈的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑中所有节点在超过t2/t1个广播周期内的邻居节点均没有变化时,则切换到步骤(1.2),否则,回到重复执行本步骤;

(1.2)、按照第二预设周期t2周期性地向周围节点广播hello数据包,并接收所有邻居节点的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑情况是以下任意一种:①是否发现新节点;②是否原有邻居节点未回应,此时,判定网络拓扑发生变化,则会迅速切入到步骤(1.1)中的按照第一预设周期t1向周围节点广播hello数据包,否则,回到重复执行本步骤。

所述第一预设周期t1小于第二预设周期t2,且第二预设周期t2为第一预设周期t1的整数倍。

选出本节点的一部分一跳邻居节点作为拓扑控制节点的具体原则包括:①拓扑控制节点必须是本节点的一跳邻居节点;②所有拓扑控制节点的一跳邻居节点集合包含本节点的所有两跳邻居节点集合。

步骤s3采用经典的dijkstra算法,动态的计算到达各节点的最优路径,形成路由表。

本发明与现有技术相比的优点在于:

(1)、本发明采用根据拓扑变化情况自适应动态调整探测周期的主动拓扑发现机制,可以实现高动态组网中的拓扑结构实时维护和更新,有效应对高速飞行器协同组网的高动态网络拓扑变化;

(2)、本发明采用基于任务优先级的分组转发,可以实现高速飞行器协同组网qos需求,保证高优先级业务的高可靠、低时延多跳传输,满足任务优先级差异化服务需求。

附图说明

图1为本发明实施例路由协议结构图;

图2为本发明实施例拓扑发现模块流程图;

图3为本发明实施例分组转发模块流程图;

具体实施方式

以下结合附图和实施例对本发明进行详细说明。

由于高速飞行器的高动态机动特性,针对现有自组织网络路由协议应用于高速飞行器协同组网时,不能很好适应高动态网络拓扑、不断有节点加入或退出、任务优先级差异化服务需求等特点,本发明提出一种基于olsr协议的改进型主动路由协议。

本发明提供的一种飞行器协同组网网络层路由协议处理装置,包括拓扑发现模块、拓扑控制模块、路由算法模块和分组转发模块。

拓扑发现模块的主要功能是根据拓扑变化情况自适应动态调整探测周期,采用变探测周期广播检测的方法进行链路感知并发现邻居节点,生成邻居表,输出邻居表给拓扑控制模块;所述邻居表包括本节点的所有一跳邻居节点集合和二跳邻居节点集合。

拓扑控制模块的主要功能是根据邻居表提供的一跳邻居节点集合和二跳邻居节点集合,选出本节点的一部分一跳邻居节点,作为拓扑控制节点;每个节点通过拓扑控制节点向全网广播邻居表,当节点收集到网络中所有节点发送的邻居表后,即可生成本节点的拓扑表,输出拓扑表给路由算法模块;所述拓扑表包括一跳邻居节点集合、二条邻居节点集合、三跳及以上邻居节点集合和拓扑控制节点集合。

路由算法模块的主要功能是根据拓扑表,得到本节点到达全网其它各个节点的全部有效路由;从全部有效路由中选出从本节点到达全网其它各个节点的最优路由,形成路由表,输出路由表给分组转发模块。

分组转发模块,根据待转发的业务数据的优先级,将待转发业务数据分组分别放入优先级存储队列中,按照优先级从高到低的顺序,读取优先级队列中的待转发业务数据,根据待转发的业务数据中的目的节点,查找路由表,得到下一跳节点,执行转发,保证高优先级数据的高qos传输。

所述的拓扑发现模块包括快速周期拓扑发现机制和常规周期拓扑发现机制,两种拓扑发现机制都是通过主动发送hello包实现链路探测和邻居发现。hello包的广播跳数值为1,节点收到hello包不再转发;所述快速周期拓扑发现机制按照较短的第一预设周期t1加速广播hello包,当网络拓扑中所有节点的邻居节点稳定不变化,且超过t2/t1个广播周期时,则切换回常规周期拓扑发现机制;所述常规周期拓扑发现机制按照常规的第二预设周期t2广播hello包,即每个节点每隔t2时间向外广播一次hello包,收到所有邻居节点的确认消息(ack包)表示拓扑稳定,当处于建立网络拓扑结构初期或监测到网络拓扑情况发生变化时,则会立刻切入到快速周期拓扑发现机制,以适应网络变化快速收敛的需求。其中,t2是t1的整数倍,t1和t2的取值可以根据具体网络场景进行自适应调整,以适应不同高动态网络环境下的广播探测工作。

所述变探测周期广播检测的方法进行链路感知并发现邻居节点步骤如下:

(1.1)、建立网络拓扑结构初期,按照第一预设周期t1向周围节点广播hello数据包,接收邻居节点反馈的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑中所有节点在超过t2/t1个广播周期内的邻居节点均没有变化时,则切换到步骤(1.2),否则,回到重复执行本步骤;

(1.2)、按照第二预设周期t2周期性地向周围节点广播hello数据包,并接收所有邻居节点的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑情况是以下任意一种:①是否发现新节点;②是否原有邻居节点未回应,此时,判定网络拓扑发生变化,则会迅速切入到步骤(1.1)中的按照第一预设周期t1向周围节点广播hello数据包,否则,回到重复执行本步骤。所述第一预设周期t1小于第二预设周期t2,且第二预设周期t2为第一预设周期t1的整数倍。

所述的拓扑控制模块包括选取拓扑控制节点和生成拓扑表,选取拓扑控制节点是根据拓扑发现模块输出的邻居表,根据一跳邻居节点集合和二条邻居节点集合选出本节点的一部分一跳邻居节点作为拓扑控制节点,只有拓扑控制节点可以参与本地节点生成的控制消息的转发,相较于传统协议中所有邻居节点参与转发的洪泛方式,可以大大减小网络开销;节点通过拓扑控制节点向全网广播邻居表,当节点收集到网络中所有节点发送的邻居表后,即可生成本节点的拓扑表,输出拓扑表给路由算法模块;所述拓扑表包括一跳邻居节点集合、两条邻居节点集合、三跳及以上邻居节点集合和拓扑控制节点集合;所述拓扑控制模块选出本节点的一部分一跳邻居节点作为拓扑控制节点的具体原则包括:①拓扑控制节点必须是本节点的一跳邻居节点;②所有拓扑控制节点的一跳邻居节点集合包含本节点的所有两跳邻居节点集合。

所述的路由算法模块包括生成有效路由和计算最优路由;由拓扑表可生成本节点到达全网其它各个节点的全部有效路由,需要从中计算选出一条本节点到达目的节点的最优路由,为了进一步减少分组转发跳数,降低分组传输时延,使用olsr协议中经典dijkstra算法计算最短路径。

所述的分组转发模块为执行基于优先级的分组转发,当业务分组到达某一节点时,节点会根据业务的优先级加入优先级存储队列,以优先级从高到低的顺序依次读取优先级队列中的内容,从而实现信息优先级高的业务分组先执行转发,优先级低的分组后执行转发。

实施例:

1、飞行器协同组网网络层路由协议处理模块

如图1所示,本发明某一具体实施例中中,飞行器协同组网网络层路由协议处理模块包括拓扑发现模块、拓扑控制模块、路由算法模块和分组转发模块四个部分。

拓扑发现模块通过周期探测进行链路感知和邻居发现,输出邻居表给拓扑控制模块;拓扑控制模块根据邻居表,进行选取拓扑控制节点和生成拓扑表,输出拓扑表给路由算法模块;路由算法模块根据拓扑表,生成有效路由和计算最优路径,输出路由表给分组转发模块;分组转发模块执行基于优先级的分组转发。

2、拓扑发现模块

拓扑发现模块主要用于链路探测和邻居节点发现,该模块包括快速周期拓扑发现机制和常规周期拓扑发现机制。实现流程如图2所示。

两种拓扑发现机制都是通过主动发送hello包进行探测实现:在网络拓扑建立初期,由于拓扑不稳定,运行的是快速周期拓扑发现机制;当拓扑稳定后,运行的是常规周期拓扑发现机制,发送hello包实时对邻居表进行维护;一旦检测到拓扑发生改变,就会切换为快速周期拓扑发现机制,通过加速hello包的发送周期以加速拓扑收敛时间;拓扑变动后回归稳定,又会切换为常规周期拓扑发现机制。

快速周期拓扑发现机制实现步骤是:快速周期拓扑发现机制维护拓扑的第一预设周期为t1,在建立网络拓扑结构初期,每个节点每隔t1向外广播hello包,接收邻居节点反馈的确认消息,即ack数据包,当监测到网络拓扑中所有节点在超过t2/t1个广播周期内的邻居节点均没有变化时,说明网络拓扑结构稳定,则会切换到常规周期拓扑发现机制。

常规周期拓扑发现机制实现步骤是:常规周期拓扑发现机制维护拓扑的第二预设周期为t2,每个节点每隔t2向外广播hello包,接收到所有邻居节点的确认消息(ack包),说明网络拓扑稳定。当监测到网络拓扑情况是以下任意一种:①是否发现新节点;②是否原有邻居节点未回应,此时,判定网络拓扑发生变化,则会迅速切入到快速周期拓扑发现机制。

节点采用变周期发送hello包探测的方法进行链路探测并发现邻居节点,新增或更新邻居表中的一跳邻居节点集合,邻居节点之间通过交换各自一跳邻居节点信息,可得二跳邻居节点集合,生成邻居表格式如下表1所示。

表1邻居表格式

3、拓扑控制模块

拓扑控制模块主要用于网络拓扑的形成,该模块包括选取拓扑控制节点和生成拓扑表。

选取拓扑控制节点实现步骤是:邻居表提供的一跳邻居节点集合和二跳邻居节点集合,从本节点的所有一跳可达邻居节点中选取拓扑控制节点,选取的具有原则包括:①拓扑控制节点必须是本节点的一跳可达邻居节点;②拓扑控制节点集合的一跳相邻节点集合需要覆盖完本节点的全部二跳可达节点集合;

生成拓扑表实现步骤是:节点通过拓扑控制节点向全网广播邻居表,当节点收集到网络中所有节点发送的邻居表后,即可生成本节点的拓扑表,输出拓扑表给路由算法模块;所述拓扑表包括一跳邻居节点集合、二条邻居节点集合、三跳及以上邻居节点集合和拓扑控制节点集合;

拓扑表格式如表2所示;

表2拓扑表格式

4、路由算法模块

路由算法模块主要用于计算路由表,该模块包括生成有效路由和计算最优路由,输出路由表给分组转发模块。

生成有效路由实现步骤是:根据拓扑表可生成本节点到达全网其它各个节点的全部有效路由,本节点到某个目的节点的有效路由可能不止一条;

计算最优路由实现步骤是:由于从本节点到目的节点可能有多条有效路由,需要从中计算出哪条路由是最优路由,为了进一步减少分组转发跳数,降低分组传输时延,通过经典的dijkstra算法,动态的计算到达全网其它各个节点的最优路由,形成路由表,计算出来的路由表输出给分组转发模块;

路由表格式如表3所示;

表3路由表格式

5、分组转发模块

分组转发模块主要用于实现基于任务优先级的分组转发功能,该模块为执行基于优先级的分组转发。

如图3所示,执行基于优先级的分组转发实现步骤是:当业务分组到达某一节点时,节点会根据业务的优先级加入优先级存储队列,分组转发引擎在执行分组转发时,会以优先级从高到低的顺序依次读取优先级队列中的内容,从而实现信息优先级高的业务分组先执行转发,优先级低的分组后执行转发。

基于上述系统本发明还提供了一种飞行器协同组网网络层路由协议实现方法,该方法中每个网络节点执行如下步骤:

s1、根据拓扑变化情况自适应动态调整探测周期,采用变周期探测的方法进行链路感知并发现邻居节点,生成邻居表;所述邻居表包括本节点的所有一跳邻居节点集合和二跳邻居节点集合;

变探测周期广播检测的方法进行链路感知并发现邻居节点步骤如下:

(1.1)、建立网络拓扑结构初期,按照第一预设周期t1向周围节点广播hello数据包,接收邻居节点反馈的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑中所有节点在超过t2/t1个广播周期内的邻居节点均没有变化时,则切换到步骤(1.2),否则,回到重复执行本步骤;

(1.2)、按照第二预设周期t2周期性地向周围节点广播hello数据包,并接收所有邻居节点的确认消息,即ack数据包,根据ack数据包,检测网络拓扑情况,当监测到网络拓扑情况是以下任意一种:①是否发现新节点;②是否原有邻居节点未回应,此时,判定网络拓扑发生变化,则会迅速切入到步骤(1.1)中的按照第一预设周期t1向周围节点广播hello数据包,否则,回到重复执行本步骤。所述第一预设周期t1小于第二预设周期t2,且第二预设周期t2为第一预设周期t1的整数倍。

s2、根据邻居表提供的一跳邻居节点集合和二跳邻居节点集合,选出本节点的一部分一跳邻居节点,作为拓扑控制节点,通过拓扑控制节点向全网广播邻居表,当节点收集到网络中所有节点发送的邻居表后,即可生成本节点的拓扑表;所述拓扑表包括一跳邻居节点集合、二条邻居节点集合、三跳及以上邻居节点集合和拓扑控制节点集合;

选出本节点的一部分一跳邻居节点作为拓扑控制节点的具体原则包括:①拓扑控制节点必须是本节点的一跳邻居节点;②所有拓扑控制节点的一跳邻居节点集合包含本节点的所有两跳邻居节点集合。

s3、根据拓扑表,得到本节点到达全网其它各个节点的全部有效路由;从全部有效路由中选出从本节点到达全网其它各个节点的最优路由,形成路由表;

本步骤采用经典的dijkstra算法,动态的计算到达各节点的最优路径,形成路由表。

s4、根据待转发的业务数据的优先级,将待转发业务数据分组分别放入优先级存储队列中,按照优先级从高到低的顺序,读取优先级队列中的待转发业务数据,根据待转发的业务数据中的目的节点,查找路由表,得到下一跳节点,执行转发。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

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