基于GAF的无线传感器网络MAC协议

无线传感器网络由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织网络系统,主要用于收集、传播和处理传感信息。

与传统的无线自组织网络不同,无线传感器网络节点数目庞大,节点分布密集;由于环境影响和能量耗尽,节点更容易出现故障;环境干扰和节点故障易造成网络拓扑结构的变化。另外,节点的能量、处理能力、存储能力和通信能力等都有限,因此无线传感器网络的首要设计目标是能源的高效利用。无线传感网络介质访问控制(Media Access Control,MAC)协议必须以节约能源为主要目标,并且采用折中机制,使用户可以在延长网络生命周期和提高网络吞吐量、降低通信延迟等方面做出选择。

目前针对不同的传感器网络应用,研究人员从不同方面提出了多个MAC协议,缺乏统一的分类方式,根据采用固定分配信道方式或随机访问信道方式,将传感器网络MAC协议分为:时分复用方式(TDMA)、随机竞争方式和其他MAC协议。固定分配信道方式的TDMA可以自然完成节点上的低占空比操作,因为他们只需在自己的时隙里开启无线模块完成发送和接收,但其可扩展性较差,而时间同步对系统是一笔较大的开销。由于无线传感网络数据率较低,而且对时延的要求不高,因此目前实用的节能MAC协议基本是基于竞争的协议。大量实验和理论分析表明无线传感器节点的能量浪费主要源自空闲侦听、冲突、串扰和控制。因此结合现有的无线传感器网络MAC协议,引入层次型拓扑结构控制思想,建立一种高效节能的无线传感器网络协议,并进行分析、仿真和验证,具有研究意义。

1 竞争类MAC协议分析

1.1 S-MAC协议

S-MAC协议是在802.11MAC协议的基础上,针对传感器网络的节能需求而提出的传感器网络MAC协议。S-MAC协议假设通常情况下传感器网络数据传输量少,节点协作完成共同的任务,网络内部能够进行数据处理和融合以减少数据通信量,网络可以容忍一定程度的延迟。研究表明传感器能量主要消耗在节点间的通行上,而空闲侦听大约占节点通信能量的1/3.为达到节省能量的目的S-MAC协议主要采用周期性的侦听/睡眠的低占空比机制,控制节点尽可能处于睡眠状态来降低节点能量的消耗。但S-MAC协议存在以下问题:S-MAC协议中同一个虚拟簇中的所有节点要同时从睡眠状态转换到活动状态,开始对信道的竞争,而大量节点没有数据传输任务,这些节点对信道的竞争和空闲侦听浪费了大量的能量。

1.2 T-MAC协议

T-MAC(Timeout MAC)协议是在S-MAC协议的基础上提出的。S-MAC协议的周期长度受限于延迟要求和缓存大小,而侦听时间主要依赖于消息速率。因此,为保证消息的可靠传输,节点的周期活动时间必须适应最高的通信负载,从而造成网络负载较小时,节点空闲侦听时间的相对增加,针对这一不足,文献提出了T-MAC协议,该协议在保持周期侦听长度不变的情况下,根据通信流量动态调整节点活动时间,用突发方式发送消息,减少空闲侦听时间。但是由于大量无需数据传输的节点对信道的竞争和空闲侦听仍造成大量能量的浪费,另外T-MAC协议的执行,会出现早睡眠问题,引起网络的吞吐量降低。为此,它采用两种方法来提高早睡眠引起的数据吞吐量下降:(1)未来请求发送机制。(2)满缓冲区优先机制,但效果并不是很理想。

2 基于拓扑控制结构的MAC协议设计

S-MAC、T-MAC虚拟簇中的所有节点都周期性地从睡眠状态转入工作状态,参与信道的竞争和数据传输,而大部分节点没有数据传输任务,造成他们在大部分活动时间处于空闲侦听状态,而浪费了大量能量。针对S-MAC、T-MAC无法避免的问题,提出了新MAC协议GS-MAC(Geo graphical SeNSor MAC)。GS-MAC协议引入了GAF拓扑控制算法后,适当减少活动节点数量,加快算法的收敛速度,减少大量节点对信道的空闲侦听和数据碰撞,从而达到节能的目的。

2.1 GAF改进算法

GAF(Geographical Adaptive Fidelity)算法是以节点地理位置为依据的分簇算法,该算法把监测区域分成虚拟单元格,将节点按照位置信息划入相应的单元格;每个单元格中定期选举产生一个簇头节点,只有簇头节点保持活动,其他节点进入睡眠状态,GAF算法的执行包括两个阶段:第一阶段是虚拟单元格的划分;第二阶段是簇头的选举产生。

虚拟单元格的划分:根据节点的位置信息和通信半径,将网络区域划分成若干虚拟单元格,保证相邻单元格中的任意两个节点都能够直接通信。为保证相邻两个单元格中任意的两个节点都能够直接通信,需满足如下关系式

在式(1)中,R为所有节点的通信半径;r为正方形虚拟单元格边长。

簇头的选举产生:GAF算法中簇头承担更多的数据处理和通信,消耗的能量相对较大。在改进的GAF算法中簇头的选举考虑到了节点剩余能量问题,选举剩余能量较多的节点担任簇头。随机簇头选举算法:节点只知道自己的能量信息和位置信息。假设某次簇头选举在Tr时刻开始,对单元格内任意节点N,以概率P 发送测试消息。概率P与剩余能量成正比,如果测试消息成功,它就发生消息M(Ep,N),Ep为节点N剩余能量;如果消息发送不成功,节点N进入侦听状态。如果在一个时槽内没有接到发送消息,表明该时槽内没有节点竞争成功,开始新一轮的选举,反之,如果有节点竞争成功,发送M(Ep,N)消息担任簇头,单元格内其他节点侦听到消息M加入该簇。

2.2 GS-MAC协议描述

在GS-MAC协议中只有簇头节点进入活动状态如图1和图2所示。

在新协议中,由于引入拓扑结构机制,可以减少一部分节点的空闲侦听时间,只保留簇头节点处于活动状态,在簇头选举中考虑到节点剩余能量,在局部范围内做到平衡节点剩余能量,延长了网络生存周期。

簇头节点维护和S-MAC协议类似的工作/睡眠机制,每个簇头节点周期性的与直接邻近簇头节点通过接收和广播SYNC数据帧来交换调度信息;采用CSMA/CA机制和随机退避时间;经历RTS/CTS/DATA/ACK通信过程完成数据传输,在数据传输完成之前不遵循其休眠时间安排;采用流量自适应侦听机制,减少消息的传输时延。

2.3 性能分析

利用NS2对S-MAC协议和新协议(GS-MAC)在能量消耗和传输时延两方面进行比较,其中能量消耗为从源节点发送一定数量包到目的节点的总能耗,时延为端到端时延。仿真场景设置300 m×300 m,布置10~50个节点,R=300 m,r=100 m,划分9个虚拟单元格。仿真参数选择如表1所示。

从图3可以看出在节点数目等于10时,几乎每个虚拟单元格都只有1个节点,GAF拓扑控制算法效率低,基本接近S-MAC协议,随着节点数目的逐步增加,GAF拓扑控制算法效率显着提高,能量消耗明显降低。

为比较两种协议在网络延迟性能方面的表现。在300m×300 m的场景中均匀布置50个固定节点,采用多跳网络拓扑来测试端到端的数据时延,源节点产生20条消息,每条100 Byte,所有消息不分片,在轻流量载荷条件下重复10次实验,测的每条平均消息时延如图4所示,由于源节点在GS-MAC中竞争簇头节点形成的时延,造成两种协议中第一个转发跳时延有较大差异,随着消息的向前传递,后面排队时延较少,但由于GS-MAC中发现状态的存在,使GS-MAC协议时延略大于 S-MAC协议时延。

综上所述,引进拓扑结构控制的GS-MAC协议能够在正常延时的条件下,进一步降低了节点能耗,延长了网络生存期。