肖文显,刘震,马孝琴,郭明理
(河南科技学院,河南新乡453003)
无线传感器网络由大量的节点构成,节点间通过无线通信技术交换数据.由一些传感器的节点采集信息,经过数据处理与融合,最后信息传送给观察者.路由协议对于一个网络来说至关重要,直接影响着网络的性能、效率和安全等.无线传感器网络有其自身的特点,不同于传统的网络,其网络路由协议也呈现出与传统网络的不同,传统的网络路由协议无法直接应用到无线传感器网络当中.无线传感器网络与IP路由协议的差异主要如下:无线传感器节点能量有限,在设计路由协议时,把节能放在首要位置[1];在传输的过程中,远离网络中心,路由协议主要面对多对一的数据流和一对多的控制流,而非传统网络的点对点的通信,在传输数据时,先对数据进行融合处理;与Ad Hoc(点到点)网络相比,无线传感器网络移动性差.
无线传感器网络一般由传感器节点、汇聚节点和管理节点构成.有时也将互联网、卫星链路和控制台包含在无线传感器网络当中.汇聚节点将接收到的数据进行处理和融合,通过互联网或者卫星链路将处理的信息传到管理节点[2].汇聚节点兼顾数据的处理与传输,设计时为增强型传感器节点,有更多的能力和处理空间.管理节点检测管理整个网络,接收汇聚节点传输的信息,并发送相关控制信息.
节点由能量供应模块、无线电通信模块、处理器模块和传感器模块4部分组成.节点是无线传感器网络中部署到研究区域里用于收集和转发信息、协作完成指定任务的对象,每个节点用不同的ID来标志自己[3].
根据无线传感器网络特性设计的网络体系具有二维的结构,即横向的通信协议层和纵向的管理面.通信协议层划分为5个层,分别是物理层、链路层、网络层、传输层、应用层.网络管理面分为移动性管理、能耗管理以及任务管理.
无线传感器网络从路由协议的拓扑结构出发,将路由协议分为平面型路由协议和层次型路由协议.平面路由协议包括泛洪协议和闲聊协议,SPIN(Sensor Protocols for Information via Negotiation)协议,定向扩散协议3种;层次路由协议包括LEACH(Low Energy Adaptive Clustering Hierarchy)协议,TTDD(Two-tier Data Dissemination)协议,SPEED(实时路由)协议,GEAR(Geographical and Energy Aware Routing)协议.
LEACH协议是第一个基于分簇的层次型路由协议,与平面路由协议相比,LEACH有消耗低、网络存活时间长的特点.选择LEACH协议为研究与改进对象能更加深入理解层次型路由的工作过程.LEACH协议采用自组织成簇,成簇时以其策略选取一个节点作为簇头节点,在有数据传输时,所有簇成员节点首先将数据发送到簇头,簇头接收所有簇成员数据,然后对数据进行融合后发送到远方的基站[4].
2.1.1 簇头的选择 LEACH协议的基本思想是将能量消耗均衡到每个节点,以达到延长网络寿命的效果.簇头节点接受簇内其它节点的信息,对这些信息进行处理后发送到基站.LEACH协议采用周期性的选择簇头节点来解决簇头节点能量的过快消耗,在LEACH算法中,节点自主决定是否成为簇头.周期性的选择簇头节点称为轮,每一轮都包含一个簇的建立阶段和稳定的数据传输阶段.
在每一轮成簇的过程中,目标是形成K个簇,算法开始给每个节点随机一个0到1之间的值,用式(1)所示的函数来选择簇头节点.
对于任意一个节点N,节点N产生一个0~1之间的随机数,如果这个数小于给定的阈值T(n),则该节点N成为簇头节点,同时,节点N广播自己成为簇头的信息.p是簇头节点的比例,其值一般在4%到5%之间,其值会随着应用场合的变化发生变化.r是目前循环进行的轮数,比如当前进行的是第10轮,则r=10;G是在最近1/p轮中还未当选过簇头的节点的集合[5].在一轮的循环中,一个节点只能成为一个簇的簇头.当r=0时,T(n)=p,即每个节点成为簇头节点的概率是相同的,都为p.r的值越大,T(n)的值就越大,这样未当过簇头节点成为簇头的概率就越大.
2.1.2 簇建立阶段 LEACH协议中定义了以“轮”(round)为单位进行循环.每一轮又包含两个阶段,即建立阶段和稳定阶段.节点利用公式(1)进行计算.通过设定的阈值T(n),判断自己是否成为簇头节点.一旦一个节点成为了簇头节点,就需要向网络中的其余节点广播自己成为簇头的消息.
当一个节点成为簇头节点之后,向周围节点发送簇头广播信息表明自己是簇头节点,在此期间一直等待其它节点的回应,等待其它节点的加入.非簇头节点可能接受到多个簇头节点的信息,最终选择加入哪个簇的是根据能量的大小来决定.
2.1.3 簇稳定阶段 簇建立阶段完成后进入到稳定阶段,此阶段主要完成数据的传输.如果传感器节点总是有数据要发送,当时间轮到自己发送数据时,成员节点会把数据发送给簇头节点.在发送阶段,各成员节点一直关闭自己的无线通讯模块直到自己的时隙到来才打开模块以节约能量.但是簇头节点需要接收簇内其它节点的信息,所以簇头节点的收发器需要一直打开,故簇头节点的能量消耗较它节点要快.
在LEACH协议中使用的是第一顺序无线电模型,其能量模型如图1所示.
图1 能量模型
此模型包含了发送数据时候的消耗和接收数据时候的消耗.发送数据的消耗包括射频电路和信号放大器的能耗,接收节点的能耗为接收电路的能耗.其中,Eelec表示1 bit数据在发送或接收过程中所消耗的能量.ζfriss-amp是信号放大器的系数.功率放大器的能耗根据发送方和接收方之间距离的远近可以采用Friss自由空间模型和多路径衰减模型.Friss自由空间模型中,路径损耗指数为2,即d2功率损耗;多路径衰减模型中,路径损耗指数为4,即d4功率损耗[6].假定信道是对称的,即节点A向节点B发送数据的能耗与反向消耗的能量完全相同.根据图1所示的模型,发送L bit数据所消耗的能量如式(2)所示:
ζfriss-amp和ζtwo-ray-amp与所使用的传输放大模型有关,dc表示一个距离的常数,dc可以用式(3)表示:
其中,Ls表示系统能耗,与传输无关.ht是发射天线的高度,ht是接收天线的高度,是载波信号的波长.
从上述几个公式分析可得,距离d小于阈值时,节点发送数据的能耗与距离d2成正比,大于时与距离d4成正比.
故传输距离为d,接受L bit数据接收方消耗的能量为:
LEACH协议虽然具有很多优点,但也存在一些缺憾,主要表现在以下几个方面.
2.3.1 簇头选择不够理想 LEACH协议采用随机的方式产生簇头,缺少约束力,没有将节点的剩余能量作为参考系数来选择簇头.
2.3.2 簇头的分布不够均衡 LEACH协议采用完全随机的方式产生簇头节点,其地理位置的分布不能达到最优,有可能产生不合理的分布.
2.3.3 单跳通信的不合理 LEACH协议在通信的过程中采用单跳的通信方式,这极大限制了网络的规模.
无线传感器网络节点能量有限,为了延长整个网络的存活时间,在设计路由协议时把节能放在重要的考虑位置.LEACH协议表现在在选择簇头节点时没有将节点的剩余能量考虑在内,可能选择剩余能量较少的节点作为簇头节点;其次簇头节点的分布不均衡,有些区域簇头分布过少,降低了网络的存活时间;通信采用单跳的方式[7],由能耗模型,远离基站的节点能量消耗的急剧增大.基于LEACH协议存在的问题,本文提出了LEACH协议的改进协议LEACH-improved协议.
LEACH-improved协议针对LEACH协议存在的问题,从两个方面对LEACH协议进行了改进.
2.4.1 簇头节点的选择 LEACH-improved协议在选取簇头时,增加对节点剩余能量的检测,或者在簇内选取剩余能量较多的节点担任簇头节点,以延长网络的使用时间[8].用Ecurrent表示节点的当前能量,Eorigin表示节点的初始能量,LEACH-improved协议增大当前能量较高的节点成为簇头的概率,以延长网络的存活时间.改进后簇头的选择公式为如式(5)所示
2.4.2 多跳路径传输 LEACH-improved协议加入簇间路由策略,簇头负责收集簇内成员节点采集的数据,对数据进行融合计算,然后通过多跳路由方式将融合数据发送到基站.本文假设数据冗余度有限,来自不同簇的数据无法进一步数据融合,中继簇头节点只简单转发来自其它正式簇头的数据.把网络中成为簇头节点的节点记为Ci,Ci与基站之间的距离记为d(Ci,BS),多跳的过程如下:簇头节点以半径d向周围广播自身消息,消息包含其节点ID、能量Ei、簇头与基站之间距离d(Ci,BS).这样得到簇头节点Ci相邻的簇头节点集合为SCi={Cj,...,Ck},这里设该簇头的中继簇头集合为SCv={Cv|Cv∈SCi&d(Cv,BS)≤d(Ci,BS)},如果SCv为空,则簇头节点直接传送融合数据到基站,否则在集合SCv中选择能量值最大的簇头节点,如果能量剩余值最大的节点是唯一的,则将该节点作为下一跳路由节点,否则在多个能量值最大的簇头节点中选择距离基站最近的簇头节点作为下一跳路由节点.
在模拟实验中,选取100个节点分布在100 m×100 m的区域内,图2是节点分布图.
图2 100个节点分布
其他参数设置见表1所示.
表1 仿真实验参数
实验的运行环境为Windows xp,运行的工具为Cygwin,NS2的版本为ns-allinone-2.27.
对LEACH-improved协议和LEACH协议的对此主要从节点数据传送总量和节点的生存时间两个方面进行对比分析.
3.2.1 数据传送总量仿真分析 数据传输总量既是节点传送给基站的总的数据量.图3显示了改进后LEACH-improved协议和的原协议在试验中消耗的能量与基站接受到的总数据量的关系曲线.从图中显示出,协议LEACH-improved在消耗相同能量的情况下,基站接受到的总数据量要多.这显示了LEACH-improved较原协议有了一个提升空间,从图3可以看出,当消耗相同能量80时,LEACH-improved协议多接受了6 000的数据量,当消耗都是100时,LEACH-improved协议接受的数据量比LEACH协议多7 000,这说明了LEACH-improved协议提高了总的数据接收量,这主要是因为改进的协议能量的消耗比较平均,使整个网络的生存时间得到提高,数据传输更加高效.
图3 数据发送量
3.2.2 节点生存时间仿真分析 节点的存活时间对无线传感器网络是一个重要的参数,存活时间的长短直接决定网络的性能和整个网络的生存时间.图4显示了网络中存活的节点数随时间变化的曲线.横坐标表示的时间,纵坐标表示节点的存活个数.从图中可以看出,LEACH协议在215 ms时开始出现节点死亡,而LEACH-improve在275 ms才出现节点的死亡现象,节点开始死亡的时间推移了不少,这说明了LEACH-improve协议延长了节点的生存时间,在同样的时间里,节点的能耗更低,该图说明了LEACH-improved协议的确降低了节点的能耗,使节点的能量消耗更加均衡,延长了单个节点的存活时间,从而使整个网络的性能得到提升.
图4 节点生存时间
通过对LEACH协议的簇头选择和簇的稳定传输阶段进行了详细分析,并对LEACH协议在运行过程中所遵循的能耗模型进行了说明,指出了LEACH协议存在的缺点:在簇头选择的过程中没有考虑到剩余节点的能量,在传输的过程中,采用单跳的方式进行通信,并在此基础上提出了改进协议LEACH-improved协议.通过仿真实验可以得出改进的LEACH-improved协议可以增加总的数据传输量和延长节点的存活时间,改善了网络的生存环境,使网络的性能得到了提升.
[1]孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005.
[2]潘巨龙,闻育.无线传感器网络的异构性研究[J].航空计算技术,2007,37(2):124-126,130.
[3]马祖长,孙怡宁,梅涛.无线传感器网络综述[J].通信学报,2004,25(4):114-124.
[4]李建中,李金宝,石胜飞.传感器网络及其数据管理的概念、问题与进展[J].软件学报,2003,14(10):1717-1727.
[5]于海斌,曾鹏,梁韡.智能无线传感器网络系统[M].北京:科学出版社,2006.
[6]Wu X B,Chen G,Das S K.On the energy hole problem of non-uniform node distribution in wireless sensor networks[J].IEEE MASS,2006:180-187.
[7]石高涛,廖明宏.传感器网络中具有负载平衡的移动协助数据收集模式[J].软件学报,2007,18(9):2235-2244.
[8]吴光斌,梁长垠.无线传感器网络能量有效性的研究[J].传感器技术,2004,23(7):74-76,80.