LEACH协议大规模网络通信改进研究

2017-07-12 09:34陈晨杨红丽
软件导刊 2017年6期

陈晨+杨红丽

摘要:LEACH(low energy adaptive clustering hierarchy)路由协议是无线传感器网络里最经典的分簇路由协议,它的“分簇”思想被广泛应用,但是它只能是小规模无线传感器网络的路由协议,比如100×100的区域。提出一种基于LEACH路由协议的新协议LEACH-LS(low energy adaptive clustering hierarchy-LargeScale),可应用于大规模的无线传感器网络。用MATLAB工具进行仿真,结果表明新协议在大规模无线传感器网络应用很好。

关键词:大规模无线传感器网络; LEACH; LEACH-LargeScale

DOIDOI:10.11907/rjdk.171151

中图分类号:TP393

文献标识码:A 文章编号:1672-7800(2017)006-0171-03

0 引言

无线传感器网络(WSNs)是当今备受关注的热点领域,它将传感器技术、嵌入式计算技术、现代网络和无线通信技术、分布式信息处理技术有机结合,通过许多集成的微型传感器进行监控和信息采集,通过无线广播方式将信息发送到目的地。传感器网络技术应用广泛,如国防军事、工业、农业、城市管理、生物医疗、环境监测、急救、抢险救灾、反恐等重要领域,学术界和工业界高度重视,被认为是21世纪最具影响力的技术之一[1-3]。目前,无线传感器网络研究主要是在网络层和链路层。路由协议属于网络层,它是无线传感器网络的核心技术之一[4]。

LEACH(Low Energy Adaptive Clustering Hierarchy)路由协议是最经典的分层路由协议。LEACH路由协议把节点分为簇头节点和簇员节点。簇员节点把采集到的数据信息发送给簇头节点,簇头节点把簇员节点发送的数据信息和采集的数据信息进行融合,然后簇头节点直接把融合后的数据发送给基站。LEACH协议的优点是运用了数据融合技术,去除了冗余的数据信息,从而节省了节点的剩余能量。随机产生的簇头节点使所有传感器节点共同承担网络能量消耗,避免了某些节点过快死亡。

但LEACH路由协议局限性很大。由于LEACH协议规定所有传感器节点都能与基站直接通信,且传感器节点的通信距离有限,所以它只能应用在小规模的无线传感器网络中,不适用于大规模的无线传感器网络。本文对LEACH协议进行了改进,提出了新协议LEACH-LS,LEACH-LS协议不仅拥有LEACH协议的优点,还能应用在大规模网络里,使传感器节点能在大规模网络里进行数据通信。

1 LEACH协议

1.1 LEACH协议介绍

WSNs路由协议有平面型和层次型两种[5]。LEACH协议是一种经典的分层路由协议,它把传感器网络分为两层,基站只和簇头节点通信。LEACH协议与一般的平面型路由协议相比可提高15%的网络寿命。由于LEACH协议随机选择簇头节点,从而使所有传感器节点共同承担网络能量消耗。LEACH 协议的基本单位是“轮”,它由很多轮组成。一轮由建簇和数据收集两个阶段组成。为了避免由于建簇造成过多能量消耗,数据收集阶段时间一般较长[4-5]。

LEACH协议的前提条件是:①基站位置固定;②所有传感器节点有自己的唯一ID标位置,一旦固定就不能改变;③所有传感器节点都能和基站直接通信,并且能量有限,能量一旦耗尽就不能补充;④传感器节点的通信距离有限。

每轮开始时,网络开始建簇。所有传感器节点都生成一个(0,1)的随机数。若某节点生成的随机数小于阈值T(n)则成为簇头节点,然后该节点广播信号。未成为簇头的节点寻找信号最强的簇头节点并申请成为它的簇员节点,最终传感器网络生成了很多簇群,每个簇群里有一个簇头节点和若干簇员节点。最后簇头节点为每个簇员节点分配TDMA信道,每个簇员节点在自己的时间段给簇头节点发送数据信息。如果节点没有在本循环内当选为簇头节点,阈值T(n)公式是 T(n)=p/[1-p*(r mod(1/p))];如果节点已经在本循环内当选过簇头节点,阈值T(n)公式是T(n)=0。p是簇头节点在所有节点中的比重,r是当前轮数减1,1/p 轮是一个循环。

建簇完成后即进入数据收集阶段。所有簇员节点把收集到的数据在自己的信道时间内发送给簇头节点,簇头节点收到所有簇员节点发送的数据后进行数据融合,融合完成后把融合数据直接发送给基站。数据收集持续一段时间后再重新建簇,如此循环。不同的簇采用不同的CDMA码通信从而减少其它簇的干扰[4,6-7]。

1.2 LEACH协议的局限性

由于无线传感器节点的通信距离有限,而LEACH协议要求所有传感器节点直接和基站通信。因此,LEACH协议只适用于规模较小的无线传感器网络,不能应用在大规模网络中。

2 LEACH-LS协议

针对LEACH路由协议不能应用在大规模无线传感器网络的不足,本文提出了LEACH-LS协议。LEACH-LS协议与LEACH协议类似,也是由建簇阶段和数据收集阶段两部分组成,下面详细介绍LEACH-LS协议。

在一个大规模的无线传感器网络里,基站位于中间位置。所有传感器节点根据自身位置推出与基站的距离(假设所有传感器节点都知道自己的位置和基站的位置[9]),传感器节点根据自身与基站的距离标记序号。标号以80m为单位,比如距离大于0小于80的为1号,大于80小于160的为2号,以此类推。之所以选80m为单位,是因为如果传感器节点的通信距离超过87m就是远距离发射,能耗会大大增加[8]。

(1)建簇阶段。LEACH-LS协议的建簇阶段和LEACH協议类似。每轮开始时,除了标号为1的节点外,所有传感器节点都生成一个大于0且小于1的随机数,生成的随机数与阈值T(n)比较大小,阈值T(n)与LEACH协议的T(n)相同。未成为簇头的传感器节点选择距离自己最近的节点为簇头节点。标号为1的传感器节点不选择簇头节点也不竞选簇头节点,而是直接把数据发送给基站。

(2)数据收集阶段。簇头节点接收到所有簇员节点发来的数据后,与收集的数据进行融合,然后把融合后的数据发送给比自己标号小1且距离最近的簇头节点。比如某簇头节点的标号是4,那么它把本簇的数据信息融合后发送给距离自己最近的3号簇头节点,以此类推。标号为2的簇头节点把数据发送给距离自己最近的标号为1的普通节点,所有标号为1的普通节点都担当转发数据的作用。图1是600×600的大规模网络LEACH-LS协议演示。

其中,Etx(k,d)表示传感器节点向距离为d meter 的目的地發送k bit数据时的能量消耗,Erx(k)表示节点接收k bit数据的能量消耗,Eelec表示电路的消耗系数,εfs和εamp分别为近距离和远距离发射放大器能耗参数,d是源节点和目的节点之间的距离,d0是临界值。

LEACH-LS协议的仿真环境是2 000个节点随机分布在600×600的区域内,基站位于(300,300)的中间位置,传感器节点发送数据包的最远距离是180m。一个数据包是4 000bit,一个控制包的大小为100bit,所有传感器节点的初始能量是0.5J,簇头节点数据融合的能量消耗是5nJ/bit/message,Eelec为50nJ/bit,εfs为10pJ/bit/m2,εamp为0.0013pJ/bit/m4,d0是87m。簇头节点的比例p是0.05[6]。按照节点与基站的距离大小,把所有传感器节点分为1号(距离小于80m)、2号(距离大于80m且小于160m)、3号(距离大于160m小于240m)、4号(距离大于240m)。

LEACH协议的仿真环境是100个节点随机分布在100×100的区域里,基站在(50,120)的位置,传感器节点的通信半径是180m,其余的仿真环境和LEACH-LS一样。

3.2 仿真结果分析

图2和图3是LEACH协议在100×100区域里的仿真实验结果。图2显示LEACH协议的存活节点数量随轮数的增加而减少。实验数据显示,LEACH协议的第一个节点死亡轮数是786轮,整个网络的死亡轮数是1 175轮。从图3可以得出,随着轮数的增加,基站收集到的数据越来越多。直到整个网络死亡时,基站收集到的数据包个数接近2×104个。然而,由于传感器节点的通信距离有限,并且LEACH协议要求所有节点与基站直接通信,所以LEACH协议不能应用在大规模的网络里。

图4和图5 是LEACH-LS在600×600区域里的仿真实验结果。图4的实验结果显示LEACH-LS的第一个死亡节点轮数是121轮,整个网络的死亡轮数是139轮。图5的实验结果显示,随着运行轮数的增加,基站收集到的数据包个数越来越多。整个网络死亡时,基站收集到的数据包个数接近6×104个。实验结果表明,LEACH-LS协议可以应用在大规模无线传感器网络里,LEACH-LS协议可以在600×600的区域里使传感器节点正常向基站传送数据。

4 结语

对LEACH路由协议的研究发现,由于传感器节点的通信范围有限,LEACH协议不能应用在大规模无线传感器网络里。本文在LEACH协议的基础上进行了改进,提出了新协议LEACH-LS。仿真实验表明LEACH-LS协议可以在600×600的大规模网络里使传感器节点正常收集和传送数据。

虽然LEACH-LS可以运用在大规模无线传感器网络里,但它的生命周期较短,提高LEACH-LS协议的网络寿命是下一步要进行的研究工作。

参考文献:

[1]崔莉, 鞠海玲, 苗勇,等. 无线传感器网络研究进展[J]. 计算机研究与发展, 2005,42(1):163-174.

[2]胡钢, 谢冬梅, 吴元忠. 无线传感器网络路由协议LEACH的研究与改进[J]. 传感技术学报,2007,20(6):1391-1396.

[3]李兰英, 刘昌东. 一种无线传感器网络路由协议LEACH的改进算法[J]. 哈尔滨理工大学学报, 2015, 20(2):75-79.

[4]张伟华, 李腊元, 张留敏,等. 无线传感器网络LEACH协议能耗均衡改进[J]. 传感技术学报, 2009, 21(11):1918-1922.

[5]任丰原,黄海宁,林闯.无线传感器网络[J].软件学报,2003,14(7):1282-1291.

[6]HEINZELMAN,WENDI RABINER, CHANDRAKASAN,et al. Energy-efficient communication protocol for wireless microsensor networks[C]. Hawaii International Conference on System Sciences,IEEE,2000.

[7]吴臻, 金心宇. 无线传感器网络的LEACH算法的改进[J]. 传感技术学报, 2006,19(1):34-36.

[8]李亚男, 徐夫田, 陈金鑫. 基于LEACH的WSNs分簇优化策略[J]. 传感技术学报,2014(5):670-674.

[9]张浩, 李腊元. 基于LEACH协议的能耗均衡路由算法[J]. 计算机工程, 2011,37(7):91-93.

[10]陈杰. MATLAB 宝典[M]. 北京: 电子工业出版社, 2011.

[11]王臻跃. 基于LEACH的改进路由协议[J]. 软件导刊, 2015(3):114-116.

(责任编辑:杜能钢)