林小兰,肖明波 (厦门大学信息科学与技术学院 福建厦门 361005)
无线传感器网络[1]由微型、廉价、能量受限的传感器节点组成,节点问通过无线通信方式组成多跳网络。其目的是协作地感知、采集和处理网络覆盖区域中监测对象的信息,并以自组织多跳的网络方式发送给观察者。传感器、监测对象和观察者构成了传感器网络的3个要素,传感器网络系统通常包括传感器节点(,sensornode)、汇聚节点(sinknode)和管理节点。无线传感器网络体系结构如图1所示。无线传感器网络作为无线自组网,除了具备一般自组网的特点之外,还存在自身的一些特点以及现实条件约束:
(1)传感器节点电源能量有限。传感器节点携带能量十分有限的电源,部署区域环境复杂,有些地方人员无法到达,通过更换电池的方式往往不太方便。如何高效使用能量来最大化网络生命周期是传感器网络面临的首要挑战。
(2)自组织特性。在传感器网络应用中,节点通常被放置在没有基础设施的地方,节点位置往往无法预先设定,邻居关系也无法预先知道。通信协议需要致有自组织性、自适应性,能够适应动态拓扑变化。
(3)短距离多跳。无线通信的能量消耗与通信距离的关系为:E=Kd".通常有2<n<4。显然,随着通信距离的增加,能耗急剧增加。因此,无线传感器网络单跳传输距离较短,一般在几十米左右,并采用多跳路由的传输机制。
(4)应用相关。传感器的应用系统多种多样,不同的应用背景对其硬件平台、软件系统和网络协议的要求也有很大的差别。针对每个具体应用设计不同的传感器网络技术,是传感器网络设计不同于传统网络的显著特征。
l 无线传感器网络.MAC层协议概述
介质访问控制(Medium Access Control,MAC)协议决定无线信道的使用方式,在节点之间分配有限的无线通信资源,是保证网络高效通信的关键网络协议之一。
l.1 无线传惑器网络MAC层协议的特点
传统无线网络当中的MAC层协议不能直接适用于无线传感器网络,其主要原因有以下2个方面[2]:
(1)因为传感器节点有限的可用资源,包括处理能力、存储能力、通信能力和电源有限等。传统无线MAC协议试图提供高吞吐量、低延时、公平性和移动性管理,但是很少或几乎没有对能量节约方面进行考虑。而传感器网络由于每个传感器节点能量有限,必须在最小化能量消耗的前提下提供尽可能好的性能指标。所以传感器网络通常不惜牺牲一些性能参数,如吞吐量和延时,来减少能量消耗,换取更长的传感器网络的生命周期。
(2)因为不同的应用需要导致不同的网络特征。典型的传感器应用包括环境监测和目标追踪和感知。他们的特征是在正常的情况下消耗很小的网络资源,而当事件发生时,会产生大量的流量,设计的MAC协议应该适应这种网络特征。
1.2 MAC层协议的设计目标
l.2.1 MAC层协议设计的考虑
无线传感器网络是应用相关的网络,不同应用网络,对MAC协议的考虑也不尽相同,不存在一个适用于所有无线传感器网络的通用MAC协议。MAC协议设计时,需要着重考虑以下几个方面[3]:
节省能量 传感器网络节点一般是以干电池、纽扣电池等提供能量,电池能量通常难以补充,MAC协议在满足应用要求前提下,应尽量节省节点的能量。
可扩展性传感器网络中网络节点数目一般较大。另外,由于节点死亡、新节点加入、节点移动导致节点数目、分布密度等在传感器网络生存过程中不断变化。因此,MAC协议应具有可扩展性,以适应动态变化的拓扑结构。
兼顾网络性能 网络性能包括网络的公平性、实时性、吞吐量以及带宽利用率。不同应用的传感器网络产生不同特征的流量,要求不同的性能参数,所以MAC协议应能兼顾好这些网络性能。
无线传感器网络MAC协议设计不仅应该注意以一卜几个方面,更重要的是在这些衡量标准中取得一个很好的平衡。普遍认为,节约能量是MAC协议设计的首要目标,其他性能视具体应用决定。为了达到首要性能可以适当地牺牲部分次要的性能。
1.2.2 传感器网络能耗浪费
经过大量实验和理论分析,人们发现可能造成传感器网络能量浪费的主要原因包括如下几个方面[4]:
碰撞冲突问题 节点在发送数据过程中,可能会引起多个节点之间发送的数据产生碰撞。而重传数据,将消耗节点更多能量。
串音问题 节点接收并处理不必要的数据。这种串音现象造成节点的无线接收模块和处理模块消耗更多的能量。
空闲侦听问题 节点在不需要发送数据时一直保持对信道的空闲侦听,过度空闲侦听或没必要的空闲侦听会造成节点能量浪费。 控制消息消耗 如果控制消息过多,也会消耗较多的能量。
1.2.3 MAC协议分类
目前针对不同的传感网络应用,研究人员从不同方面提出了多个MAC协议,按照下列条件分类MAC协议:采用分布式控制还是集中控制;使用单一共享信道还是多个信道;采用固定分配信道方式还是随机访问信道方式。固定分配信道方式和随机访问信道方式,将传感器网络的MAC协议分为以下3类:
(1)采用无线信道的随机竞争方式,节点在需要发送数据时通过竞争使用无线信道;如IEEE802.1lMAC协,S-MAC,T-MAC.Sift协议[5];
(2)采用无线信道的时分复用方式(time divisionmultiple-access,TDMA),给每个传感器节点分配固定的无线信道使用时段,避免节点之间的相互干扰;如DEANA[6],TRAMA[7],DMAC协议
(3)采用竞争与固定分配方式相结合的MAC协议,如通过采用FDMA或者CDMA与TDMA相结合方法,避免了共享信道的碰撞问题,增加了协议的扩展性。如TDMA和CSMA的混合如Z-MAC(ZebI'a MAc)协议[8],TDMA和FDMA的混合如SMACS/EAR(Self-or-ganizing Medium Access.Control for Sensor Networks/Eavesdrop and Register)[9]协议,或是CDMA和CSMA/CA相结合的MAC协议[10]。
2几种典型的MAC协议研究
2.1 基于竞争类协议
典型的基于竞争的随机访问MAC协议是载波侦听多路访问(carrier Sense Muhiple-Access,CSMA)。无线局域网IEEE802.11MAC[11]的分布式协调(Distributedcoordination FLtaction,DcF)工作模式采用带冲突避免的载波侦听多路访问CSMA/CA协议,他可以作为基于竞争MAC协议的代表。但是该协议要求射频部分一直处于侦 听状态,消耗r大量的能量,不适合无线传感器网络。2.1.1 S-MAC协议 美国加州大学信息科学院的wei Ye和Estrin等人在802.1lMAC协议的基础上,提出了S-AC(SensorMAC协议)[''。该协议主要针对无线传感器网络的节省能量要求。S-AC协议通常假设传感器网络的数据传输量少,节点协作完成共同任务,网络内部能够进行数据 处理和融合减少数据通信量,网络能够容忍一定程度通信延迟。S-MAC协议就是为减少空闲侦听、冲突避免和减少控制开销而设计的,采用了工作/休眠策略,将时间分为帧,每一帧分为工作阶段和休眠阶段。其主要采用以下儿种措施:
(1)周期性侦听/睡眠:每个节点独立地调度他的工作状态,周期性地转入睡眠状态,睡眠期间关掉无线电收发部分,在苏醒后侦听信道状态,判断是否需要发送或接收数据。如图2所示。
每个节点用SYNC消息通告自己的调度信息,同时维护一个调度表,保存所有相邻节点的调度信息。具有相同调度的节点形成一个虚拟簇,簇的边界节点记录两个或者多个调度,如图3所示。部署区域内,可能形成多个簇。为了适应新节点的加入,每个都要定期广播自己的调度,使新节点可以与已经存在的相邻节点保持同步。
(2)流量自适应侦听机制:通信节点的邻居节点在通信结束后不立即进入睡眠状态而是侦听信道一段时间,无须等待下一次调度,减少了多跳方式引起的传输延迟。 (3)串音避免:每个节点在传输数据时,都要经历RTS/CTS/DATA/ACK的通信过程。每个分组都有一个域值(NAV)表示剩余通信过程需要持续的时间长度。若邻居节点处于侦听周期时,记录这个时间长度值,同时进入睡眠状态。NAV变为0时,节点就被唤醒。
(4)消息传递:S-MAC协议利用RTS/CTS机制,一次预约发送整个长消息的时间,并把一个长消息分成许多短消息。如图4所示。
不同的是:S-MAC的RTS/CTS控制消息和数据消息携带的时间是整个长消息的剩余时间,其他节点接收到这个剩余时间然后进入睡眠状态,直至长消息发送完成。而IEEE802.11MAC协议考虑网络的公平性,RTS/CTS只预约下一个发送短消息的时间,其他节点在每个短消息发送完成后都必须醒来进入侦听状态。 S-MAC协议增加了能量的效率,避免了冲突造成的能量浪费,但是也存在不足:第一,由于是周期性的侦听和睡眠,一个节点给邻居发送数据只能等到他处于侦听状态,造成延时。第二,当邻居节点同时唤醒信道时,一致同步会增加邻居间冲突。第三,固定占空比不能随网络流量变化动态调整,低流量情况下会导致能量浪费,增加时延。
2.1.2 T-MAC协议
T-MAC(timeout MAC)协议[12]是在S-MAC协议的基础上提出的。T-MAC协议在保持周期长度不变的基础上,根据通信流量动态地调整活动时间,用突发方式发送信息,减少侦听时间。如图5所示,向上箭头表示发送消息,向下的箭头表示接收消息,上面部分的信息流表示节点一直处于侦听方式,下面部分表示采用T-MAC
协议时的消息收发序列。发送数据时采用RTS/CTS/DATA/ACK的通信过程,节点周期性唤醒进行侦听,如果在一个给定时间TA(Time Active)内没有发生下面任何一个激活事件,则活动结束:周期时间定时器溢出;在无线信道上收到数据;通过接收信号强度指示RSSI(ReceivedSignal Strength Indication)感知存在无线通信;通过侦听RTS/CTS分组,确认邻居的数据交换已经结束。 TA决定每个周期最小的空闲侦听时间,他的取值至关重要,其取值约束为:TA>C+R+T,其中,C为竞争信道时间,R为发送RTS分组的时间,T为RTS分组结束到发出CTS分组开始的时间。
T-MAC协议的优点是减少了空闲侦听功耗,适用于可变负载的场景,但是他根据当前网络通信情况,提前结束活动周期来减少空闲侦听,会带来早睡问题。为了解决早睡问题,提出了2种方法:未来请求发送;满缓冲区优先方案。但其效果如何在实践中仍未得到验证。T-MAC协议对网络动态拓扑结构变化的适应性也需要进一步研究。
2.2 基于固定分配类的MAC协议
TDMA机制的一些特点非常适合传感器网络节省能量的需求:TDMA机制没有竞争机制的碰撞重传问题;数据传输时不需要过多的控制信息;节点在空闲时槽能够及时进入睡眠状态。这里结合具体传感器网络应用,提出多个基于TDMA的传感器网络MAC协议。DMAC协议[13]就是基于TDMA的传感器网络MAC协议。
S-MAC和T-MAC协议采用周期性的活动/睡眠策略减少能量消耗,但出现数据在转发中"走走一停停"问题。处于睡眠状态的节点,要发送数据时必须等到活动周期才可以,中间节点要转发数据时,也必须等到下一跳节点处于活动周期。这种节点睡眠带来的延迟会随着路径上跳数的增加成比例增加。
传感器网络中一种重要的通信模式是多个传感器节点向一个汇聚节点发送数据,形成一个以汇聚节点为根节点的树型网络结构,称为数据采集树。DMAC协议就是针对这种数据采集树结构提出的,目的是减少网络的能量消耗和减少数据的传输延迟。主要采用如下的设计:
(1)交错的唤醒调度:如图6所示,将节点周期划分为接收时间、发送时间和睡眠时间。其中接收时间和发送时间相等,均为发送一个数据分组时间。每个节点的调度时间具有不同的偏移,下层节点的发送时间对应于上层节点的接收时间。
(2)当一个节点有多个分组要发送时,采用时隙到时隙的更新机制保证在多跳的路径上自适应增加他的占空比。 (3)采用数据预测机制解决父结点早睡的问题。
(4)采用(More-To-Send,MTS)分组机制,解决表兄弟结点间的干扰问题。
DMAC这些机制都是为了减少数据在网络中的传输延迟以及减少网络能量的消耗。该协议非常适合边缘源节点数据流量小而中间融合节点数据流量大的传感器网络。DMAC协议需要节点间严格的时间同步。
基于时分复用的MAC协议有许多优点:对信道进行预留,使得每个节点都可以公平地利用自己的时隙来发送数据,避免了信道竞争和串音问题,但是这类协议也存在许多不足:第一,网络扩展性方面存在不足;第二,需要时钟同步,很难调整时间帧的长度和时槽的分配;第三,对于传感器网络的节点移动、节点失效等动态拓扑结构适应性较差;第四,对于节点发送数据量的变化不敏感;第五,很难准确知道邻居节点间的干扰关系,难以完全避免冲突;第六,与竞争为主MAC协议相比,基于时分协议的信道利用率比较低,而且有比较高的时延。 3 结 语
目前无线传感器网络MAc层协议的研究是一个热点,由于无线传感器网络的特殊性,其发展面临着许多特有的问题,对MAC协议的考虑也不同。本文对各类典型协议进行分析比较,并指出了各协议的优缺点与所要解决的问题。无论采用的是竞争分配机制,还是采用基于固定信道分配或是其他类型的MAC协议,都需要根据具体应用选择不同协议类型来设计MAC协议。随着无线传感器网络MAC协议研究的不断深入,一些新的MAC协议会不断提出,对于协议的适当选择取决于应用背景、网络负载类型、传感器节点的硬件特点等多方面因素。由于MAC层协议还处于不断发展和完善之中,各方面都比较好的协议还有待进一步研究。
|