本发明属于无线通信网络领域,具体的讲是一种基于能量感知的aodv动态延迟选路方法。
技术背景
ad-hoc无线网络中的节点大部分依靠电量有限的电池来维持运营,所以如何更充分的利用电池能量以尽可能的增大无线网络的生存在ad-hoc网络的生存周期,是目前面临的关键问题。传统ad-hoc路由协议中,包括经典的aodv路由协议,都是以最小跳数为原则进行选路,未对节点能量做出考虑,就单个网络节点而言,可能在选路过程中会被多次选中,导致一些节点频繁被使用,节点能量消耗较其他节点更快,导致包含该节点的路径失效,大大缩短了网络的整体寿命。可见,最小跳数的方案在能量优化方面存在较大的缺陷。本发明则重点考虑节点剩余能量和路径跳数这两个因子,在做最优路径选取时定义一个能量评估函数,中间节点转发分组时,会根据节点剩余能量进行一个延迟,增加剩余能量较高的节点的路由参与度,同时目的节点设置一个延迟记录时间t,记录延迟超时前所有请求分组缓存,并采用多径路由,根据能量评估函数选出最佳的三条路径,其中一条作为主路由,另外两条作为替代路由。根据相关研究表明,选取三条路由,可达到最佳性能。采用多径路由可以大大减少重启路由发现过程的次数,从而有效降低额外的路由开销,防止节点能量的过度浪费。实验结果表明,改进方法在一定程度上降低了了节点死亡个数,降低了网络的整体能耗,延长了网络生存时间,分组投底滤和网络吞吐率方面相对aodv协议也有了较大的改善。
技术实现要素:
本发明的目的是提供一种在分析现有的ad-hoc网络aodv路由协议在能量优化方面不足的基础上,提出一种基于能量感知的aodv动态延迟选路方法。
为实现上述目的,本发明所采用的步骤是:
第一步:在进行路径选取时,考虑节点的剩余能量和路径跳数两个因子,定义一个能量评估函数fasmt,代替原adov路由协议按照跳数的选路标准,作为路由选择的标准;路径跳数越小,节点剩余能量也多,则能量评估函数越小,越优先考虑此路径。
第二步:设置节点工作能量阈值eth为节点初始能量的20%,作为路由请求转发的限制条件;同时新增rreq分组节点剩余能量字段,用以保存路径上的节点剩余能量。
节点收到rreq分组后进行判断,若不是目的节点,需要转发,此时将节点剩余能量ermn和阈值eth比较,若ermn>eth,则立即转发;若ermn<eth,则丢弃。
第三步:中间节点收到rreq分组之后,在节点转发该分组之前,根据路径上各节点的信息更新路径上的剩余能量,给转发分组设置一个时延tdly,节点能量剩余越多,时延越短,即剩余能量多的节点有限参与到路径选择中,减少了剩余能量少的节点的路由参与率;
第四步:目的节点不再立即对接收的第一个来自源节点的rreq分组做出响应,设置一个延迟记录时间t,收集延迟超时前到达的所有rreq请求分组缓存,目的节点收集并迅速将路径上的评价信息并通过rrep分组反馈给源节点,源节点收到rrep分组后,选择满足能量评估函数的三条路由,其中一条作为主要路由,两条作为替代路由。根据相关研究表明,选取三条路由,可达到最佳性能。采用多径路由可以大大减少重启路由发现过程的次数,从而有效降低额外的路由开销,防止节点能量的过度浪费。
第一步中,能量评估函数:
能量评估函数fasmt定义为路由选择的标准,代替原adov路由协议按照跳数的选路标准,式中:n为所选路径的跳数;
第三步中时延的定义为:
tdly定义为根据当前节点能量对转发分组设定的时延,本方法中采用凹函数定义rreq分组时延,其中einit为节点初始能量值,ermn为节点当前能量值,d为最大延迟值。也就意味着节点的剩余能量越高,其延迟就越短,反之延迟就越大。研究显示凹函数对延迟处理具有非常灵敏的变化。
本发明在做最优路径选取时定义一个能量评估函数,中间节点转发分组时,会根据节点剩余能量进行一个延迟,增加剩余能量较高的节点的路由参与度,同时目的节点延迟记录所有请求分组缓存,同时采用多径路由,根据能量评估函数选出三条最佳路径。实验结果表明,改进方法在一定程度上降低了了节点死亡个数,降低了网络的整体能耗,延长了网络生存时间,分组投底滤和网络吞吐率方面相对aodv协议也有了较大的改善。
附图说明
图1为本发明路由建立的过程。
图2为不同仿真时间下存活节点数对比。
图3为不同仿真时间下的总能量消耗图。
图4为不同移动速率下的网络生存时间。
图5为不同移动速率下的分组投递率。
具体实施方式
本发明的具体实施即路由的建立的过程,结合附图具体说明:
第一步:在进行路径选取时,考虑节点的剩余能量和路径跳数两个因子,定义一个能量评估函数fasmt,代替原adov路由协议按照跳数的选路标准,作为路由选择的标准;路径跳数越小,节点剩余能量也多,则能量评估函数越小,越优先考虑此路径。
第二步:设置节点工作能量阈值eth为节点初始能量的20%,作为路由请求转发的限制条件;同时新增rreq分组节点剩余能量字段,用以保存路径上的节点剩余能量。在rreq分组中新增了当前所经过节点的剩余能量值信息,每个节点每次转发rreq分组时,都会将以上信息添加到rreq分组中。改进后的rreq分组格式如表1:
表1改进后的rreq分组格式
节点收到rreq分组后进行判断,若不是目的节点,需要转发,此时将节点剩余能量ermn和阈值eth比较,若ermn>eth,则立即转发;若ermn<eth,则丢弃。
第三步:中间节点收到rreq分组之后,在节点转发该分组之前,根据路径上各节点的信息更新路径上的剩余能量,给转发分组设置一个时延tdly,节点能量剩余越多,时延越短,即剩余能量多的节点有限参与到路径选择中,减少了剩余能量少的节点的路由参与率;
第四步:目的节点不再立即对接收的第一个来自源节点的rreq分组做出响应,而是开始延迟记录,设置一个延迟记录时间t,收集延迟超时前到达的所有rreq请求分组缓存,目的节点收集并迅速将路径上的评价信息并通过rrep分组反馈给源节点,源节点收到rrep分组后,选择满足能量评估函数的三条路由,其中一条作为主要路由,两条作为替代路由。根据相关研究表明,选取三条路由,可达到最佳性能。采用多径路由可以大大减少重启路由发现过程的次数,从而有效降低额外的路由开销,防止节点能量的过度浪费。
第一步中,能量评估函数:
能量评估函数fasmt定义为路由选择的标准,代替原adov路由协议按照跳数的选路标准,式中:n为所选路径的跳数;
第三步中时延的定义为:
tdly定义为根据当前节点能量对转发分组设定的时延,本方法中采用凹函数定义rreq分组时延,其中einit为节点初始能量值,ermn为节点当前能量值,d为最大延迟值。也就意味着节点的剩余能量越高,其延迟就越短,反之延迟就越大。研究显示凹函数对延迟处理具有非常灵敏的变化。考虑仿真中传统aodv协议控制分组端到端平均传输时间为30ms,延迟时间在控制分组端到端传输时间左右就能达到延迟的效果,因此,定义最大延迟时间d为30ms。
第四步中目的节点对于rreq分组的延迟记录时间t,此处设定为100ms,经仿真验证,延时记录时间设定为100ms时,可以在寻得最优路径的同时保分组证端到端时延的最优化。
表2仿真参数:
图1为本方法路由的具体建立过程。
图2为不同仿真时间下存活节点数对比,可见,经典aodv协议大概在260s左右出现一地个失效节点,本方法350s左右才出现第一个失效节点,且600s仿真结束后,经典aodv算法剩余9个存活节点,本方法剩余26个,在350s-600s之间,本方法存活节点数比经典aodv一直多约15%-20%。
图3为不同仿真时间下的总能量消耗图,由于本方法在选取路由时尽量选取一些能量较高的节点参与,避免了低能量节点的能过度消耗,使同一时刻参与转发的节点数相对较少,即总能量消耗相对经典aodv较小些。
图4为不同移动速率下的网络生存时间,由于本方法采用了路由请求转发和能量阈值方法,有效避免了低能量节点的路由参与机会,降低了路由链路断裂的机会,一定程度上延长了网络生存时间。
图5不同移动速率下的分组投递率,由于本方法优先选取高能量节点参与路由,降低了低能量节点的路由参与率,所以有效降低了链路断裂的机率,进而提高了分组投递率。