您好, 访客   登录/注册

一种基于AODV的改进协议的能量优化方案

来源:用户上传      作者: 方胜吉 李广庆 黄岩

  摘 要 随着AdHoc网络的大范围应用,节点能耗成为了制约其发展的瓶颈。如何长时间地维持移动节点间的通信,已成为了AdHoc网络研究的热点。本文选择AODV协议为目标进行改进;提出了一种基于AODV协议的改进协议—Pro-AODV,并结合该协议与节点密度能耗研究提出了一种新的能耗改进方案,可有效节约节点能耗,延长网络寿命,新的能耗改进方案可使Pro-AODV协议的性能得到进一步提升。
  关键词 AdHoc网络;能耗;节点密度;Pro-AODV协议
  中图分类号TP39 文献标识码A 文章编号 1674-6708(2013)104-0188-02
  0 引言
  AdHoc网络中的节点具有移动性、多跳性及临时性,并且节点本身是由电池供电,这就限制了AdHoc网络的持续时间。当部分网络节点没有能量时将会给网络的整体性能带来严重影响。所以,AdHoc的能量问题广受关注。
  AODV协议是一个建立在DSR和DSDV 基础上的按需路由协议,分别借鉴了DSDV的目的节点序列号及DSR的路由发现的思想。相比之下,AODV协议有着更好的可扩展性,更适合在移动性强、负载高的网络环境中使用。针对AODV协议中移动节点能耗不均衡,结合AdHoc网络节点密度与能耗的关系,本文提出一种基于AODV协议的改进协议能量优化方案。
  1 AODV协议详述
  AODV协议具体通过路由发现和路由维护两个过程实现的。
  1)路由发现过程:AODV协议中,当源节点需要与某个节点通信,并且未包含该点的路由信息时,会向所有相邻节点发送RREQ分组,路由发现过程开始。相邻节点首先确认RREQ分组是否来自自身以及之前是否收到过该分组信息,如果是则直接丢弃,否则会发送该RREQ分组并建立反向路由。
  在RREP分组沿着反向路径传到源节点的过程中,中间节点都会刷新节点信息、生存时间和节点序号,其它反向路由会因超时而自动删除。当源节点收到RREP分组时,路由发现过程结束;
  2) 路由维护过程: AODV协议只维护处于活动状态的路由。AdHoc网络中,当处于通信状态的源节点移动到邻节点通讯范围外,链路就会中断,源节点需重发路由请求,在活动路由上的中间节点一旦发现其到下一跳邻节点的链路中断,便会向其上端活跃节点发送RERR分组。当源节点收到RERR分组后,如果仍要与目的节点通信,则需重新发起路由发现过程。
  3 Pro-AODV协议
  Pro-AODV协议继承了AODV协议的按需特性,既节点只在有数据发送时才建立路由,更新路由表及网络拓扑结构;Pro-AODV协议的路由发现过程会尽量避免电量低的节点,选择电量高的节点参加数据的转发。与只将最小跳数作为衡量标准来选择和维护路由信息的协议不同,Pro-AODV协议同时考虑到了路径整体上的能耗,与AODV协议相比,路由维护过程不光在链路中断的情况下进行,当侦测到路由链路上某个中间节点的剩余电量低于预设的门限值时,也会发起路由维护过程。
  Pro-AODV协议将路由的代价定义为了路径上最大独立节点剩余电量代价与路径跳数的乘积。“式1”为路由代价的表达式 :
  其中L为从源节点到目的节点的某条路由,hc表示转发跳数,i表示中间节点,ci表示i点剩余电量代价。其中ci并非节点剩余电量的倒数,而是用分段函数表示,如“式2”,式中E为节点初始能量值,e(i)为节点剩余电量,Threshold为节点剩余电量的门限值。初始阶段,网络中节点剩余电量很高,Pro-AODV协议与AODV协议的路由选择方式相同,这样做可保持网络中各节点结余能量的均衡使用。
  4 Pro-AODV协议分组格式改进
  为了实现Pro-AODV协议,需对AODV协议中的RREQ、RREP分组进行扩充,扩充的RREQ是在原有结构上增加一个16bit的REQMK字段用于记录源节点到当前节点的最大剩余电池能量代价,扩充的RREP是在原有结构上增加一个16位的REPMK用于记录目的节点到当前节点的最大剩余电池能量代价。
  5 Pro-AODV协议操作过程
  1)RREQ分组的产生:与AODV协议相同,在源节点发起路由发现过程时,会广播一条RREQ分组。区别是,Pro-AODV协议要对RREQ分组中新增的REQMK域进行设置,其初始值为0,表示RREQ分组刚从源节点发出;
  2)RREQ分组的处理与转发:首先,在节点的缓冲区中设置一个变量S,节点收到RREQ分组后,对比S与接收到相同RREQ分组的次数,确定该RREQ分组的处理方法,当S等于1时,Pro-AODV协议与AODV协议对RREQ分组的处理方式相同;当S不等于1,且节点接收到相同RREQ分组次数小于等于S时,此分组将被后续的过程处理;若收到的RREQ分组次数大于S,直接丢弃该RREQ分组。当节点首次接收到RREQ分组时,首先会将RREQ消息中携带的源节点IP地址等信息填入自身缓存中,然后根据分组内REQMK域与跳数域中的信息计算出路由代价,并填入广播ID的缓存中[4]。若之后又收到相同且被处理次数小于S的RREQ分组,就对其所经历路由的代价与广播ID缓存中的路由代价做出对比,然后根据结果做出相应的处理。若RREQ所经历路由的代价小于广播ID缓存中的路由代价,就更新广播ID缓存中的路由代价;反之直接丢弃该RREQ分组。RREQ分组被节点接收后,也会与AODV协议一样建立反向路由
  3)RREP分组的产生:以下两种情况会产生RREP分组:
  (1) 在目的节点收到RREQ分组后产生;与AODV协议对收到的第一个RREQ分组直接进行回复不同,Pro-AODV协议中,目的节点每收到一个RREQ分组都会立即沿着RREQ分组传递的路径向源节点回复一个RREP分组,这就会造成源节点先后可能收到多个RREP分组的情况。此时,源节点会对比先后收到的多个RREP分组,根据分组中携带的信息选出较优的一条路径作为数据传输的路由。与AODV协议不同,目的节点回复的RREP分组中还需将REPMK域的内容置为0,表示该RREP分组是由目标节点发送的;
  (2)中间节点接收RREQ分组后产生:收到RREQ分组后,它首先会判断自身剩余电池能量与门限值Threshold的大小关系。若小于门限值,则直接丢弃该RREQ分组,反之则回复RREP分组。
  4)RREP分组的接收与转发:当节点收到RREP分组后, Pro-AODV协议首先会根据RREP分组中目的节点序列号与路由表条目中相应序列号的大小关系决定是否更新路由表的条目:若两者相等,会通过RREP分组中REPMK内容与转发跳数内容的乘积来计算路由代价,对比后将相应路由表条目更新为较小的。若以上比较都相同,最后会判断RREP分组与路由表条目中路由跳数的大小,将路由表条目中的跳数更新为小的一项。当某一中间节点的正向路由建立或更新好后,会通过反向路由回传RREP分组。
  6 结论
  本文首先介绍了Ad Hoc网络节点密度对网络能耗的影响。然后介绍了一种基于AODV协议的路由改进协议——Pro-AODV协议。新协议改进了AODV协议中的分组结构、路由发现及路由维护过程,缩减移动网络节点的能耗,延长其生存时间,提高网络的寿命。
  参考文献
  [1]曾静.移动Ad hoe多播中的节能技术研究[D].吉林大学,2007,3.
  [2]赵迪.Ad Hoc网络路由协议性能研究与AODV协议的优化[D].西南交通大学,2009.
  [3]张学,陆桑璐,陈贵海,等.无线传感器网络的拓扑控制[J].软件学报,2007(4),18(4):943-954.
  [4]Newman M E J.Random graphs as models of networks//Bornholdt S,Schuster H G eds. Handbook of Graphs and Networks.Berlin: Wiley-VCH,2003::35-68
  [5]路纲,周明天,牛新征,等.无线网络邻近图综述[J]. 软件学报,2008,19(4):888-911.
转载注明来源:https://www.xzbu.com/8/view-4833268.htm