石 闪,施伟斌,朱 蓓
(上海理工大学 光电信息与计算机工程学院,上海 200093)
一种针对无线传感器网络LEACH协议的改进算法
石 闪,施伟斌,朱 蓓
(上海理工大学 光电信息与计算机工程学院,上海 200093)
针对传统LEACH协议在簇首选取的随意性,以及簇首节点将数据以单跳形式传输给汇聚节点造成能耗大的缺点。文中提出了改进协议,该算法在对簇头节点的选择时会将节点的剩余能量考虑进去,会在选择剩余能量最多,同时以其到汇聚节点距离小的节点作为下一跳来传输数据,以实现多个簇之间的路由数据传输。通过Matlab仿真可以知道,改进后的协议使整个传感器网络的能量消耗变得更加均衡,同时使整个网络的生存时间得到了15%的延长。
无线传感器网络;路由协议;LEACH;阈值
无线传感器网络是由众多被放置在无人监管区的微型传感器组成,这些微型传感器的节点是通过无线通信方式组成无线自组织网络[1]。每个传感器节点由传感器单元、计算单元、通信单元和存储单元构成。其可以实时地监测和感知环境,通过收集、处理,然后将控制信息发送给用户。由于传感器网络具有成本较低、能耗不高的特点,被广泛应用于军事和商业领域。
无线传感器网络路由协议是当今主要的研究对象。无线传感网络局限性就在于电池供电,当电池电量消耗完全后,由于传感器节点分布的环境状况一般较恶劣,此时电池的能量难以得到补充。因此,现在分簇路由协议研究的主要方向是如何降低能量的消耗。LEACH协议是一种低功耗的自适应分簇路由协议,它将整个无线传感器网络分为若干领域,簇就是这样的一个领域。传感器网络中的普通节点以及簇头节点组成了这样的一个簇,这两类节点分工也是不同,普通节点则是将自己监测到数据发送给簇头节点,簇头节点则是对它收到的这些信息进行融合处理然后再以单跳的方式传输给汇聚节点[2]。
图1 分簇路由协议的拓扑结构
针对无线传感器的研究已经提出了多种路由协议,LEACH是最先被提出的,后续还有LEACH-C,Teen和Heed等新的路由协议被提出来[3]。
MIT的Heinzelman等人[4]提出了LEACH协议。该协议是通过簇头轮换的机制来选举簇头的。LEACH协议定义“轮”这样的一个概念,簇的形成以及簇内数据稳定传输这两个阶段组成了这样的一个轮,在簇形成阶段,各节点随机产生的数字决定的决定其能否成为簇首,这个随机数是介于0和1之间,如果节点产生这个随机数的值比T(n)小,这个节点成为簇首节点。T(n)的运算公式如下[5]
(1)
式(1)中,p是节点期望成为簇首节点的概率;r表示当前的轮数,此时G表示在之前(rmod 1/p)轮中没有成为簇首的普通节点的集合。
当簇内的普通节点被选举为簇首节点时,它就会以广播的形式把消息发送给传感器网络中的其它节点,这些节点会对其收到信号的强弱进行判断,然后选择收到信号最强发送反馈消息也就是期望加入,然后簇首收到消息用发送允许加入这样的消息给节点[6]。簇建立之后簇首会给簇内各个普通节点发送时间表。簇内的普通的节点是按时间表给簇头节点发送数据,在其它普通节点向簇头节点发送数据式,剩下的普通节点会进入休眠状态,这样则可以是整个簇内的能量消耗得到降低,但簇首节点需要持续地工作,不断接收来自普通节点发送的数据并进行融合[7-10]。
图2 LEACH协议算法流程图
LEACH存在如下缺点:(1)簇头的随机选择会导致簇头分布不均匀,能耗不平衡和网络稳定时间短;(2)簇头的数量是不稳定的,因此很难达到理论上的最佳值;(3)数据的簇头节点和汇聚节点之间传输使用的是单跳传输模式,使靠近汇聚节点周围的节点既要完成数据的融合又要完成在各个簇首之间的数据转移,能量消耗较大。
在传感器网络搭建阶段,汇聚节点会使用一定的功率向整个网络广播信号,在传感器网络中的节点收到汇聚节点发送的信号,其会根据收到信号的强度就可以估算他到汇聚节点的距离[11-15]。整个网络将被划分为一系列不同半径的圆形区域,远离汇聚节点的节点具有更大的半径,改进的协议中,会将节点的剩余能量考虑进去以提高阈值方程的方程,改进后的阈值公式如式(2)所示
(2)
式(2)较好地利用了节点剩余能量,提高了那些剩余能量比较高的节点成为簇首概率。
改进阈值公式成簇过程如下:候选簇首是由各节点随机产生的数字决定的。在传感器网络中,每个节点都会随机产生一个数字,把该数字和预先设定好的阈值作比较,当数字比阈值小的时候,对应的节点集合就是候选簇首集合。这个集合里面的每个节点都是候选簇头节点。然后根据之前该算法提出节点收到汇聚节点发送的信号强度就可以测出这些候选簇头节点与汇聚节点的距离,由式(3)可以确定竞争半径,当候选簇首节点与汇聚节点的距离较近时,就会使Rc变得更小。这样簇首可以将更多剩下的能量用来转发其它簇首发来的消息,这样就更好地使各个簇首的能耗变得更加均衡
(3)
簇首节点的选取取决于本节点与接受到竞争信号节点做比较来确定的,在竞争半径内,如果没有收到竞争信号,则该节点直接成为簇首;如果接收到竞争信息,则与发出竞争信息的节点做对比,如果一个节点剩余的能量更多的话,这个节点就成为簇首,另外的将变为普通节点。如果两个节点能量也是一样的,就比较它们到汇聚节点的距离,距离小的成为簇首,剩下变为普通节点,接下来簇首节点向整个网络发送其成为簇首的消息。
为克服传统的LEACH协议的不足,接下来该算法提出了距离阈值dist。如果想达到直接对簇头节点和汇聚节点的通信,那么两者之间的距离小于阈值dist。每个节点会将包括自己的剩余能量以及距离汇聚节点距离的消息以广播的形式发送给汇聚节点。簇头节点ni接受到来自簇头节点nj发送的消息,就能够将彼此之间的距离算出来。
建立了一个簇头多跳路由表,如式(4)
ni.Route={nj|dist(nj,sink) (4) 式(4)中,在路由选择设置里节点ni是靠近汇聚节点且剩余能量最大的。传感器网络中的能量主要消耗在数据的融合以及数据多跳传输。对于前一部分消耗的能量,如果在簇里面的普通节点发送L字节的数据给簇头节点,此时簇头节点能量的消耗如式(5) Einternal=LEelec+NLEDA (5) 在式(5)中,Eelec代表接受一个字节数据所消耗的能量,Eda代表融合一个字节数据所消耗的能量,N代表簇里面的节点数目。对于下一部分的能量消耗,如果簇头节点ni选择簇头节点nj作为下一跳的时候。簇头节点ni需要传输L字节的数据给汇聚节点。此时节点nj就是会汇聚节点 Eni-external=LEelec+Lεfsdist(ni,nj) (6) Enj-external=2LEelec+Lεfsdist(nj,sink) (7) 在式(6)和式(7)中,εfs代表放大信号的倍数dist(ni,nj)代表两个节点之间的距离;dist(nj,sink)代表簇头节点和汇聚节点的距离;2LEelec能量的消耗代表从簇头节点接受LByte的数据以及将对应的数据传输给汇聚节点。 表1 仿真参数 在Matlab中的仿真结果如图3所示。 图3 节点死亡率与实间的关系图 由图3可知,该算法的协议与LEACH相比,在生存时间上有了一定的提高。 通过对LEACH的研究,提出了非均匀、多跳路由、动态的无线传感器网络协议,它大幅提高了无线传感器网络的生命周期。本文提出的簇路由协议考虑了簇头的能量消耗和多跳路由的能耗。具有良好的节能效果。然而,无线传感器网络的如能量阈值和距离阈值通常依靠经验设置初始参数,它需要更加精确的数值。 [1] 秦智超.无线传感器网络中节能关键技术的研究[D].北京:北京邮电大学,2013. [2] 白凤娥,李环.能量均衡的无线传感器网络非均匀分簇算法的研究[J].计算机与数字工程,2012,40(1):28-31. [3] Akkaya K,Younis M.A survey on routing protocols for wireless sensor networks[J].Ad Hoc Network,2005,3(3):325-349. [4] 朱蓓,施伟斌.基于LEACH的非均匀分簇改进协议[J].数据通信,2015(4):38-42. [5] 洪薇,胡健,龚代圣,等.一种基于层次的无线传感器网络非均匀分簇路由协议[J].计算机与现代化,2012,12(1):80-84. [6] 李成法,陈贵海.一种基于非均匀分簇的无线传感器网络路由协议[J].计算机学报,2007,30(1):27-36. [7] 张倩.能量有效的无线传感器网络LEACH分簇路由协议的改进与仿真[D].武汉:华中师范大学,2007. [8] 缪强,郑扣根.无线传感器网络路由协议设计研究[J].计算机应用研究,2004,21(8):33-35. [9] 任丰原,黄海宁,林闯.无线传感器网络[J].软件学报,2003,14(7):1282-1291. [10] 陈晓娟,王卓,吴洁.一种基于LEACH的改进WSN路由算法[J].传感技术学报,2013(1):116-121. [11] 李成岳,申铉京,陈海鹏,等.无线传感器网络中LEACH路由算法的研究与改进[J].传感技术学报,2010(8):1163-1167. [12] 张华忠,刘志杰,于鹏程.WSN中负载平衡的LEACH通信协议研究[J].计算机工程与设计,2007(18):4403-4406. [13] 胡峰松,肖球.一种基于LEACH的能耗均衡多跳路由算法[J].小型微型计算机系统,2014(1):70-73. [14] 马玉刚,周群彪.基于LEACH的无线传感器网络节能算法[J].计算机应用,2009(6):1514-1516. [15] 卢先领,王莹莹,王洪斌,等.无线传感器网络能量均衡的非均匀分簇算法[J].计算机科学,2013(5):78-81. An Improved Algorithm for LEACH Protocol in Wireless Sensor Networks SHI Shan,SHI Weibin,ZHU Bei (School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093, China) The routing protocols of WSNs are one of the most hottest issues in related researchs fields .In view of the randomness of the traditional LEACH protocol in cluster head selection, and the disadvantages of the cluster head nodes delivering some data to the sink node by single hop, the article puts up with an improved protocol ,this algorithm will think remaining energy over in the select of cluster head.The article will choose the node .Its capacity of remaining energy is the biggest and the distance between it and sink mode is not long.This algorithm chooses it as next jump to realize data transferring between the clusters. Finally,through Matlab simulation ,we know that improved algorithm can make the consumpation of the whole wireless sensor network become more equalized,meanwhile,the lifetime of the network has been extended in 15%. WSNs; routing protocol; LEACH; threshold 2016- 05- 18 石闪(1990-),男,硕士研究生。研究方向:无线传感器网络。施伟斌(1967-),男,博士研究生。研究方向:无线传感器网络。朱蓓(1991-),女,硕士研究生。研究方向:无线传感器网络。 10.16180/j.cnki.issn1007-7820.2017.04.024 TN926 A 1007-7820(2017)04-095-044 仿真结果
5 结束语