基于LEACH的无线传感器网络路由协议研究
2016-10-24长春理工大学郎百和王绵绵
长春理工大学 张 静 郎百和 王绵绵
基于LEACH的无线传感器网络路由协议研究
长春理工大学张静郎百和王绵绵
能耗的优化机制是无线传感器网络的路由协议研究中的关键问题。本文对LEACH路由算法进行了研究,针对簇首选择机制与单挑路由的不足之处,提出改进的LEACH-BP路由算法。该算法在簇的建立阶段,采用Sink基站对簇头进行选举的机制和优化阈值公式对节点功耗不均匀分布进行了优化。在簇间通信阶段,针对单挑路由的不合理采用链式结构。最后采用OPNET软件对改进的LEACH-BP算法进行仿真,仿真结果表明改进后的路由算法有利于延长整个网络的存活时间。
无线传感器网络;路由协议;LEACH
1 引言
无线传感器网络(Wireless Sensor Network,WSN)是一种Adhoc网络,由大量部署在监测区域内的传感器节点,以无线通信的方式组成一个多跳自组网络系统[1]。路由协议的主要作用是进行路由选择和数据转发,良好的路由算法有利于节约功耗,延长网络的生命周期。针对网络路由算法,目前已经有大量研究,从网络结构上可分为2类:平面路由算法和层次路由算法。在平面路由算法中,各节点在网络中地位一样,都可进行数据的采集和传递,但其在网络资源方面造成大量浪费;层次路由算法首先将监测区域划分为多个簇,然后通过数据融合技术降低冗余数据, 有效的减少通信数据,但仍存在簇首节点因为能耗不均出现能量耗尽而脱离网络的问题[2]。在众多路由算法中,基于LEACH的分簇路由协议在数据路由和节约功耗方面都表现出较好的性能,具有典型的研究价值。
2 LEACH路由协议
2.1路由协议概述
路由协议的主要任务是进行路由选择和数据传输,无线传感器网络路由协议良好的路由协议有助于节约网络功耗,是研究的重点。LEACH 的分簇路由协议采用分簇技术将网络的功耗均衡到每个传感器节点,在节约功耗方面优势明显。
LEACH协议是由Heinzelman等人针对无线传感器网络设计的一种低功耗路由协议[3]。LEACH协议的思路是采用了分簇技术,整个网络被分割成多个簇,簇内节点负责采集数据,然后将采集的数据发送给簇头,簇头将对收集到的信息进行数据融合后发送个Sink基站,协议中还采用了“轮”的簇首选举策略[4]。LEACH路由协议结构如图2.1所示。
图2.1 分簇路由结构
2.2LEACH算法描述
LEACH协议包括两个阶段:簇的建立和簇间通信。簇的建立和簇间通信所工作的时间为一个周期。
在簇的建立阶段,从所有传节点中选择部分节点作为簇头,簇头节点相当于本簇内数据传输的leader。簇头的选择方法是,每个节点都生成随机数(0或1),然后将生成的随机数与阈值做比较,阈值公式如式(1),如果生成的随机数小于阈值 T(n),则该节点当选簇头。
T(n)代表编号为n的节点的阈值; r节点为当前所处的轮数;P为 成为簇头节点的百分比。
簇间通信的任务是进行数据的传输。在该阶段,簇内节点对监测区域的信息进行采集并发送给Sink基站,簇头将采用数据融合技术收到的信息进行整理,随后采用单挑的传输机制将数据传输到Sink基站。如此,则完成了数据传输的整个流程,如此周期循环直到网络功耗耗尽。运行的周期性机制可以用图2.2表示。
2.3周期轮转机制
图2.2
2.4存在问题分析
LEACH 协议协议作为一种经典的分簇路由协议,其在节约网络功耗方面有着明显优势,但仍有不足之处。其主要问题可以概述如下:
1)在簇的建立阶段。簇头选举机制中所有节点参与选举生成随机数基将在计算上带来大量的不必要能耗;阈值公式虽然保证了所有传感器节点都有机会参与选举,但是并没有考虑节点存在能耗不均的问题。
2)在簇间通信过程中。簇头采用单挑的方式直接将信息发送给Sink节点。但由于簇头到基站的距离远近不同,对于网络中距离Sink节点较远的簇头采用单挑必将造成能量的浪费,会导致部分节点过早能量耗尽而脱离网络。
3 改进路由算法
簇头节点相当于本簇内数据传输的leader,进行工作消耗的能量较大,将造成各节点能耗不均衡;簇头选举机制中的阈值公式没有考虑到节点剩余能量的因素,可能导致剩余能量较少的节点因多次当选簇头能量耗尽而脱离网络。针对这一问题,提出改进的簇头选举策略。该策略在LEACH协议建立开始时,所有网络节点利用通信模块都向Sink基站发送格式为[ID,P,E]的数据包。该数据包包含传感器节点在当前网络中的身份信息、节点当前能量信息、随机数。基站根据数据包建立各节点信息的集合S{[ID1,P1E,1][ID2,P2,E2]……[IDn,Pn,En]},并将随机数P与改进后的阈值公式进行比较。改进的阈值公式如式(2),其中a为节点的剩余能量占所有节点平均剩余能量的百分比。
图3.1 链式数据传输结构
在簇间通信阶段,由于单挑路由机制对于距离Sink节点较远的簇头节点会造成能量浪费。在优化的路由算法中采用链式结进行簇间传输数据,距离基站较远的簇头,选择邻居簇头作为下一跳路由节点,直到到达Sink节点。链式数据传输结构如图3.1所示。
4 仿真实现与性能分析
本文使用OPNET软件对改进的LEACH-BP算法进行仿真,仿真区域设置于50m*50m的监测区域内,节点数量50个,每个节点的初始能量为2J,轮转周期20S。
图4.1 网络消耗总能量
图4.2 网络生命周期对比分析图
图4.1对三种路由算法的网络消耗能量进行了对比分析,从图可以看出LEACH、LEACH-C、LEACH-BP消耗总能量的差别,改进的路由算法LEACH-BP网络消耗能量低于其他两种算法,能有效的节约网络功耗。
图4.2对网络生命周期进行了比较,网络生命周期是指整个网络待能量耗尽的生存时间,结果表明LEACH-BP算法相对LEACH和LEACH-C在网络生命周期方面得到优化。
5 结束语
无线传感器网络的功耗问题一直是制约其发展的关键问题,虽然LEACH协议在节约功耗方面有一定的优势,但仍旧存在不足之处,本文通过对LEACH算法的研究,分别从簇的建立和簇间通信两个方面提出了一种基于LEACH的优化路由算法LEACH-BP。该算法优化了簇头选举机制和阈值公式,并采用链路结构的簇间通信策略,通过仿真分析表明该算法可以有效节约网络功耗。
[1]黎宁.Ad Hoc网络中的节能机制[J].电讯技术,2004,(3):5-11.
[2]孙利民.无线传感器网络[M].北京:清华大学出版社,2005:35-52.
[3]Kulik J,Heinzelman W,Balakrishnan H.Negotiation-based protocols for disseminating information in wireless sensor networks[J]. Wireless networks,2002,8(2):169-185.
[4]班艳丽,柴乔林.改进的网络路由算法[J].电子技术应用,2006,32(1):137-140.
张静(1991—),女,四川广安人,长春理工大学电子信息工程学院硕士研究生在读,研究方向:信号检测与信号处理理论与技术。