电脑技术学习

无线传感器网络中地理能量感知路由的改进

dn001

无线传感器网络是由部署在监测区域内的大量廉价的微型传感器节点,通过无线通信的方式形成的一个多跳自组织网络系统,其目的是协作地感知、采集和处理覆盖区域内的事件信息,并发送给观察者。由于节点能量有限且补充困难,无线传感器网络的首要设计目标是能量[6]的高效利用。本文在原有GEAR[1]路由协议基础上提出改进方法,从而在路由协议[4]上节省无线传感器节点有限的能量,并提高整个网络的生存周期。

GEAR协议介绍和改进

GEAR[5](Geographical and Energy Aware Routing)路由协议是根据事件区域的地理位置信息,建立汇聚节点到事件区域的优化路径,避免了泛洪查询消息,从而减少了建立路由的开销。但是传统的GEAR路由机制由于缺乏足够的拓扑信息,路由过程中会遇到路由空洞[2]的现象。

本文提出了考虑两跳节点信息的路由机制,大大减少了路由空洞出现的概率,降低了每次成功查询的平均能耗;根据无线发射功率和通信半径的关系,由通信距离确定发射功率[3],并在路由选择时考虑发射功率,提出了更加节省能量的GPEAR路由机制。

GEAHAR路由机制

过多的路由空洞会消耗很多不必要的能量,降低整个网络的通信效率。为了减少或避免路由空洞,节点需要知道更多的拓扑信息,这就是GEAHAR(Geographical energy aware and hole avoid routing)机制提出的依据。基本思想是在查询消息时,节点选择下一跳节点不仅仅考虑邻居一跳节点的代价值最小,而是考虑两跳的信息。

邻居节点是指节点一跳通信范围内可以到达的所有节点的集合。如(1)式定义,dmax为节点最大通信距离,为所有节点的集合。

NbNi=

≤dmax,Nj∈N}(1)

节点Ni选择下一跳Nnext(i)的依据如(2)式。Nbi为节点Ni的邻居节点集合,NbNbi(j)为节点Ni的邻居节点Nbi(j)的邻居节点集合。β为比例系数,取值范围为0~1。β取值为1,算法退化为一跳的GEAR路由机制。式中需要注意的是NbNbi(j)(k)≠Ni,即第二跳节点不能选择当前节点,否则将出现返回路由的现象,这将大量消耗不必要的能量。

Nnext(i)=min(βc(Nbi(j),T)+(1-β)min(c(NBNbj(j)(k),T)))Nbi(j)∈Nbi,NbNbi(j)(K)∈NbNbi(j),NbNb(j)(k)≠Ni(2)

GPEAR路由机制

在接收灵敏度一定的情况下,无线发射功率P和接收半径R之间关系是P正比于R2~R5,也就是P可能会远远大于R2。如果在节点间通信时考虑通信的距离,适当调整发射功率,而不是使用相同的发射功率(这样的话只能以最大通信距离来发射),则可以大大降低通信的能耗,延长整个网络的寿命,降低每个数据包的通信代价。

GPEAR(Geographical and physical energy aware routing)路由机制是在传统GEAR路由机制作下一跳路由选择时,考虑物理层发射功率与通信半径的关系,从而做出更加适合的选择。

假设无线通信部分能量消耗与通信距离的四次方成正比,并将发射功率分为5档,见表1。

表1 发射功率与通信半径的关系

无线传感器网络中地理能量感知路由的改进

GPEAR路由机制则是选择邻居节点中代价值和发送一跳的通信代价的联合最小的节点作为下一跳节点,如式(3)所示:

Nnext(Ni)= (3)

式中,Nnext(Ni)为节点Ni选择的下一跳节点;h(Ni,Nj,T)为节点Ni经由Nj到事件区域T的新代价值;Esend(Ni,Nj)为节点Ni到节点Nj的通信代价,如表1中的归一化数值;NbNi为节点Ni的邻居节点集合;r为比例系数,取值范围为0~1

仿真环境

仿真条件假设

(1)查询信息中包含了目标区域(即事件区域)的位置,此处假设用目标区域的中心位置作为目标区域的位置;

(2)每个节点都知道自己的位置信息和剩余能量,并且可以通过一个简单的Hello机制获取邻居节点的位置信息和剩余能量。节点的位置信息可以使用低成本的GPS定位机制或者其他现成的定位机制获得;

(3)节点间的链接是双向的,即如果节点可以获得邻居节点的访问,则节点也可以访问邻居节点,这对于一般的MAC协议,如IEEE 802.11,都是容易实现的;

(4)节点每消耗总能量的10%时,通知邻居节点自己的剩余能量信息,用于更新邻居节点中的邻居节点列表信息;当节点剩余能量小于一个阈值时,将通知自己的邻居节点,将自己从邻居节点列表中删除,表示该节点已经死亡。