无线传感器网络路由协议LEACH的研究与改进
2014-08-23张雅琼
张雅琼,张 慧
(榆林学院信息工程学院,陕西 榆林 719000)
0 引言
无线传感器网络(Wireless Sensor Network,WSN)作为物联网的感知层,主要是实现物联网的底层功能即连接物到网络。无线传感器网络由部署在监测区域内大量的微型传感器节点组成,传感器节点将监测到的数据转换成电信号并通过无线多跳的通信方式发送给汇聚节点[1]。传感器节点监测到的数据如何沿着其他节点传输,如何到达汇聚节点即是路由协议要解决的问题。无线传感器网络中节点硬件资源有限、能量有限且无法更换电池使得在设计路由协议时必须遵循能量优先的原则,尽量节能以延长节点的使用寿命[2]。
1LEACH协议
LEACH协议是WSN中经典的分簇层次型路由协议,与传统协议相比LEACH能较好地降低能量消耗,延长网络的生存时间。LEACH协议中节点自组织成簇,簇中某个节点担任簇头[3]。不同簇之间使用CDMA机制互不干扰,所有簇内成员使用TDMA机制在分配给自己的时隙内将数据发送到簇头,簇头接收所有簇成员发送的数据,然后对各成员的数据进行融合,之后各个簇头根据CSMA机制将数据发送给远方的汇聚节点。所以簇头工作量大,比簇成员能耗大[4]。
LEACH协议是分轮(round)运行的,每轮分为簇的建立和数据传输2个阶段。簇的建立阶段主要是选举簇头并形成各个簇,数据传输阶段是进行数据传输,包括簇成员发送数据到簇头以及簇头发送数据到汇聚节点。为了使能量消耗小,通常建立阶段较短,传输数据阶段持续时间要比建立阶段的时间长。
成簇过程为:传感器网络中所有节点产生一个随机数,随机数的范围在0~1之间,如果这个数小于节点预设的阈值T(n),则该节点成为簇头节点,同时该节点广播自己成为簇头的信息。其他节点根据收到的簇头信息能量大小选择能量较高(距离较近)的簇头加入[5]。阈值T(n)的表达式如式(1)所示。
其中,p是期望的簇头占所有节点的百分比,即每个节点成为簇头的概率,取值范围在4% ~5%之间,不同应用场合略有不同;r是当前运行的轮数;G是一个集合,包括在最近1/p轮中还未当选过簇头的节点。
数据传输阶段,簇成员将数据发送给簇头,簇头进行数据融合然后以单跳的方式发送给汇聚节点[6]。
LEACH协议存在很多优点的同时,也存在一些缺点,如LEACH协议选择簇头时并不考虑节点的剩余能量,这样可能导致能量较少的节点担任簇头,使得能量快速耗尽,缩短网络生存期。而且簇头产生时并未考虑簇头的位置,因此簇头的分布不一定是合理的,可能导致有的区域簇头偏多有的区域簇头过少,簇内成员的传输距离延长导致能耗变大。
2 能量模型
网络模拟软件NS2(Network Simulation)中已定义好了无线通信系统中的能耗模型,其模型如图1所示。模型包含了发送数据和接收数据的消耗。
图1 无线通信能耗模型
发送数据的能耗包括射频模块和信号放大器的能耗,接收节点的能耗仅包括接收电路的能耗。ξfriss-amp是信号放大器的倍数。信号放大器的能耗根据收发双方之间的距离可以采用自由空间衰落模型和多路径衰落模型。自由空间衰落模型中,路径损耗指数为2,即D2能量损耗;多路径衰落模型中,路径损耗指数为4,即 D4能量损耗[8]。ERF表示发送或接收1比特数据时发送电路或接收电路的能耗。
假设信道是对称的,即节点1向节点2发送数据的能耗与节点2向节点1发送数据的能耗完全相同。根据图1所示的模型,发送M比特数据所消耗的能量如式(2)所示[8]。
ξfriss-amp和 ξtwo-ray-amp与所使用的传输放大模型有关,Dc是一个距离常量,可用式(3)表示。
其中:Ls表示系统能耗,与传输数据量无关;hs是接收节点天线的长度;ht是发射节点天线的长度;λ为载波的波长。
传输距离为D,接收M比特数据接收方消耗的能量如式(4)所示[9]。
3LEACH协议的改进
针对LEACH协议采用完全随机的算法产生簇头这一缺陷来做算法的改进。
首先,为均衡网络中各个节点的能量消耗,可以在选择簇头时,加入节点剩余能量的因素,即使得协议运行时尽量选择剩余能量较高的节点为簇头,避免一些节点因为过多担任簇头而导致早亡,从而缩短网络生命周期。用E’表示节点的剩余能量,E0表示节点的初始能量,簇头选择公式中增加E’和E0,以便达到增大当前剩余能量较高的节点被选为簇头的概率,来均衡能耗,提高网络的健壮性。
另外,簇头选择公式中加入距离因素。因为簇头向汇聚节点传输的数据量较簇成员大,而传输距离越大能耗越高,故簇头离汇聚节点较近可以节省能耗。用Dmax表示无线传感器网络中最远的节点距汇聚节点的距离,用Dmin表示最近节点距汇聚节点的距离,D表示本节点距汇聚节点的距离。增加距汇聚节点近的节点成为簇头的概率。
改进后的LEACH-i协议的簇头选择公式如式(5)所示。
4 仿真结果与分析
NS2是由美国加利福尼亚大学Berkeley分校等4家教育和研究机构共同开发的网络仿真平台。它是一种离散事件模拟器,有一个Scheduler类,负责记录当前的时间、调度队列中的事件并提供函数产生新的事件,其提供了多种协议的模拟,并提供了大量的脚本。NS还有丰富的构件库,强大的数据采集功能。本文以NS2作为仿真平台。目前LEACH协议仿真代码mit.tar.gz可以从网上获得,脚本文件中对网络的一些设置参数如表1所示,假设所有的节点都静止不动。
表1 仿真参数
仿真对LEACH协议源代码进行改进以实现LEACH-i协议,设置相同的脚本进行仿真,记录仿真结果并使用Origin绘图进行对比分析。
仿真结果如图2所示,可以看到在5s的时候LEACH协议的网络开始出现节点死亡,而使用LEACH-i协议的网络在10s后才开始出现节点死亡的情况,此时LEACH协议网络中节点死亡数量已达20%。在仿真到20s时,使用LEACH协议的网络中节点已几乎全部死亡,而改进协议后网络可以存活到25s,生存期延长1/4。
因此LEACH-i协议对比LEACH协议可以明显降低节点能耗,显著延长网络生存期。
图2 仿真结果比较
5 结束语
本文首先分析了LEACH协议,针对其缺点,在簇头选择公式加入节点能量和距离的因素,提出了改进的路由协议 LEACH-i。NS2仿真结果表明,LEACH-i协议比LEACH协议节约网络能量,延长了网络生存期。但LEACH-i协议仍有缺点,如没有考虑数据传输阶段的单跳路由,这对于网络生命周期的进一步延长有很大影响,可做进一步的改进。
:
[1]钟永锋,刘永俊.ZigBee无线传感器网络[M].北京:北京邮电大学出版社,2011:84-125.
[2]彭爱平,郭晓松,蔡伟,等.基于估计机制的分簇传感器网络数据融合算法[J].传感技术学报,2011,24(1):128-133.
[3]卢建刚,乐红兵.基于区域划分的WSN非均匀分簇算法[J].计算机工程与设计,2011,32(8):2639-2642.
[4]蒋畅江,石为人,唐贤伦,等.能量均衡的无线传感器网络非均匀分簇路由协议[J].软件学报,2012,23(5):1222-1232.
[5]李成岳,申铉京,陈海鹏,等.无线传感器网络中LEACH路由算法的研究与改进[J].传感技术学报,2010,23(8):1163-1167.
[6]张荣博,曹建福.利用蚁群优化的非均匀分簇无线传感器网络路由算法[J].西安交通大学学报,2010,44(6):33-38.
[7]唐伟,郭伟.无线传感器网络中的最大生命期基因路由算法[J].软件学报,2010,21(7):1646-1656.
[8]杨伟,刘润杰,申金媛.一种基于LEACH的高效节能协议[J].传感技术学报,2010,23(8):1153-1157.
[9]张品,姜亚光,陈磊.基于加权优化选择两级簇头的WSN路由协议[J].传感技术学报,2011,24(3):447-451.
[10]唐毅,梁晓曦,武俊.无线传感器网络最优簇首节点数量研究[J].通信技术,2007,40(6):30-32.
[11]杨明,许瑞琛,蒋挺.一种基于历史信息的簇头选取机制[J].通信技术,2011,44(11):97-99.
[12]高铁杠,牛伟伟.一个基于节点覆盖的簇头选举算法[J].计算机工程与科学,2011,33(5):1-8.
[13]郭瑞星,王庆生.ZigBee路由算法的研究与改进[J].电脑开发与应用,2011,24(5):32-34.
[14]王胜平,胥布工.ZigBee路由发现广播策略[J].计算机工程,2010,36(11):105-107.