一种基于AOMDV的能量感知节点不相交多路径路由算法的制作方法

文档序号:11932110阅读:323来源:国知局
一种基于AOMDV的能量感知节点不相交多路径路由算法的制作方法与工艺

本发明属于无线传感器网络技术领域,涉及一种基于AOMDV的能量感知节点不相交多路径路由算法。



背景技术:

近些年来,无线通信技术和无线网络的应用越来越广泛。移动自组织通信网络是由无线移动节点构成,利用移动终端的路由转发功能,具有组网速度快,抗毁能力强等特点。在无基础设施的情况下进行通信,从而弥补了无网络通信基础设施可使用的缺陷。

在移动自组织网络中,源节点通过无线传输的方式,将数据包经过相邻节点、中间节点发送到目的节点,一旦中间某个节点出现问题,或者是因为节点的移动,就会造成网络通信失效,从而影响到网络数据传输的效果。在某些特殊的应用场景下,可靠性保证和容错性保证是网络运行的前提。目前,常用的按需路由协议AODV(Ad hoc On-demand Distance Vector Routing)、DSR(Dynamic Source Routing)等,都是单路径路由,频繁的全网泛洪,路由的开销很大,数据报文传送时延较大,不适合实时性的应用,而且无线网络节点移动性高,带宽资源有限,连接中断率高。因而传统的无线路由算法已渐渐不在适用了。

当前提出了很多多路径路由的思想。多路径路由提供了一些机制来分配通信量、平衡网络负载,以及提供容错能力,受到很多人的研究。多路径路由可以分为3种:节点不相交多路径(Node-Disjoint)、链路不相交多路径(Link-Disjoint)和相交多路径。多路径可以提高路由的可靠性和容错性,使用多路径策略改善了通讯性能,避免了单路径由于节点能量消耗殆尽导致的数据传输失败。AOMDV(AdHoc on-Demand Multipath Distance Vector)路由协议是在AODV路由协议基础上设计多径路由协议,该协议经过一次路由发现过程,能够找到多条从一个节点到另一个节点的路径,这些路径是节点不相交或链路不相交。当其中一条出错时,直接选用其他可用路径,而不用重新启动路由发现过程,增加了容错能力和稳定性,然而,它没有考虑链路拥塞、链路丢包率、带宽等其它参数,因此得到的多路径不一定是最好的,其次,AOMDV协议从路由表中选择路径传输数据时,选择的是最早发现的路径,但最早的路径往往不一定是最优的。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于AOMDV的能量感知节点不相交多路径路由算法,该算法针对由于节点失效,节点移动等问题,综合考虑了不相交多路径、链路质量和节点能耗等因素,从而达到降低节点能耗、均衡网络负载,提高能量的利用效率的目的。

为达到上述目的,本发明提供如下技术方案:

一种基于AOMDV的能量感知节点不相交多路径路由算法,在该方法中,根据在路由发现阶段、路由回复阶段,通过泛洪,查找出所有可能的不相交多路径;再根据在数据传输阶段,对路由数据包设计,在路由表中增加节点能量字段用来统计当前节点的能量,根据每条路径节点的能量给每条路径分配权重,筛选链路,获取最优链路;具体包括以下步骤:

S1:在邻居发现阶段,首先网络中每个节点通过广播HELLO包,在规定时间间隔内交互报文发现他们的邻居节点,确定链路,为在邻居发现过程中交换各自的能量信息,丢弃节点能量较低的节点;在邻居发现阶段后,每个节点都有了其邻居节点的信息;

S2:在多路径路由阶段,路由发现阶段,以源节点为起点,首先通过泛洪RREQ包,通过不同的中间节点多次转发到达目的节点,目的节点维持多条到达源节点的路由,发现从源节点到目的节点的所有不相交多路径,存储路径信息在路由表中;

S3:在数据传输阶段,源节点到目的节点的多条路径被存储在路由表中,路径能量等级分有五种,这些能量等级用来分配链路权重,通过筛选出能量较好的路径进行数据通信,在最小权重路径发送数据包。

进一步,在步骤S1中,邻居发现过程中,中间节点的能量水平有限,当有节点能量很低时,但又需要转发路由请求包RREQ时,这种情况是很危险的,如果使用这种节点建立路径会因节点能量过低而导致网络分割的现象出现,所以要避免这类节点参与到多径路由过程中;在本方法中,设置一个能量阈值来丢弃节点能量过低的节点,取能量阈值为Et,当邻居节点自身的剩余能量率,即目前节点能量与初始能量的比值低于这个阈值时,将丢弃该链路,不再继续转发,从而有效地保护了能量较低的节点。

进一步,所述步骤S2具体包括:

S21:当源节点需要发送数据包时,首先检测源节点路由表中是否存在到达目的节点的路径,若存在,将按着已用的路径发送数据,不需要重新路由的过程;

S22:已有路径失效,重新路径发现过程,主要使用路由请求(RREQ)、路由回复(RREP)两种类型的控制信息;源节点在整个网络中泛洪RREQ信息,通过不同的中间节点多次转发到目的节点;中间节点通过Routing_list检测发来的RREQ是否是新的;Routing_list包含泛洪ID,在网络中唯一标识RREQ包;中间节点收到的请求包已在Routing_list中,将认为是重复的RREQ包,将丢弃停止广播;否则将中间将创建新的Routing_list并更新路由表,继续泛洪RREQ信息包;

S23:在整个网络中,只有目的节点可以在收到RREQ数据包时发送RREP数据包,这样以便于得到节点不相交路径;目的节点每收到一个RREQ数据包,响应一个RREP数据包,沿着RREQ数据包的反向路径单播RREP数据包;

S24:在目的节点收到第一个路由请求包时,启动定时器,在一定周期内收到的REEQ包,将进行响应,丢弃跳数太多或者时延太长的路径,留下相对最优的节点不相交多路径。

进一步,所述步骤S3具体包括:

S31:在RREQ数据包字段中加入首跳节点能量和源节点能量;首跳节点能量和源节点能量显示当前节点的能量;

S32:在RREP数据包字段中加入目的节点能量和首跳节点能量;目的节点能量和首跳节点能量显示当前节点的能量;

S33:在完成多路径发现过程后,源节点到目的节点的可靠多路径被存储在路由表中,然后源节点根据节点能量分配路径权重,发送数据包将选择在最小权重路径上;

S34:当前的数据包传输在指定的时间内完成,然后下一个数据包将继续根据当前路径权重,选择权重最小的路径进行传输数据包,避免了一直使用同一路径造成的节点过度消耗死亡,均衡整个网络负载目的;

S35:当权重最小的路径传输数据包未在指定时间内完成,数据重传三次没有收到确认,将重新开始路由发现过程。

本发明的有益效果在于:在本发明提供的算法中,建立源节点到目的节点的多条节点不相交路径,基于路径上节点的能量等级分配权重,节点能量最大、权重最小的路径传输数据包,每次发送数据包都是选择的权重最低的路径。当都失效时,将重新路由发现过程,这样的传输方式将均匀的分布到多个路径上,这样可以确保沿着路径的节点的能量被均匀地利用,还可以节点过度消耗,延长网络的生存周期。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明所述能量高效不相交多路径路由算法的流程图;

图2为本发明所述RREQ包的报文格式;

图3为本发明所述RREP包的报文格式;

图4为本发明所述路由请求RREQ发送流程图;

图5为本发明所述路由回复RREP发送流程图;

图6为本发明所述路径选择示意图;

图7为本发明的说明框图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

图1是本发明提出的能量感知节点不相交多路径路由算法流程图。根据在路由发现阶段、路由回复阶段,通过泛洪,查找出所有可能的不相交多路径;在根据在数据传输阶段,对路由数据包设计,在路由表中增加节点能量字段用来统计当前节点的能量,根据每条路径节点的能量给每条路径分配权重,筛选链路,获取最优链路。路由算法包括以下步骤:

S1:在邻居发现阶段,首先网络中每个节点通过广播HELLO包,在规定时间间隔内交互报文发现他们的邻居节点,确定链路,为在邻居发现过程中交换各自的能量信息,丢弃节点能量较低的节点。在邻居发现阶段后,每个节点都有了其邻居节点的信息。

节点通过邻居发现过程找到相邻节点,相邻节点的剩余能量率与该节点的能量阈值比较,当相邻节点的剩余能量率低于该阈值时,将丢弃该链路,不在继续邻居发现过程,只有当节点的剩余能量率高于阈值的时候,才继续路由建立过程。

S2:在多路径路由阶段,主要考虑形成节点不相交的情况。多路径情况主要是考虑路径的稳定性。节点不相交多路径,就是各条路径中除源节点和目的节点之外没有其他任何共用节点。链路不相交多路径是指各条路径间没有任何共用的链路,但有可能有共用的节点。相交多路径是指各条路径间既有共用的节点,又有共用的链路。当共享节点失效或者共享链路终端,就会导致多条使用共享节点的路径失效,其容错能力就差很多,因此,节点不相交路由容错能力最强。

单路径的稳定性:路径上各条链路失效的概率为P,整条路径失效率为PLF,路径稳定概率为PLS,则路径1失效率为PLF1,稳定概率为PLS1

PLF1=1-(1-P)n

PLS1=1-PLF1=(1-P)n

单一路径时,路径的稳定性与节点个数成指数关系,路径上节点越多,稳定性越差。

多路径的稳定性:当拥有两条路径组成是,每条路径上同样有n个节点,则其路径2失效率为PLF2,稳定概率为PLS2

PLF2=[1-(1-P)n][1-(1-P)n]=1-2(1-P)n+(1-P)2n

PLS2=1-PLF2=2(1-P)n-(1-P)2n

当两条多路径,每条路径有n个节点,m条共同链路,则此时路径3失效率PLF3,稳定概率为PLS3

PLS3={1-[1-(1-P)n-m][1-(1-P)n-m]}(1-P)m=2(1-P)n-(1-P)2n-m

PLF3=1-PLS3=1-2(1-P)n+(1-P)2n-m

综上,多路径类型的公共链路越多,路径失效概率越大,节点不相交的稳定性最高。而且,在无线传输的过程中,网络中有信号干扰的问题,在共享节点处需要竞争信道,相交多路径不仅存在共享节点还有共享链路,相交多路径干扰最大,节点不相交多路径间干扰最小。此外,在节点能量有限的情况下,可以将负载分配到不同的路径上,减少端到端的时延。在节点不相交的情况下还能减少由公共节点导致的排队时延。所以本发明的多路径的策略选择节点不相交多路径。

路由发现阶段,以源节点为起点,首先通过泛洪RREQ包,通过不同的中间节点多次转发到达目的节点,目的节点维持多条到达源节点的路由,发现从源节点到目的节点的所有不相交多路径,存储路径信息在路由表中。

图2和图3分别是基于本发明的路由算法改进的RREQ和RREP数据包报文格式。RREQ ID和RREP ID是个序列号,用它和发起节点的IP就可以唯一标识一个路由请求信息。在RREQ包中目的节点序列号表示到目的节点的最新序列号,首跳表示存在的多路径,存储第一跳信息节点。

图4为本发明的能量感知节点不相交多路径路由请求过程:

1、当节点要向另一节点发送数据时,源节点首先查询路由表,看有没有到目的节点的活跃路由,如果有则按照路由表中权重最小的路由将数据发送给目的节点;如果没有,该节点将广播RREQ信息包寻找目的节点;

2、邻居节点收到RREQ包,先通过Routing_list检测发来的RREQ是否是新的。Routing_list包含泛洪ID,在网络中唯一标识RREQ包。中间节点收到的请求包已在Routing_list中,将认为是重复的RREQ包,将丢弃停止广播。否则将中间将创建新的Routing_list并更新路由表,继续泛洪RREQ信息包。这是为了防止出现同一节点出现在两条或多条路径中;

3、之后节点会判断本节点是否是目的节点,如果不是的话,将继续广播RREQ信息包,如果该节点是目的节点的话,还要进行判断,如果在规定的时间内接收到RREQ包,将产生路由回复RREP信息包,返回的路径将按照RREQ包来的路径单播回去,最后源节点收到RREP响应包,丢弃跳数太多或者时延太长的路径,留下相对最优的节点不相交多路径。

图5为本发明的能量感知节点不相交多路径路由响应过程:

目的节点收到RREQ信息包,创建RREP信息包,并以单播形式沿着RREQ包路径返回RREP包。当源节点收到RREP包后,将会启动定时器,在收到第一个RREP信息包后,T时间内,源节点将收到多个RREP包,将其路径信息添加到路由表中,如果未在T时间内达到源节点的RREP包,将丢弃。这样源节点就建立了到达目的节点的多条路径,多路径路由的过程完成。

S3:在数据传输阶段,源节点到目的节点的多条路径被存储在路由表中,路径能量等级分有五种,这些能量等级用来分配链路权重,通过筛选出能量较好的路径进行数据通信,在最小权重路径发送数据包。

在移动自组织网络中,源节点能够找到达到目的节点的多条路径,这些路径有些能保证数据包的端到端可靠传输,有些由于存在质量太差,有严重的丢包现象。所以本发明通过节点的能量作为衡量路径质量的好坏,来选择作为数据传输的多条路径。

在图2中,RREQ包的报文格式中First Hop node Energy和Source node Energy分别代表当前首跳的节点能量和存储当前源节点能量信息。在图3中,RREP包的报文格式中Destination node Energy和First Hop node Energy分别代表当前的目的节点的能量和存储当前的首跳节点能量信息。

图6为本发明的所述路径选择简单示意图:

节点S与节点D通信,最初通过泛洪RREQ包发现多路径。节点S发现有三条路径到达目的节点(S-A-B-C-E-D),(S-G-H-I-J-D)和(S-K-L-P-M-D)路径。在节点P收到L发来的RREQ包后,继续收到节点O发来的RREQ,由于在Routing_list检测到节点P发来的RREQ包,所以将舍弃节点O发来的RREQ包,形成节点不相交多路径。

然而根据路由表中节点的信息,每条链路的能量等级为(100+70+60+70+80+90=470),(100+80+70+70+80+90=490)和(100+70+70+50+60+90=440)。源节点分别分配权重2,1和3分别代表这些路径的能量等级。基于节点能量也就是路径上节点平均能量分配路径权重。

节点S将选择最小权重路径(S-G-H-I-J-D)发送数据包。在每次发送数据包之前计算当前路径的能量等级,再分配路径权重,节点S每次发送数据包都是选择的权重最低的路径,当路径都失效时,将重新路由发现过程。在节点能量有限的情况下,这样可以确保多路径上节点的能量被均匀地利用,防止节点过度消耗,延长网络的生存周期。图7为本发明的说明框图。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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