林 涛,安玳宁,李 虹,丁竑莹
(河北工业大学 控制科学与工程学院,天津 300130)
无线传感器网络WSN由众多具有感知、处理和通信能力的传感器节点组成,这些节点通过无线通讯方式形成多跳自组织网络,实现与现实世界的远程交互,在军事侦察、环境监测、生物医疗等领域应用广泛[1]。由于无线传感器网络节点数量众多、能量有限且通常补给困难,所以在保证通信功能的前提下尽量降低能耗,延长网络寿命,具有十分重要的意义。
在无线传感器网络中,节点的能耗大部分出现在无线通信过程,所以路由协议的优化成为研究热点。根据路由建立时机与数据发送的关系可以把无线传感器网络的路由协议分为主动型和按需型。其中主动型路由建立和维护的开销大,而按需型节点不用维护尚不需要路由,产生的控制开销少,应用更广泛。AODV协议是典型的按需型路由协议,但传统的AODV仍存在能量消耗大、节点负载不均衡等不足,针对这些不足目前已提出了多种改进策略。文献[2]为了解决节点过早死亡造成的能量空洞问题,提出一种跨层功率自适应的节能AODV路由协议;文献[3]为了优化和平衡各节点的能量消耗引进了被动更新路由和动态调整发射功率2种机制;文献[4]提出一种面向WSN的多径QOS保障路由协议,综合考虑跳数、距离和能量来进行路由选择。
本文针对AODV在路由建立过程中采用洪泛机制造成通信开销大的问题,引入基于路由级别的优化策略,减少参与路由建立的节点数;在路由选择时,充分考虑节点剩余能量,提出基于能量最优、负载均衡的路由选择函数,避开能量较低的节点,最后进行了优化策略的实验验证及分析。
AODV路由协议[5]是应用最广泛的按需路由协议之一。当源节点需要给网络中目的节点传送信息时,若不存在到达目的节点的路由,则开启一个路由建立过程。AODV协议的路由建立过程如图1所示。首先源节点以广播的形式发出路由请求消息(RREQ),邻近节点收到RREQ,若自己即为目的节点或者有到达目的节点的路由,则向发起节点发送路由应答消息(RREP),建立前向路由,否则继续向它周围的节点转发该路由请求RREQ。源节点到目的节点的路径有很多条,但AODV使用单路径、最小跳数路由进行数据传输,所以路由选择源—B—E—目的。数据传输过程中,各节点通过定期广播hello消息[6]来动态维护该路由,一旦发现某个链路断开,节点就发送路由错误消息(RERR)通知那些因链路断开而不可达的节点删除相应的记录或者对已存在的路由进行修复,以保证数据转发的正确性。
图1 AODV协议路由建立Fig.1 Establishment of AODV routing protocol
虽然AODV协议性能较好、应用广泛,但仍然存在一些不足:①在路由建立过程中,AODV采用洪泛机制,如果应用到传感器节点众多的WSN中会造成很大的网络开销并且RREQ报文冲突几率也很高;②AODV协议基于单路径、最小跳数来选择路由,而不是路由能耗最优,会导致能量浪费、节点负载不均衡;③路由维护时定期广播hello消息,只有发现链路断开时才会触发路由更新,没有考虑节点剩余能量,部分节点被过度使用,过早死亡。
无线传感器网络包括一个与上位机相连的基站节点和若干个传感器节点,基站节点为各传感器节点分配级别。每个传感器节点都保存了其周围节点(上级、同级、下级节点)的信息(级别和地址),级别用r表示(认为基站节点r=0)。每个级别中各传感器节点占用的地址空间是常数[7],用Snode(r)表示。假设基站节点的地址为A,则级别r=1的节点地址为
由此导出任意节点的地址An与级别r之间的函数关系式:
由于RREQ消息中包含源节点和目的节点的地址,故利用式(3)可计算出目的节点所处的级别值raim,再与该中间节点的级别值rmid相比较,若raim<rmid,则该中间节点不需要参与路由建立过程,这样就减少了转发RREQ信息的通信能耗。
传统的AODV协议仅以跳数最小作为路由选择的依据,没有考虑路径的总能量消耗和节点的剩余能量。本文提出一种基于能量最优、负载均衡的函数来选择路由,一方面,选择能耗总和较小的路径来降低路由能耗;另一方面,避开剩余能量过低的节点,平衡各节点的能量消耗。该路由选择函数为
式中:C 为整条路由的能耗总和;cnode(i)为节点 i到其下一跳节点的路由能耗;hops为整条路由的跳数总和;λ为选取节点i的权值,由平均能量与节点剩余能量的比值决定。在路由选择时将选取能耗总和C最小的路径作为最佳路径。
相比传统的AODV协议路由维护时以定期广播hello消息来发现链路断开,进而触发路由更新,本文提出一种基于能量阈值的路由更新触发机制。随着数据传输过程中节点能量的消耗,当节点的剩余能量与路由建立时该节点的剩余能量的比值小于阈值T(如设定T=0.5),则触发路由更新。从而使路由更新随节点剩余能量来调节,进一步平衡网络节点的能量消耗,延长网络寿命。
传感器节点的硬件采用MSP430F5438作为主控芯片,由Silicon Labs公司的Si4432射频模块作为通信模块。实验的模拟结构如图1所示,将模拟的基站节点通过串口与上位机相连,监测无线传感器网络状态。实验中使节点E向源节点发送数据,将节点H通过串口与计算机相连,监测节点H的状态。由节点H的串口输出结果可知,节点H收到RREQ消息之后,通过路由级别的计算、比较,没有继续转发RREQ消息。但相同结构下在传统AODV协议中,节点H会继续向周围节点转发RREQ消息。因此,优化后的协议避免了不必要的节点参与到路由建立过程,降低了能耗,且对RREQ报文冲突现象也有一定改善作用。
针对基于能量的改进实验,利用Matlab中Truetime工具箱构建无线传感器网络仿真平台。TrueTime是以Matlab/Simulink和Visual C++为平台的仿真工具包[8],提供了大量通信模块,可以模拟多种网络参数。仿真环境主要网络参数如表1所示。
表1 主要网络参数表Tab.1 Main network parameter table
传统AODV协议与改进AODV协议的网络寿命随暂停时间的变化如图2所示,暂停时间越长改进的AODV协议在网络寿命方面的优势越明显。当暂停时间为500 s时,改进的AODV协议网络寿命比传统的AODV延长了36%,此时的改进性能最好。因为暂停时间较长时,若采用传统的AODV协议建立的路由在此时间内基本不会变化,导致担负路由任务的节点能量过度消耗。但改进的AODV协议采用基于剩余能量的路由选择和维护机制,能够有效地平均各节点的能量消耗,延长网络寿命。而暂停时间较少时,节点移动相对频繁,路由重建次数相对较多,改进的AODV协议优势减弱。
图2 网络寿命随暂停时间的变化Fig.2 Change of network life with different pause time
表2是暂停时间500 s时传统AODV协议与改进AODV协议的性能对比。由表中数据可以看出各项性能都有一定程度的改善。改进的AODV协议采用基于剩余能量的路由选择和维护机制,避开了剩余能量较低的节点,平衡了各节点的能量消耗,因此改进的AODV协议路由能量剩余方差比传统的AODV低。另外,负载均衡策略保证了建立的每一条路由都有足够的能量,使得网络平均延时减少,传递成功率增大。
表2 暂停时间为500 s时性能Tab.2 Performance in network when pause time is 500s
本文在传统的AODV路由协议基础上,考虑了转发RREQ消息时节点的路由级别以及路由选择时节点的剩余能量。当中间节点收到RREQ消息时,使不在源节点及目的节点之间的节点不参与路由建立,不向其周围节点转发路由请求消息,以此减少了无线传感器网络的能耗。在选择路由节点时,提出了一种基于能量最优、负载均衡的路由选择函数,避开剩余能量较低的节点。实验结果表明改进的AODV路由协议有效均衡了各节点的能量消耗,延长了网络寿命,并在一定程度上提高了网络性能质量。
[1]Akyildiz I F,Su W L,Sankarasubramaniam,et al.A survey on sensornetworks[J].IEEE CommunicationsMagazine,2002,40(8):102-114.
[2]汪华斌,罗中良.基于功率控制的AODV路由协议研究[J].中山大学学报:自然科学版,2011,50(5):59-63.
[3]李智明,陈佳品,李振波.基于能耗优化的AODV路由协议[J].传感器与微系统,2012,31(7):42-44.
[4]卓力,张菁,赵霙頔,等.一种面向无线视频传感器网络的多径QoS 保障路由协议[J].电子学报,2013(6):1122-1129.
[5]Perkins C,Royer E,Das S.Ad Hoc On-Demand Distance Vector(AODV)Routing[S].RFC 3561,2003.
[6]胡钢,钱文玲,陈世志,等.基于无Hello消息的无线传感器网络路由技术的改进[J].传感技术学报,2008,21(1):109-112.
[7]金仁成,孟丽莎,韦宁,等.能量高效的无线传感器网络AODV路由协议研究[J].中国电子科学研究院学报,2011,6(6):571-575.
[8]MARTIN O,DAN H,ANTON C.Truetime 1.5 Reference Manual[R].Sweden:Department of Automatic Control,Lund University,2007:1-107.