2.2.2 介质访问控制技术
MAC协议设计时可能造成网络能量浪费的主要原因如下:
①空闲监听。因为节点不知道邻居节点的数据何时到来,所以必须始终保持自己的射频部分处于接收模式,形成空闲监听,造成了不必要的能量损耗。
②冲突碰撞。如果两个节点同时发送并相互产生干扰,则它们的传输都将失败,发送包被丢弃。此时用于发送这些数据包所消耗的能量就浪费掉了。
③控制开销。为了保证可靠传输,协议将使用一些控制分组,如RTS/CTS,虽然没有数据在其中,但是必须消耗一定的能量来发送它们。
④串扰。由于无线信道为共享介质,因此,节点也可以接收到邻居节点的数据包,然后再将其丢弃,此时,也会造成能量的耗费。
针对不同的传感器网络,研究人员设计了多种MAC协议以适用于不同的应用需求。本书将传感器网络的MAC协议分为三类:①基于竞争的MAC协议,适用于数据量不大、对实时性要求不高的通信业务;②基于固定分配的信道接入技术,适合实时性要求很强的语音、视频通信业务;③按需分配的信道接入技术。
1.基于竞争的MAC协议
其基本思想是:当传感器节点发送数据信息时,节点以某种竞争机制来使用无线信道,如果发送的数据信息在信道中产生碰撞,则按某种策略重传数据,直到发送成功或放弃发送。目前大部分的MAC协议都是在无线局域网IEEE 802.11协议中的分布式协调工作模式采用带冲突避免的载波侦听多路访问(CSMA/CA)的基础上改进和完善的。下面先介绍最基础的IEEE 802.11 MAC协议,然后介绍几种在此基础上改进的基于竞争的传感器网络MAC协议。
(1)IEEE 802.11 MAC协议
IEEE 802.11 MAC协议包括分布式协调(Distributed Coordination Function,DCF)和点协调(Point Coordination Function,PCF)两种访问控制方式。其中,DCF方式为IEEE 802.11 MAC协议的基本访问控制方式。由于在无线信道中的信号碰撞难以被检测到,所以只能采用随机退避的方式来减少信号碰撞的概率。
在DCF方式中,节点在侦听到无线信道被占用的信息之后,使用带冲突避免的载波侦听多路复用(CSMA/CA)机制和随机退避的方式实现共享无线信道的目的。此外,在DCF方式中的所有定向通信都采用主动确认(ACK帧)机制,如果未接收到ACK帧,则发送方重新发送数据。载波侦听机制通过物理载波侦听和虚拟载波侦听两种方式来侦听无线信道的状态信息。其中,物理载波侦听由物理层提供,虚拟载波侦听由数据链路层提供。如图2-1所示,节点C在节点A的通信范围内,节点D在节点B的通信范围内,但不在节点A的通信范围内。如果节点A要向节点B发送数据,首先需要A向B发送一个请求帧(Request to Send,RTS),然后B向A返回一个清除帧(Clear to Send,CTS)作为响应。RTS帧和CTS帧都包含一个网络分配矢量(NAV)字段来辨识这次数据交换所需要的时间。节点C和D在侦听到这一字段后,不再向节点A和B发送任何数据,直到数据交换完成为止。其中,NAV以均匀递减速率计数到零,当NAV为零时,虚拟载波侦听指示信道为空状态;不为零时,指示信道为占用状态。
图2-1 CSMA/CA中的虚拟载波侦听
PCF方式则是一种基于优先级的无竞争访问的方式,它通过访问接入点(access Point,AP)协调节点数据的收发,通过轮询的方式查询当前哪些节点有数据发送的请求,并在必要时给予数据发送权。这是一种可选的工作方式。
(2)S-MAC协议
对于无线传感器网络来说,CSMA/CA技术存在很大的缺陷,即需要节点连续检测信道是否处于空闲状态,这就造成了大量功耗,特别是当节点没有数据包传送而处于空闲状态时更加显著。为了解决这个问题,USC/WeiYe等人提出了S-MAC协议。
S-MAC协议在IEEE 802.11协议的基础上针对传感器网络节省能量的要求而设计的。它主要的设计目标是节省无线传感器网络节点能量的消耗,且同时提供良好的网络可拓展性。S-MAC协议已在TinyOS、NS2和UCB Mote等专业的仿真平台上进行了仿真测试,测试结果是源节点能耗是IEEE 802.11协议的源节点能耗的1/6~1/2。S-MAC协议的基本机制如图2-2所示。
图2-2 S-MAC协议的基本机制
S-MAC协议的基本思想是:
①采用周期性睡眠/侦听占空比的工作方式,减少节点空闲侦听时所消耗的能量。
②通过对周期性睡眠/侦听的调度进行同步,使具有相同睡眠调度的节点形成一个虚拟簇,这样既可以保证邻居节点调度周期同步,又具有了一定的可扩展性,适合多跳网络。
③采用串音避免机制。通过网络分配矢量NAV避免串扰的现象。
④采用消息传递机制。在无线通信的过程中,长消息出错的概率比短消息出错的概率高,所以消息传递机制先将一个长消息分为若干个短消息,其次采用RTS/CTS通告机制预定该长消息的发送时间,最后集中、连续地发送所分成的若干短消息。
S-MAC协议实现简单,减少了节点空闲侦听的时间,避免了传输碰撞和串扰现象,降低了能耗。由于周期性睡眠/侦听机制会导致网络延迟的加大,减少了吞吐量,在不同的网络负载下,尤其是负载波动剧烈的情况下,算法的效率将降低。
(3)T-MAC协议
T-MAC协议是在S-MAC协议的基础上提出并改进的,S-MAC的周期长度固定不变,其侦听活动时间也固定不变。然而,它的周期长度受限于缓存大小、延迟和消息速率的实时变化。为了保证消息及时可靠的传输,节点的活动时间需要适应最高通信负载,而当网络通信负载较小时,节点在空闲侦听的时间相对增多。针对S-MAC协议的侦听活动时间固定不变的问题,T-MAC协议能够依据负载情况动态调整节点的活动时间,做到自适应的调整占空比,用脉冲突发方式发送信息,减少空闲侦听时间。T-MAC协议和S-MAC协议的基本机制对比如图2-3所示。
图2-3 T-MAC与S-MAC协议工作机制对比
T-MAC协议的基本思想是:以突发方式发送信息,然后根据流量动态调整周期中的节点活动时间长度,使占空比动态变化,减少节点空闲侦听时间,相对增加节点的睡眠时间,最终实现降低节点能耗的目的。同时在T-MAC协议中,节点发送信息采用RTS-CTS-DATA-ACK机制,并且引入一个TA时隙。当节点处于活动时间内时,它既可以发送信息,同时也可以保持侦听状态。但进入时隙TA时间范围内,如果没有任何激活事件的发生,则节点开始进入休眠状态。由此可以看出,TA时隙决定了一个周期内空闲侦听的最短时间。T-MAC协议的激活事件如下:
①周期时间定时器时间到。
②在无线信道上接收到数据。
③在冲突过程中感知无线通信的存在。
④节点本身数据包或者ACK分组发送刚结束。
⑤通过侦听RTS/CTS分组,确认邻居的数据交换已经结束。
TA时隙的取值对于T-MAC协议的性能至关重要,其取值约束为TA>C+R+T。其中,C是活动时间的长度,R是发送RTS分组的时间,T是RTS分组结束到发出CTS分组开始的时间。
虽然,T-MAC协议可以相对地减少空闲侦听的时间,但这种提前结束活动周期从而减少空闲侦听的方式会带来“早睡”问题,即当某节点在其邻居节点正准备向自己发送数据时恰好进入了睡眠状态。T-MAC协议为解决“早睡”问题提出了很多方法,但都不尽理想。
2.基于固定分配的信道接入技术
基于固定分配的信道接入技术又被称为基于预约的信道接入技术,它首先将一个物理信道划分成多个子信道,然后根据节点的需要分配给节点。其中,最常见的就是TDMA、CDMA、FDMA以及一些组合形式的接入技术。由于无线传感器网络能量受限,传统无线网络的信道接入技术都需要经过改进才能应用于传感器网络。
1)TDMA技术
时分复用(Time Division Multiple Access,TDMA)机制是指为每一个无线传感器网络节点分配独立的用于数据收发的时隙,而节点在其他空闲时隙内转入睡眠状态。与基于竞争的协议相比,采用时分复用的方式可以减少数据的碰撞,且更能节省能量,因为省去了碰撞重传所产生的能量消耗。然而,TDMA机制本身也存在不足,它需要特别精准的时间同步,通常用在拓扑结构不变的网络中,它也不能很好地处理传感器节点移动和节点失效的情况,因此网络可扩展性方面有所欠缺。研究者在综合考虑TDMA机制的优缺点之后,结合具体的无线传感器网络应用,提出了多个基于TDMA的MAC协议。
(1)DEANA协议
DEANA(Distributed Energy-Aware Node Activation,分布式能量感知节点活动)协议是在TDMA协议的基础上提出的,它为WSN中的每个节点分配固定的时隙来进行数据传输。它还在TDMA机制的基础上做出了一些改进,在每一个节点的数据传输时隙之前加入了一段简短的控制时隙,这个控制时隙主要是用来通知在节点之间是否有数据需要收发,如果不需要进行收发,则进入睡眠状态,只有接收数据的节点保持活跃状态,如图2-4所示。
图2-4 DEANA协议的时间帧分配
(2)TRAMA协议
TRAMA(Traffic Adaptive Medium Access,流量自适应介质访问协议)协议是一种基于TDMA的能够高效率使用能量、无收发冲突的无线传感器基于时槽的媒体访问控制层协议。其独到之处在于该协议可根据各个节点的负载情况进行综合考虑,最后协商预约时槽,它可以适应网络的流量。
TRAMA协议的基本思想是:将一个物理信道划分为两类时槽,分别是传输槽(Transmission Slots)和信号槽(Signaling Slots),在传输槽和信号槽之间还存在短暂的切换期(Switching Period),其时隙分配如图2-5所示。传输槽内时槽是预先分配好的,基于预约进行访问;而信号槽则是随机进行访问的。传输槽的作用是交换各种信息和分配信号槽,其工作原理是一套节点使用时槽的选举算法。它通过使用基于流量的传输调度表来避免可能在接收节点发生的数据冲突或者使节点在无接收要求时进入低能耗模式来达到降低能耗的目的。
图2-5 TRANA时隙分配
TRAMA将时间分成一个个时隙,传输时隙长度固定,信令时隙要小于传输时隙,网络内节点可交换一跳或者两跳邻居节点信息,采用基于各节点流量信息的分布式选举算法选出特定时隙进行传输,这种预定时隙的机制,能够给数据信息发送者提供无竞争时隙,给短周期控制信息提供随机接入,以此来达到一定的吞吐量和公平性。
TRAMA协议主要由三部分内容组成:邻居协议(Neighbor Protocol,NP)、调度交换协议(Schedule Exchange Protocol,SEP)和自适应时槽选举算法(Adaptive Election Algorithm,AEA)。节点通过NP协议可以获得一致的两跳内的拓扑信息,通过SEP协议建立和维护发送节点之间的调度信息,通过AEA算法决定节点在当前时槽内的活动方式。TRAMA协议以分布式协商的方式来保证节点进行无冲突的数据传输,而无数据传输任务的节点进入睡眠状态,同时还要避免把时槽分配给无数据传输任务的节点。这样既可以节省能量的消耗,又可以保证网络的高数据传输率。可以看出TRAMA协议能够提高能量效率,较快适应网络的变化,有效避免数据的冲突,保证较高的数据吞吐量和公平性。但是,TRAMA协议对时间同步要求精准,需要增加较大一部分的控制开销和存储空间,对节点的硬件要求较高。
(3)DMAC协议
DMAC(Data-gathering MAC)协议是针对竞争性MAC协议中的S-MAC和T-MAC协议的数据转发停顿问题而提出来的。DMAC协议特别适用于无线传感器网络中的树形拓扑网络,如图2-6所示。
DMAC协议的基本思想是:
①采用交错调度机制,能够有效减少数据在网络中的传输延迟。
②采用自适应占空比机制、ACK应答机制,能够以网络流量为依据动态地调整占空比。
③采用预分配机制,可以有效避免休眠延迟。
④采用MTS帧机制、数据预测机制,能够降低不同父节点的邻居节点之间干扰造成的传输延迟。
所有这些为了减少数据延迟和降低能耗的DMAC调度机制可被称为“梯形”调度,尽管有利于感知数据的及时上传,却不利于兴趣查询和指令发布。如果想在节点之间进行数据交换,则不能选择DMAC协议,因为它只有向上汇报一个方向。DMAC协议能够有效减少传输延迟和减低能耗,但DMAC协议的实现过于复杂且假设条件过多。
图2-6 DMAC协议的交错调度机制
2)CDMA技术
基于CDMA方式的无线传感器网络MAC协议的通信方式和CDMA方式相似,主要采用的是CDMA的伪随机码分配算法,所有传感器网络内的节点都与其两跳距离范围内的节点所分配的伪随机码两两正交,以此来避免节点间无线通信的相互干扰。这就需要建立一条公共信道来实现这种编码分配,传感器网络内的节点通过建立的公共信道来查询两跳范围内节点的伪随机码,以此来调整和发布自己的伪随机码。能量有限的传感器网络限制了传统无线信道中的CDMA技术的使用,所以近些年主要研究将CDMA技术与其他方式相结合的方式来更好地适应目前的无线传感器网络,如CSMA/CA和CDMA相结合的MAC协议。
研究发现,节点大部分的能量主要用来进行数据侦听,而不是数据传输,链路侦听操作相对简单,只需要使用低功耗的硬件。我们可以在传感器节点上使链路侦听和数据收发采用两个独立的模块,其中链路侦听模块采用CSMA/CA机制传送节点之间的握手信息,数据收发模块采用CDMA机制来收发数据,这样就可以在节点不需要收发数据时让数据收发模块进入睡眠状态,唤醒侦听模块开始工作;如果节点需要收发数据,则由链路侦听模块发送一个唤醒收发模块的信号来唤醒收发模块,然后再由收发模块收发数据。这种结合CSMA/CA和CDMA的MAC协议允许两跳范围内的节点采用不同的编码方式实现多个节点对之间的同时通信,并且增加了网络吞吐量,降低了网络延迟。但是这种方式对处理器及其他硬件有更高的要求,因为要配置更多的通信模块,对成本的节约和制造工艺的精细要求非常严格。
3)FDMA技术
FDMA(Frequency Division Multiple Access,频分多址)技术是将传输频带分为N个部分,每个部分作为一个独立的传输信道使用。这样就可以实现在一个传输信道上可以有N部分对话信息进行传送,这样做可以大大提高频带利用率。通常,在一条通信信道上,实际传送一段信息所需要的频带宽度远远小于信道所提供的频带宽度,因此,一条信道只传输一路信号较为浪费。为了可以充分利用频带宽度,提出了频分复用的概念。信道复用率高是频分复用技术的最大优点,它容许复用的路数多,分路也方便。因此,它成为模拟通信中最重要的一种复用方式,尤其是在有线和微波通信系统中应用十分广泛。但FDMA系统最大的缺点是设备生产过程较为复杂,会因滤波器件的特性不够理想和信道内存在非线性而产生路间干扰。
综合FDMA技术和无线传感器网络的特点,研究人员提出了一种基于TDMA和FDMA技术的MAC协议,即SMACS/EAR(Self-Organizing Medium Access Control For Sensor Networks/Eavesdrop And Register)协议。协议的基本思想是为节点对之间建立一个特有的频段用来进行数据传输,并保证各节点对之间采用的频段不重复,从而避免数据碰撞。SMACS协议主要用于静态节点间链路的建立,而EAR协议可以建立少量动态节点与静态节点之间的通信链路。SMACS/EAR协议不要求所有节点之间时间同步,只需要两个通信节点之间保持相对的帧同步。它对数据的碰撞不能完全地避免,这是因为多个节点在协商过程中可能同时发送“邀请”信息或应答信息。由于每个节点要保持多个通信频带,因此对硬件要求更高,也由于每个节点需要建立的通信链路数无法预计,使得整个网络的利用率不高。
3.按需分配的信道接入技术
按需分配是另一种在无线局域网中很重要的信道接入方式,这种技术的原则是网络按某种循环顺序询问每个终端是否有数据发送,如果有则立即发送;如果没有则网络立即转向下一个终端。轮询的特点是可以使各终端可以公平地获得信道访问控制权,适用于通信业务量随时间变化,且这种变化是不可预测的情况。这种方式在一般的实时分布式测控系统中获得了广泛的应用。
(1)PCF方式
IEEE 802.11是专门为无线局域网设计的通信标准,IEEE 802.11协议的MAC层有两种控制方式:PCF和DCF,又称为点协调和分布式协调。其中以DCF为主要的媒体访问控制方式,以CSMA/CA为主,以RTS/CTS消息交换机制为辅。而在PCF方式下,网络中心接入点轮询各个工作站实现点协调方式。
PCF工作方式是基于优先级的无竞争访问,以轮询的方式查询当前有哪些节点需要进行数据发送,并在必要时给予该节点数据发送权。因此,PCF具有较小的延迟,能使网络吞吐量达到最佳化,可以更好地支持无竞争的限时业务,如语音、视频或多媒体业务等。
(2)WTRP方式
在无线自组织网络中有一种典型的MAC接入协议,称为无线令牌环控制协议(Wireless Token Ring Protocol,WTRP),此协议基于PCF方式建立。系统按照某种分群算法将网络初始化为若干环形拓扑结构的子网络(令牌环),分群算法的目的就是获得一个相互连通、且可以覆盖所有节点的群。每个群则是由一个中心节点和若干个普通节点组成,该中心节点被选为群首,各群分别使用不同的信道。群首选择一个或多个节点作为网关用来进行本群与其他群之间的通信业务和中转任务。这里的网关就是在多个信道上切换工作的节点。分群后的分布式无线网络可以通过多群间的业务中转而完成各节点间的通信。该协议最大的特点是将令牌与数据结合在一起传送,有数据要发送的站点在转发数据包时将令牌位进行置位并附上站点地址,当令牌回到源节点时,也就知道了下一个令牌获得的站点。