- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种能量感知型无线传感器网络跨层式通信协议
0 引 言
无线传感器网络(Wireless Sensor Networks,WSN)是一种特殊的无线自组织通信网络。其区别于传统无线自组织网络的特点包括:节点数量特别巨大、节点硬件功能简单、应用场境复杂、各种资源受限等。能量资源受限是WSN主要的瓶颈之一。
能量感知型WSN协议重点强调高效利用能量的重要性,其设计思想主要是在WSN各层协议中引入能量优化算法,通过控制整个网络的能耗平稳性和高效性,从而达到在系统层面上改善传感器网络能耗特性、减少传感器网络的热点并延长整个网络的生存周期的目的。为了解决能耗问题,研究者提出了众多的解决途径,文献[2]提出的SPEED协议采用基于位置的思想,提供拥塞控制和软实时保障,从而降低通信冲突;文献[3]提出的SPIN协议则是利用基于数据的思想,通过引入抽象的元数据概念避免资源的盲目利用;Shah RC等人则直接设计了基于能量优化的路由协议。然而后续研究表明,在网络某一层单独引入能量优化策略的效果并不明显,并且可能会恶化其他层的能耗特性。跨层优化思想利用网络各层信息的有机交互,可以避免各层独立优化时引起的层间干扰。
本文基于这一思想,设计了一种简单可靠的跨层式通信协议ECLC(Cross-Layer Communication Proto-c0l),仿真结果表明:ECLC协议在保障网络流量和网络效率的前提下,可以较好地改善网络的能耗特性,延长网络的生存时间。
1 ECLE协议的设计目标
ECLC协议首要目标是改善整个网络的能耗特性;利用路由层与MAC层之间交互各自的能量信息,因此设计目标完全以实际应用的需求和可实现性为出发点。
1.1 能耗特性
网络整体能耗效率:整个网络的生存周期内,网络总能量(全部节点的初始能量之和)与整个网络采集到的数据量之比值。可表示为:
其中:ein-WSN表示整个WSN的初始能量;Dwsn为WSN在整个生存期内探测到的数据;ein-i为节点i的初始能量;Di为节点i在其生存期内探测到的全部数据;n为该WSN节点的个数。该指标衡量了WSN路由协议的整体能量效率。
网络能耗平稳度:在任意时刻,整个网络中所有节点剩余能量的均方误差。可表示为:
其中:随机变量erem表示WSN节点的剩余能量。剩余能量均方误差衡量了整个网络能耗的平稳性,通过控制剩余能量均方误差,可防止部分节点过早耗尽能量。
网络生存时间:从网络开始工作到有一定数量的节点死亡。该指标主要从时间角度考察了路由协议的整体性能;在WSN的实际应用过程中,网络生存时间是很关键的指标之一。
1.2 可扩展性与容错能力
由于WSN的应用环境复杂多变,节点失效、节点位置变化、新节点的加入都会引起网络拓扑结构的变化,这就要求网络协议具有很强的扩展性。另外由于节点死亡或无线链路本身的缺点会造成通信失败等故障,因而又对协议的容错能力有较高要求。
1.3 快速收敛性
WSN的能量和通信带宽等资源十分有限,因此要求协议能够快速收敛,以适应网络拓扑的动态变化,减少通信协议开销,提高信息传输效率。
1.4 服务质量(QoS)
WSN协议的QoS主要包括传输时延、数据精度、带宽利用率等指标。一旦考虑了服务质量,那么必然要在QoS和能耗特性之间选择平衡。
2 ECLC协议的描述
2.1 基本定义
为了后面描述的方便,先给出以下基本定义:邻居(Vicinage):与节点A可以直接通信的节点称为节点A的邻居。节点A的所有邻居构成它的邻域,记为VA。
前向邻居(Forward Vicinage):数据传输过程中可以成为节点A下一跳节点的邻居。节点A的所有前向邻居构成它的前向邻居集;记为FVSA。
后向邻居(Backward Vicinage):如果节点A是节点B的前向邻居,那么节点B就称为节点A的后向邻居。节点A的所有后向邻居构成它的后向邻居集,记为BVSA。
目的节点(Termini Node):不需其他节点路由,可直接将数据包发送给Sink的节点。
热度:节点建立通信链路的频繁程度。
2.2 信道接入
无线信道访问机制采用IEEE802.11 CSMA/CA机制。需要使用信道的节点首先侦听信道是否空闲,如果信道空闲且经过一个DIFS时序间隔后仍为空闲状态,那么发送节点直接开始发送分组数据;否则发送节点一直侦听信道直至信道最终空闲下来并且超过DIFS时序间隔,此时发送节点将启动退避机制。图1描述了CSMA/CA机制的基本访问方式。
2.3 链路选择
当系统布设完毕进入稳定状态后,Sink节点开始广播HELL0消息,其格式如图2所示。
该数据包共16个字节,其各字段含义如下:
NOP:用来标识采用何种协议,包括协议的名称代码、版本号等信息;
TID:HELLo消息的来源,因为系统中往往不止一个节点可直接向Sink发送数据;
NOT:该数据包被转发的次数,Sink节点广播此消息时该字段为O,每转发一次,该字段值加1,终节点发送时此字段值为1;
TRID:发出该数据包的节点ID;
EREM:发出该数据包的节点的当前剩余能量;
HELL0:消息内容;
HOT:发送该消息的节点"热度";
0NM:用来标记每次建立路由,在一次建立路由过程中,消息编码固定,Sink节点移动位置或其他情况下需要重建路由时,修改该字段;
SP:用来填补该数据包的空余,该字段值为O。
当某个节点收到此消息后,完成下面动作:
(1)检测数据帧,检测步骤如下:
①查看数据包的消息代码字段,检查与上次接收到的协议编号是否相同(首次接收到判为不同);若相同转步骤③;否则转步骤②;
②清除邻居列表信息,重新建表;
③查看HELLO消息数据包的转发节点ID字段,若该节点已包括在后向邻居列表中,则丢弃该包;
④将转发节点ID添加到前向邻居列表。
(2)发送一个名为"COUNTERSIGN"的确认消息数据包,消息格式如图3所示:
作者:李丹,陈传峰 福州大学 来源:现代电子技术
上一篇:浅谈3G基站建设中的几点建议
下一篇:短波通信频率功能的划分