APP下载

一种结合LEACH和PEGASIS协议的WSN的路由协议研究*

2012-01-02李建奇曹斌芳王文虎

传感技术学报 2012年2期
关键词:网关路由距离

李建奇,曹斌芳,王 立*,王文虎

(1.湖南文理学院电气与信息工程学院,湖南常德415000;2.湖南文理学院物理与电子科学学院,湖南 常 德415000)

无线传感器网络WSN(Wireless Sensor Network)是一种新型的网络和计算技术,它综合了传感器技术、微机电系统、分布式信息处理技术和无线通信技术,能够协作地实时监测、感知和采集监测对象的信息并对其进行处理,最后将信息传送到用户[1-3]。由于WSN一般采用电池供电,且更换传感器节点不切实际,导致节点能量受限,因此设计优化网络的整体能耗效率,延长网络寿命的路由协议是无线传感网络的一个重要研究内容[4-5]。

本文主要讨论在真实环境下,节点的分布普遍存在着因自然环境(水域)、火灾等灾难导致传感器节点毁坏,或因节点故障等原因导致出现传感器节点未能有效布置的区域,本文把这种区域称为洞,如图1所示。从图1可以很容易观察到在A,C区域的节点的分布大致是中心集中,而B区是呈现环形分布。而WSN一般部署在环境恶劣的区域,基站位置也因此需远离监控区域。有关的文献[3-8]均未对此进行探讨,本文在LEACH协议基础上提出了一种改进协议,主要思路是在簇的建立过程中,考虑簇内的节点与簇头之间形态,根据簇内的特点建立簇内路由机制采取单跳或者利用PEGASIS协议构成链式通信。簇间采用多跳和单调相结合的方式通信。

图1 网络节点位置分布示意图

1 系统模型

1.1 网络模型

假设传感器网络中N个传感器节点分布在M×N的区域当中,并且具有以下性质:

(1)节点一旦配置完成即保持静止不动,也不再人工维护,每个节点结构功能相同,并且具有相同的初始能量,所有节点都有能力与网关进行通信,并且具有功率控制功能;

(2)每个节点总有监测数据需要发送;

(3)网关位于传感器监测区域以外的固定一点,网关能量不受限制;

(4)相邻监测区域内的数据具有相关性,可以进行数据融合;

(5)每个节点都有足够的计算能力支持不同的MAC协议和数据处理;

(6)每个节点均采用全向天线;

(7)节点之间通信链路是对称的。

1.2 能量模型

本协议的节点能量消耗模型采用文献[2]。式(1)中,d为传输距离,ETx(k,d)表示传感器节点发送kbit数据通过距离d时的能耗,由发射电路耗损和功率放大耗损两部分构成。功率放大耗损根据发送者和接收者之间的距离分别采用自由空间模型和多路径衰减模型。Eelec为发射电路的耗损能量。εfs和εmp分别表示两种信道模型下功率放大所需能量。式(2)表示接收kbit数据的能量耗损,仅由电路耗损引起。式(3)为将接收到的n个节点发送过来的n·kbit数据与本身的kbit数据融合,融合成kbit数据再发送出去。

数据发送:

2 典型路由协议

在WSN体系结构中,从网络拓扑结构的角度可以大体把它们分为两类:平面路由协议和分簇路由协议。LEACH(Low Energy Adaptive Clustering Hierarchy)协议是由MIT的Heinzelman等在2000年提出的一种低功耗自适应层次路由协议,很多路由协议都是基础改进而来的。PEGASIS(Power-Efficient Gathering in Sensor Information Systems)协议不同于LEACH的多簇结构,它是在传感器节点中采用链式结构进行链接。

LEACH协议每轮如果产生簇头数较多,由于距离网关较远的簇头节点要和基站直接通信,簇头会消耗较多能量;如果产生簇头数较少,普通节点要与远距离簇头通信消耗较多能量。同时在选择簇头时,并没有考虑簇头剩余能量和地理位置等多种网络信息,基于随机产生簇头的分簇机制可能使部分簇头节点过早死亡,部分区域节点失去监控,也使网络总能量消耗过快[9-10]。

PEGASIS协议是形成一条链,数据顺着链向上融合和传输的,虽然节省了能量,但却增加了延迟,从而降低了监控的实时性。同时WSN常应用在恶劣的环境中,被监测的区域分布有大量的传感器节点,如果中间有一个节点失效,这次的数据传输就会失效。而在一个节点密集的区域,这意味这信息反复的在曲折传递,实际上增加了整体网络功耗。

3 改进的路由协议

针对真实环境下存在洞的分布情况,结合LEACH和PEGASIS的特点,提出了一种新的协议,在有效降低能耗同时保证一定的实时性。协议把整个数据传输以轮为单位,每轮又分为簇头的产生、簇内通信的建立、簇首路由的建立和数据的稳定传输阶段。

3.1 簇头的产生

每轮首先由网关发出分簇广播启动本轮簇头选举。该信息包含网络中所有簇头的剩余能量的平均值Eav(平均值Eav通过各个簇头节点报告的各簇的平均能量计算得到),凡是剩余能量低于Eav的节点定义为低能量节点,这类节点不参与簇头竞争。每个节点接收该网关的启动信息后,并根据接收到的信号强度,计算出自己到网关节点的距离,记为dnw。每个非低能量节点自身产生一个介于0~1之间的随机数,将该数与门限值T(n)作比较,若该数小于T(n)则该节点将成为临时簇头节点,若该数大于T(n)则该节点暂时成为普通节点,门限值T(n)由式(4)决定[9]:

其中,En是节点n的当前剩余能量,Enav是上一次簇内网络节点的平均能量(可以近似视为本轮竞争范围内节点的平均能量)。Neighbor_num表示节点的邻近节点数目,CH_Times表示节点在以前轮数中被选为簇头节点的次数。簇头选举算法应当优先高剩余能量和低能量消耗功率的节点优先当选。

簇首节点选出之后,广播自己当选簇首的信号ADV(Advertisement Message),周围节点收到消息后,根据信号强度,选择所属簇首,然后发送一个请求加入信息,此信息除了包含簇首节点ID以及自己的ID号以外,还需要包含自己的剩余能量状态、本节点距离簇头的距离和本节点距离网关的距离[7]。

3.2 簇内路由的建立

簇首在一定的时间内接收到所有簇内成员的加入请求信息后,将记录下所有本簇内节点到簇头的距离。首先簇首根据网络设置网络标准距离(即距离网关的最大距离),计算本簇首距离网关的距离比例,Φi=dig/dng,dig第i个簇首距离网关的距离,dng表示网络标准距离。当Φi系数小于0.65,即该簇首距离网关较近,此时簇内路由之间采取单跳通信;当Φi系数大于0.65,即簇首处于网络中心点以外的区域(意味该簇首远离网关),此时簇首将计算簇的分散系数ηi,分散系数描述了本簇内各成员分散的特点。分散系数的计算如式(6)所示,通过对各簇内节点距离簇头与距网关距离之比求和,再除以簇内节点数。离散系数根据式(2)计算测量簇内非簇头节点的分布程度:

dng为第n个簇内节点至的网关距离,dni为第n个簇内节点至簇头的距离。该ηi越大反映簇内各节点距离网关远,离本簇头的平均距离同样远。当该系数超过一个阈值后,簇内直接采用单跳通信不利于节约能耗,因此将由簇头启动PEGASIS协议构建簇内路由。经过实验经验值确定,阈值选择为0.65。当ηi分散系数小于等于0.65时,则定义该簇为常规区域,簇内节点采用单跳方式直接和簇头节点通信,簇头分配好的TDMA表广播给每个簇内成员,同时广播下一次簇内将接任簇头的下轮节点,接任节点将做好准备。接任节点根据离本轮簇头最近进行选择。

簇的类型通过ηi分散系数被定义为紧密簇和分散簇。当ηi分散系数小于0.65时,则定义该簇为存在空洞的分散区域,该分区采用PEGASIS协议使用贪婪法构成链路,同时将簇头的资格转移给离网关最近的非低能量节点,并由新簇头节点报告网关,网关同时将该簇头在整个网络的通信时隙上置后,避免影响整个网络性能。各节点将自身的距离网关的信息报告簇头。

3.3 簇间多跳路由的形成

簇建立之后,每个簇首广播一个非持续性强度信号,信号中还要包含自身的ID,每个簇首接收到其它簇首广播的强度信号,确定出模拟距离信息并记录下来,然后所有簇首节点把这些模拟距离信息发送给基站,同时还要发送自己的剩余能量状况并捎带发送本簇的平均剩余能量。站接收到这些信息后采用文献[8]算法,规划出全网链路拓扑,同时记录下剩余能量不足的簇首。接下来把网络链路数据结构广播给所有簇首节点。这样簇首间的主干网络形成。簇间的链路多跳路由如图2所示。

图2 网络簇头路由拓扑结示意图

3.4 簇间的数据传输阶段

簇间数据传输与LEACH中的方法是类似的,每个簇内节点根据TDMA表,在自己的时隙内向簇首传输数据。簇首接收完簇内成员的数据并进行融合后,根据开始向沿链路向网关传输,每个簇首节点接收到上一级节点的数据后进行数据融合,然后再发送给下一跳节点。需要注意的是,发送节点每发送出数据后并不立即清除该数据,而是存储一定的时间,接收数据的簇首一旦接收到上级节点的数据立即返回一个已接收信号,发送节点收到后再把已发数据清除,如果在一段时间内没有接收到反馈信号,则表明该数据发送丢失,则重发一次,如果还是发送不成功,则把该数据发送给链路表中的下一跳簇首节点。在这个过程中,每个接收节点同样设置一个定时器,如果长时间接收不到上一级簇首节点的数据,则不再等待,而是直接把自己的数据向下一跳节点传输[10-12]。

数据传输一段时间后,基站选择一个新的簇首节点作为链首与自己直接通信,同时根据记录下来的能量匮乏节点信息,避开这些节点充当链首,以均衡负载。网络主干路由依据这个新的链首再进行一段数据传输。当所有簇首(除了能量匮乏节点)充当过链首之后,整个数据传输将进入新的一轮,进行簇的建立、簇首间路由的建立和数据传输阶段,循环往复。

4 改进算法分析

本文利用MATLAB软件将改进算法(NEW&P)与LEACH算法和PEGASIS算法进行了仿真比较,分别从网络生存周期和数据传输时延两方面来评价改进算法的性能。在传感区域为100 m×100 m的空间内有100个传感器节点,在区域内随机的产生2个10 m×10 m空洞区域,该区域不设置节点。LEACH协议中假设节点不知其地理位置,且节点随机分布,本文采用LEACH协议中原有的参数来仿真。改进协议主要是与LEACH进行比较,本文采用MATLAB对LEACH协议和改进算法进行了仿真和比较,其中基站位置被固定为(0 m,0 m),因为往往实际应用中要求网关远离监控区域,所以如此设定。节点初始能量为 0.5 J,Eelec=50 nJ/bit,εfs=10 pJ/(bit·m-2),εamp=0.0013 pJ/(bit·m-4),数据融合EGX=5 nJ/(bit·signal-1),仿真最大轮数为 9999 轮。为了便于对比,消除一些随机因素影响,现对两个算法各仿真50次,对数据取统计平均值。

改进的协议以延长网络存活时间、平衡所有节点的能量消耗和提高整体网络能耗效率为主要设计目标。定义网络开始运行到出现指定死亡节点的轮数为WSN的生存期。文中对LEACH协议和改进后协议的节点死亡的生命周期进行了比较,结果如图3所示。改进后协议的生存期比LEACH协议的生存期有大幅度提高,初始死亡节点出现的轮数大大延迟,网络总数的20%和50%死亡节点的轮数也得到了改善,这主要由于降低了一些能耗较大的节点承担簇头的概率。由于WSN中传感器节点随机分布单次生命周期计算起伏较大,所以图3中的数据是进行50次循环得到的统计平均值。可以看出改进算法大大延长网络生存周期。

图4是改进协议和LEACH协议生命周期的另一种比较表达方式,描述了网络节点每100轮能量消耗之间的关系。可以清楚看出来网络节点的单位数据量通信的能耗降低,主要是由于各簇内采用了不同协议,使得各节点合理地承担了通信能量消耗。图5描述了各节点的剩余能耗的方差分布图,从该图可以看出来,节点的剩余能耗得到了更好的均衡。其中LEACH算法可以看出来,由于没有采用有效均衡机制,导致网络运行到了中期出现了节点的明显分化,各节点之间能量消耗出现较大差别,而算法依然让个节点轮流承担簇头,导致节点能量差异一路上扬,出现死亡节点。而改进算法考虑到了节点的差异,能量均衡消耗,大大滞后了第一个死亡节点的出现。

图4 网络节点平均剩余能量每百轮消耗曲线图

图5 网络节点能量方差每百轮消耗曲线图

在经典的LEACH协议中,每个节点选择所属簇首的时候只是考虑了与簇首的距离,而没有考虑簇首的剩余能量情况。这可能导致当选簇首的低能量节点快速死亡,进而缩短整个网络的生命周期。改进算法在簇建立阶段,通过能量比较和寻找替代簇首,均衡了能量消耗。同时新增的能量比较算法很简单,TDMA的计算分配与LEACH相比基本不增加能量开销,故整体上增加的延迟与能耗开销很小。

PEGASIS理论上的性能是非常好的,但是会带来较大的滞后性,特别随着监控区域的扩大,不利于系统实时性满足,同时个别节点的失效,会导致数据采集的整体失败。改进算法利用PEGASIS比较适合稀疏网络的特性,将链路策略在局部特殊区域,不仅有效的降低了能耗,而且保证了必要的实时性。从传输速度而言,可以很直观地分析到改进算法比PEGASIS协议较优。

5 结束语

针对真实环境下节点分布的不均匀特点,在分析LEACH和PEGASIS优缺点的基础上,把两者结合起来提出了一种改进路由协议。新的协议在成簇阶段加入一个机制用来实现高能量节点替代低能量节点担任簇首,避免低能量节点过早死亡,成簇的路由协议根据簇的分散特性采用不同的簇类通信方式;在簇间形成一个单跳和多跳结合路由协议用来实现数据融合和转发,同时加入一种可靠传输的机制。理论分析和仿真结果一致表明改进的算法能有效减少节点能量消耗,降低节点死亡速度,有效延长网络生命周期。

[1] Zhao F,Guibas L J.Wireless Sensor Networks:An Information Processing Approach[M].Morgan Kaufman,2004:7-10.

[2] Heinzelman W,Chandrakasan A,Balakrisham H.Energy-Efficient Communication Protocol for Wireless Microsensor Networks[C]//Proceedings of the 33rd Annual Hawaii Int’l Conf.on System Sciences.[S.l.]:IEEE Computer Society,2000:3005-3014.

[3] Ye W,Heidermann J,Estrin D.An Energy-Efficient MAC Protocol for Wireless Sensor Networks[C]//Proceedings of the IEEE INFOCOM,2002,3:1567-1576.

[4] Heinzelman W B,Chandrakasan A P,Balakrisham H.An Application-Specific Protocol Architecture for Wireless Microsensor Networks[J].IEEE Transactions on Wireless Communication,2002,1(4):660-670.

[5] 刘群,白全炜,曾宪华,等.能量感知的WSN节点分类控制路由算法[J].传感技术学报,2011,24(7):1053-1059.

[6] 杨银堂,高翔,柴常春,等.一种WSN中的能耗优化动态路由算法[J].西安电子科技大学学报,2010,37(5):776-782.

[7] 朱丁丁,金心宇,张昱.基于能量优先分簇算法的WSN分层路由协议[J].传感技术学报,2009,22(4):579-585.

[8] 张震,闫连山,潘炜.基于LEACH和PEGASIS的簇头成链可靠路由协议研究[J].传感技术学报,2010,23(8):1173-1178.

[9] 邓亚平,邓利军.无线传感器网络的能量有效加权分簇算法[J].计算机工程与设计,2011(4):1216-1219,1215.

[10] LUO H,LUO J,DASSK.Adaptive Datafusion for Energy Efficient Routing in Wireless Sensor Networks[J].IEEE Transactions on Computers,2006,55(10):1286-1299.

[11]王洪玉,刘爽.WSN中基于融合代价和传输代价的分簇算法[J].大连理工大学学报,2010,50(4):591-596.

[12] Holt B,Doherty L,Brewer E.Flexible Power Scheduling for Sensor Networks[C]//Proceedings of the IEEE/ACM 3rdInternational Symposium on Information Processing in SensorNetworks,(IPSN),2004,205-214.

猜你喜欢

网关路由距离
铁路数据网路由汇聚引发的路由迭代问题研究
算距离
信号系统网关设备的优化
探究路由与环路的问题
基于预期延迟值的扩散转发路由算法
每次失败都会距离成功更近一步
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
爱的距离
PRIME和G3-PLC路由机制对比