APP下载

一种改进的多簇头路由协议

2011-05-15丁绪星潘承先

无线电通信技术 2011年1期
关键词:能量消耗路由消耗

丁绪星,蔡 伟,潘承先

(安徽师范大学物理与电子信息学院,安徽 芜湖 241000)

0 引言

无线传感器网络目前研究的热点之一是路由算法[1-3],RRCH[4]算法在整个生命周期按轮询周期分簇工作。算法的基本思想是在全网过程中只实行一次簇的建立过程,之后固定每个簇,当需要更换簇头时,在每个簇内选举一个剩余能量最高的成员节点作为下一轮的簇头,相比每一轮都进行全网簇头选举的算法,这种簇头选举方法减少节点的能耗。但是RRCH算法选举出的簇头,可能分布在簇的边缘,造成部分簇内成员节点离簇头过远,而且每轮只选出唯一簇头,会导致此簇头节点通信时消耗更多的能量。提出了一种改进分簇路由协议:多簇头路由算法。基本思想是在簇头选举过程中,选出2个簇头协同工作管理整个簇,每个簇分给2个簇头管理,簇成员按照就近原则发送监控信息给2个簇头中的1个,再由簇头转发给汇聚节点。

1 网络通信模型

通信模型对无线传感器网络做了如下假设:汇聚节点(Sink)位置固定且离监控网络较远所有传感器节点位置固定,具有相同的传输距离网络中所有传感器节点具有相同的初始能量,并且能量有限,每个节点的ID号唯一。

传感器节点在数据传输过程中消耗的能量模型[5]主要由2部分组成:发送数据能耗和接受数据能耗。发送数据能耗主要由2部分组成:发射电路损耗和功率放大损耗。即发送1bit的数据经过d距离消耗的能量为:

式中,Eelec为发送或接受电路损耗;d0为距离门限;Efsd2为传输距离小于d0时,自由空间信道模型的功率放大器功耗;Eampd为距离大于等于d0时,多径衰落信道模型的功率放大器功耗。

接受1 bit数据消耗的能量为:

簇头节点融合m个L比特的数据包,所需要的能量为:

式中,Efusion为融合每1 bit所消耗的能量。

2 改进的算法

算法即主从式簇头路由算法,主要分为2步:簇的建立阶段和数据传输形成阶段。

2.1 簇的建立阶段

第1轮时,网络中的每个节点产生1个随机数R与设定的阈值T比较,若R小于T,该节点标识自身为候选节点,广播一个包含自身ID和剩余能量Energy的CANDIDATE消息。假设当候选节点接收到邻居候选节点的CANDIDATE消息时,将该邻居添加到候选节点集CLUSTER中,从CLUSTER中选举1个剩余能量最大的节点作为簇头节点。如果这个簇头是本身,则本身广播一条包括自身ID和剩余能量的HEAD消息通知其邻居节点,如果本身不是簇头,则广播一条COMMON消息宣布自身为普通节点。

对于1个普通节点,收到1条HEAD消息后将发送该消息的节点信息ID,Energy添加到自己的簇头节点集中,从CLUSTER中选举出剩余能量最高的节点作为簇头节点,并发送1条JOIN消息给该簇头。对于1个簇头节点,收到1条JOIN消息后将发送消息的节点信息添加到成员节点集中,簇头节点从中再选举出1个剩余能量最高的成员节点作为另1个簇头节点CLUSTERHEAD2,并且广播1条包含节点ID的MESSAGE消息。当成员节点收到MESSAGE消息后,在其邻居节点集中寻找此节点,再按照就近原则,加入离自己较近的簇头。这样1个含有2个簇头节点的簇建立完成。簇头再为每个节点分配TDMA时隙,为传输数据准备。下一轮,簇继续选择剩余能量大的2个节点作为为簇头,过程与RRCH相同。首轮簇头选举过程如图1所示。

图1 首轮簇头选举过程

2.2 数据传输阶段

成簇之后,每个簇头广播1条包含自身ID和权值V的WEIGHT剩余能量消息。假设簇头节点i收到来自簇头节点j的WEIGHT剩余能量消息,节点i会计算出权值剩余能量差Vij∶Vij=Vi-Vj,(i,j=0,1,……N),最后节点i会从中选择权值差Vij最小的节点作为传送数据到Sink的下一跳,这样就构成了一条多跳路由,最终由离Sink最近的簇头节点,直接与Sink通信。如果某簇头节点在其通信范围内不能与其他节点通信,则直接发送数据给Sink。

3 算法仿真分析

算法在OMNET++仿真平台下对算法进行仿真,按照上文所讨论的无线通信模型编程设定节点发送与接收数据时的能耗,设定仿真参数如表1所示。

表1 仿真参数值设置

仿真传播区域为500*500,节点数目为100,Sink节点位置(250m,875m)。图2和图3的纵轴分别显示的是节点死亡数和能量消耗值,横轴均为仿真时间。两图分别为节点死亡数对比和消耗能量对比;由图可知,随着仿真时间的延长,MCHB算法的节点死亡数以及能量消耗均比传统的RRCH算法小。RRCH算法的缺点在于成簇过程中,只有1个簇头管理整个簇,当该簇头位于整个簇的边缘时,簇内部分成员节点离该簇头较远,从而消耗了更多的能量。MCHB算法每个簇中,2个簇头同时工作,同时路由采用多跳通信解决了RRCH算法的问题。

图2 死亡节点数

图3 总能量消耗

将仿真传播区域增大为1000m*1000m,Sink节点位置(500m,1750m)。仿真结果如图4和图5所示。

从图4中可以看出,RRCH算法死亡节点数达到50个时,MCHB才达到35左右,相比死亡节点数降低了约30%;从图5中可以得到,网络能耗降低了约28%。

图4 死亡节点数

图5 总能量消耗

4 结束语

提出了一种MCHB算法,选出2个簇头协同工作管理整个簇,每个簇分给2个簇头管理,簇成员按照就近原则发送监控信息给2个簇头中的一个,再由该簇头转发给下一跳节点,最后通过多跳通信传给汇聚节点。在仿真实验中,MCHB与RRCH作结果显示MCHB能有效平衡网络负载,延长网络生存时间。

[1]RAGHUNATHAN V,SCHURGERS C,PARK S.Energy-aware wireless microsensor networks[J].IEEE Signal Processing Magazine,2002,19(2):40-50.

[2]MNJESHWAR A,GRAWAL D P.TEEN:A protocol for enhanced efficiency in wireless sensor networks[C]//Proc of the 15th Parallel and Distributed Processing Symp.San Francisco:IEEE Computer Society,2001,5(7):2009-2015.

[3]BENINI L,BOGLIOLO A,MICHELI D G.A survey of design techniques for system-level dynamic power Management[J].IEEE Transactions on Very Large Scale Integration Systems,2000:299-316.

[4]NAM Do-hyun,MIN Hong-ki.An energy-efficient clustering using a round-obinmethod in awireless sensor network[C]//Proceedings of the 5th ACIS International Conference on Software Engineering Research,Management&Applications,2007:54-60.

[5]HEINZEL MAN W,CHANDR AKASAN A.Energy-Efficient communications protocol for wireless microsensor networks[C]// Proceedings of the 33rd Annual Havaii Int'1 Conference onSystem Sciences,2000:1-10.

猜你喜欢

能量消耗路由消耗
玉钢烧结降低固体燃料消耗实践
太极拳连续“云手”运动强度及其能量消耗探究
中年女性间歇习练太极拳的强度、能量消耗与间歇恢复探究分析
转炉炼钢降低钢铁料消耗的生产实践
降低钢铁料消耗的生产实践
没别的可吃
铁路数据网路由汇聚引发的路由迭代问题研究
一种基于虚拟分扇的簇间多跳路由算法
我们消耗很多能源
探究路由与环路的问题