高空高速移动节点自组网的混合式路由协议设计优化方法与流程

文档序号:17899225发布日期:2019-06-13 16:13阅读:207来源:国知局
高空高速移动节点自组网的混合式路由协议设计优化方法与流程

本发明涉及一种高空高速移动节点自组网的混合式路由协议设计优化方法,属于移动自组网领域。



背景技术:

移动自组网是一种不需要固定的基础网络设施就可以在移动节点之间交换信息的网络。高空高速移动节点自组网是在传统移动自组网的基础上,节点处于高空高速移动的网络。具体地,节点的运动速度在15m/s以上,并且在进行无线通信的过程中,当发送信号功率一定时,多径衰落和阴影衰落对接收节点的接收信号强度的影响可以忽略,接收节点的接收信号强度只受到路由损耗的影响,则被视为节点处于高空高速移动的网络。在高空高速的场景下,节点的移动灵活性更大,移动速度更快,这就导致网络拓扑结构变化更为剧烈,节点的资源消耗更大、通信环境更为复杂,给高空高速移动节点自组网的设计带来了很大的挑战。

路由协议是移动自组网中非常重要的一部分,也是广大研究者在移动自组网的研究领域的研究热点。它主要是用来发现并维护源节点与目的节点之间的路由以及合理地发送数据包,在协议栈中属于网络层。在节点高速移动的高动态环境下,如何设计出能够适应高动态的拓扑结构的路由协议以及如何解决竞争链路的问题成为一个难点。在移动自组网领域,常见的路由协议大致可分为主动式路由协议和按需路由协议。对于主动式路由协议来说,每个节点都需要维护一个路由表,路由表中保存有到其它所有节点的路由,每个节点周期性地发送路由信息并根据接收到的信息不断更新和维护路由表,这无疑会增加巨大的网络开销。按需路由协议不需要周期性的维护路由表,只在有需要时才建立路由,这会大大降低了网络开销而且节约了网络能量,但是这会在一定程度上增大了延时。

目前常用的最佳路由获取算法是基于dijkstra算法的最佳路由获取算法,基于此算法获取最佳路由的过程中,需要遍历拓扑中几乎所有的节点,从而最终获取到最佳路由。具有网络适应性好、准确率高等优点。但是,它的搜索区域过大,计算量过大。在高空高速移动节点自组网中,节点高速移动,网络的拓扑变化剧烈,动态性很高。所以如此大的搜索区域和计算量很可能会导致系统不能准确而及时的计算出最佳路由,从而影响通信的正常进行。因此,在准确获取到最佳路由的同时尽可能地降低计算量是一个需要考虑的难点。

竞争链路是指当有两个或两个以上的通信过程同时经过某一链路且它们的传输速率之和大于链路容量,此时该条链路就被称为竞争链路。竞争链路的出现会导致端到端时延增加、丢包率增加、节点的能量消耗增加、网络拥塞增加,网络性能开始急剧恶化。目前针对竞争链路的问题,常用的方法是多路由延迟应答策略。其基本思想为,在发现和获取路由的过程中,并不是立刻使用最佳路由,而是经历了一段延时,在这段时间里,搜集所有的源节点和目的节点的可用路由,并对获得的每条路由用路由选择函数进行标记,根据路由选择函数选取合理的路由,如果把链路状态考虑进路由选择函数,那么就可以最大程度的避免竞争链路的问题。但是在高空高速移动节点自组网中,获取源节点到目的节点的所有路由需要巨大的计算量,耗费大量的节点资源。由于节点的高速移动,网络拓扑变化快,通过延时一段时间获取路由使得节点不能及时地获取所需路由,最终得到的路由可能是已经过期了的路由,也就无法获得所需路由。



技术实现要素:

本发明的目的是提供一种高空高速移动节点自组网的混合式路由协议设计优化方法,有效地减少了路由获取的搜索区域、降低了计算量、降低了端到端时延、最佳路由获取更为及时。

上述的目的通过以下技术方案实现:

高空高速移动节点自组网的混合式路由协议设计优化方法,该方法包括如下步骤:

步骤1、构建本地路由表:本地路由表包括的属性为目的节点、到达目的节点的路由和路径权重,其中路径权重是指源节点到目的节点的路由中所列出的节点中的第一个节点的权重;

步骤2、建立最佳路由:如果目的节点在本地路由表中,根据路由表可直接查找到最佳路由;否则,采用基于a*算法的最佳路由获取算法获取到最佳路由;

步骤3、在最佳路由获取的过程中,检测竞争链路的出现情况,如果出现了竞争链路,转到步骤4;否则步骤2所得到的路由即为最佳路由;

步骤4、删除最后发生的一个或者多个通信过程所建立的路由,并将相关节点设置为临时故障节点,从临时故障节点的上一跳节点开始重启路由建立过程。

所述的高空高速移动节点自组网的混合式路由协议设计优化方法,步骤1中所述构建本地路由表的具体方法为:

高空高速移动节点自组网中的每个节点与其逻辑邻居节点集内的节点互相交换信息,然后利用dijkstra算法,构建本地最短路径树,获得各个节点与其本地节点集中的各个节点的最佳路由,得到本地路由表。

所述的高空高速移动节点自组网的混合式路由协议设计优化方法,步骤2中所述基于a*算法的最佳路由获取算法的执行步骤如下:

(1)定义两个列表分别称为openlist列表和closelist列表,若源节点试图与目的节点进行通信,那么先把源节点加入到openlist列表中;

(2)遍历openlist列表中的节点,对每个节点计算他们的代价函数,找到代价函数最小的节点,该节点就是当前待处理节点,然后把他从openlist列表中加入到closelist列表中,之后把它从openlist列表中删去;

(3)对当前待处理节点的邻居节点分为三种情况考虑:如果由于发生故障等原因导致该邻居节点无法接收到当前待处理节点发送的消息或者该邻居节点处于closelist列表中,直接忽略;如果该邻居节点不在openlist列表也不在closelist列表中,把它加入到openlist列表,并把当前待处理节点设置为该邻居节点的父亲节点,然后计算该邻居节点的代价函数;如果该邻居节点已经在openlist列表中,判断由当前待处理节点到达该邻居节点的路由是否更优,如果更优,把该邻居节点的父亲节点改为当前待处理节点并相应地修改代价函数;

(4)查找目的节点,如果目的节点已经加入到了openlist列表中,表明已经找到了最佳路由;如果没有找到目的节点而且openlist列表为空,表明路由不存在,此时,停止上述查找过程;如果没有找到目的节点而且openlist列表不为空,则重复(2)、(3)和(4)步。

(5)最终,如果可以找到最佳路由,那么,从目的节点开始,一路沿着父亲节点一直到源节点,即为获取的最佳路由。

所述的高空高速移动节点自组网的混合式路由协议设计优化方法,步骤(2)中所述代价函数的计算方法如下:

f(n)=g(n)+h(n)

其中,f(n)表示总的代价函数,g(n)表示源节点到当前节点实际经过的代价,用经过的路由长度表示;h(n)表示当前节点到目的节点的估算代价,用欧式距离表示。

所述的高空高速移动节点自组网的混合式路由协议设计优化方法,步骤2中所述的最佳路由是指能量消耗最小的路由,用距离来反映能量消耗的相对大小,距离和能量消耗的关系如下:

pt=cprdα

其中,pt表示发送信号功率,c为与收发机性能相关的常数,pr表示接收信号功率,α表示路径损耗指数,在接收信号功率相同的情况下,发送功率与距离的α次方成正比。

所述的高空高速移动节点自组网的混合式路由协议设计优化方法,步骤3中所述检测竞争链路的方法为:当有两个或者两个以上通信过程经过某一链路,且它们的传输速率之和大于链路容量时,表明出现了竞争链路。

所述的高空高速移动节点自组网的混合式路由协议设计优化方法,步骤4中所述的设置临时故障节点需要在基于a*算法的最佳路由获取算法的基础上进行。

有益效果:

与现有技术相比,本发明公开了一种高空高速移动节点自组网的基于a*算法的最佳路由获取算法,给出了混合式路由协议设计方法及在此基础上避免竞争链路的出现的方法。混合式路由协议设计综合了主动式路由协议和按需路由协议的优点,避免竞争链路的出现的方法很好的利用了基于a*算法的最佳路由获取算法,从而更适合于高空高速移动节点自组网。在高空高速场景下,和传统的基于dijkstra算法的最佳路由获取算法以及多路径延时应答策略避免出现竞争链路的方法相比,具有大大减少搜索区域、降低计算量、减少端到端时延、路由获取更及时的优点,可以更好地提升网络性能。

附图说明

图1为避免出现竞争链路的算法流程图;

图2为包递交率与网络负载关系对比图;

图3为平均端到端时延与网络负载关系对比图;

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细描述:

本发明提供了一种混合式路由协议设计方法,提出了基于a*算法的最佳路由获取算法,在此基础上,采用设置临时故障节点的方法来最大程度地避免竞争链路的出现。

实施例1:混合式路由协议结合了主动式路由协议和按需路由协议的优点,其基本思想是:如果目的节点在本地路由表中,则直接查表获得最佳路由;如果目的节点不在本地路由表中,那么采用基于a*算法的最佳路由获取算法获取最佳路由。

实施例2:如实施例1所述的方法,本地路由表包括的属性为目的节点、到达目的节点的路由和路径权重。其中路径权重是指源节点到目的节点的路由中所列出的节点中的第一个节点的权重。本地路由表的获取方法为:每个节点与其逻辑邻居节点集内的节点互相交换信息。然后利用dijkstra算法,构建本地最短路径树,获得各个节点与其本地节点集中的各个节点的最佳路由,得到本地路由表。

实施例3:如实施例1所述的方法,基于a*算法的最佳路由获取算法的执行步骤为:

(1)首先定义两个列表分别称为openlist和closelist,把源节点加入到openlist中。

(2)遍历openlist中的节点,对每个节点计算他们的代价函数,找到代价函数最小的点,该节点就是当前处理的节点。然后把他加入到closelist中。

(3)对当前待处理的节点的邻居节点分为三种情况考虑:如果由于发生故障等原因导致它是不可达的或者它处于closelist中,直接忽略;如果它不在openlist中,把它加入到openlist,并把当前待处理节点设置为它的父亲节点,然后计算它的代价函数;如果它已经在openlist中,判断由当前待处理节点到达它的路由是否更优,如果更优,把它的父亲节点改为当前需要处理的节点并相应地修改代价函数。

(4)如果目标节点已经加入到了openlist中,表明已经找到了最佳路径。如果没有找到目标节点而且openlist为空,表明路径不存在。此时,停止上述查找过程。否则重复(2)、(3)和(4)步。

(5)最终,如果可以找到最佳路由,那么,从目标节点开始,一路沿着父亲节点一直到源节点,即为获取的最佳路由

实施例4:如实施例3所述的方法,代价函数的定义为:

f(n)=g(n)+h(n)

其中,f(n)表示总的代价函数,g(n)表示源节点到当前节点实际经过的代价,h(n)表示当前节点到目标节点的估算代价。

实施例5:如实施例4所述的方法,h(n)用欧式距离表示,g(n)用经过的路径长度表示。

实施例6:最佳路由是指能量消耗最小的路由,如实施例5所述,距离与能量消耗的关系为:

pt=cprdα

其中,pt表示发送信号功率,c为与收发机性能相关的常数,pr表示接收信号功率,α表示路径损耗指数。在接收信号功率相同的情况下,发送功率与距离的α次方成正比。即距离可以用来反映能量消耗的相对大小。

实施例7:所述的竞争链路的检测方法为:

当有两个或者两个以上的通信过程同时经过某一通信链路时,如果它们的传输速率之和大于链路容量,表明此时出现了链路竞争。

实施例8:结合图1,在路由获取的过程中,如果检测到路由中当前节点的加入会造成链路过载,出现竞争链路,那么将此节点设置为临时故障节点,之后重新利用基于a*算法的最佳路由获取算法获取路由,即在实施例3中的第(3)步中,直接将此节点忽略即可。

结合图2,本发明提出的路由协议与传统的aodv协议以及传统的多路径延迟应答策略避免出现竞争链路的包递交率的对比图。其中横坐标为网络负载,纵坐标为包递交率。仿真在随机路点移动模型下进行。可以看出,随着网络负载的增加,包递交率逐渐降低,由于多路径延迟应答策略可以在一定程度上避开竞争严重的链路,所以包递交率整体上大于采用aodv协议的包递交率。而由于多路径延迟应答策略中,最终选择的路由可能存在个别竞争严重的链路而影响数据传输从而影响包递交率,而采用本文所提出的算法可以有效避免这种情况,所以相同网络负载情况下,包递交率更高。

结合图3,本发明提出的路由协议与传统的aodv协议以及传统的多路径延迟应答策略避免出现竞争链路的平均端到端时延的对比图。其中横坐标为网络负载,纵坐标为包递交率。仿真在随机路点移动模型下进行。可以看出,随着网络负载的增加,平均端到端时延逐渐增大。在网络负载较低时,多路径延迟应答策略会因为需要获取多条路由而造成延时较大,而当负载变大,多路径延迟策略可以在一定程度上避开竞争链路,减小了网络拥塞或者重传造成的时延,从而时延更低。而本文所提出的路由协议,采用了基于a*算法的最佳路由获取算法,搜索区域更小,计算量更小,对最佳路由的获取更快,而且对负载较高的节点采用设置临时故障节点的方法,有效地避免了高竞争的链路,解决了多路径延迟应答策略所遇到的问题,从而整体的平均端到端时延更小。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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