MAC协议就是当信道使用产生竞争时,如何采用有效协调机制或服务准则来分配信道的使用权。 MAC协议:以一定的顺序和有效的方式分配节点访问媒体的规则。 MAC协议的功能:决定终端通过何种方式接入介质传送数据包,处理MAC的组织结构及协调终端节点共享信道资源,规范网络中业务源的接入、避免冲突、功率控制、QoS管理等。 选择适当的MAC协议,提高无线资源的使用效率,提高系统的容量和传输质量。 由于WSN独特的资源限制和应用要求,设计MAC协议时,有以下几个原则: (1)能量有效性 由于节点一般采用电池供电,电池能量难以补充和更换,有效利用节点能量,延长网络生存时间,是设计网络各层协议要考虑的重要问题。节点能耗消耗中,无线收发电路消耗占据绝大部分,MAC协议直接控制无线收发电路,因此MAC协议的能量有效性直接影响节点和网络的生存寿命。 (2)可扩展性 是MAC协议适应网络大小、拓扑结构、节点密度不断变化的能力。一个好的MAC协议应具有可扩展性,以适应网络的动态变化。 (3)冲突避免 是MAC协议的基本任务。在WSN中,冲突避免的能力直接影响网络的吞吐量性能、带宽利用率以及节点的节能效果。 (4)延迟 指从发送节点向接收节点发送一个数据包需要的时间。在WSN中,延迟的重要性取决于具体的应用要求,与网络拓扑结构也有关系。 (5)吞吐量 指在单位时间内从发送节点到接收节点传输的数据量。网络的吞吐量受许多因素的影响,例如冲突避免机制的有效性、信道利用率、延迟、控制开销等。 (6)公平性 指网络中的节点能够平等地共享信道。对于节点间共同协作完成同一个任务,保证网络性能具有重要意义。 传统的MAC协议的设计目标是最大化吞吐量、最小化时延并且提供公平性。而为无线传感器网络设计的MAC协议关注的是最小化能耗,这就决定了它要适度地减小吞吐量和增加时延。 2.无线传感器网络MAC协议的分类 根据信道的分配策略可以分为: 固定分配类 随机竞争类 按需分配类 根据协议的应用场合和业务种类可分为: 面向话音业务类 面向数据业务类 面向综合话音与数据业务类 根据网络的拓扑结构分为: 有基础设施结构的中心类 用于Ad hoc结构的分布式; 根据媒质接入方式大致可分为: 基于竞争的MAC协议 基于调度的MAC协议 (1)基于竞争的MAC协议――采用按需使用信道的方式。 当节点需要发送数据时,通过竞争方式使用无线信道,如果发送的数据发生了碰撞,就按照某种策略重新发送数据,直到数据发送成功或放弃发送。 ①DCF分布协调功能协议 基于IEEE 802.11标准 ,主要是从MACAW(MACA:Multiple Access with Collision Avoidance for Wireless )协议演进而来。该协议很简单并且能很大程度上解决隐藏终端问题,但要求射频接收部分一直处于侦听状态,耗能大,不适合WSN。 ② PAMAS协议(Power Aware Medium Protocol and Signaling) 该协议基于CSMA,要求节点有两个分离的信道(控制和数据),每个节点只有当它的邻居不接收或发送时,才侦听数据信道并回复连接请求。不传输或不接收的节点会自动关闭无线收发模块以节省能量。由于双信道的使用,增加了传感器节点设计的成本和复杂度。 (2)基于调度的MAC协议 基于调度的MAC协议通过集中控制点预先安排其控制的所有节点在互相独立的子信道接入共享媒质,具有代表性的协议有TRAMA、SMACS/EAR、D-MAC等。 ①TRAMA(Traffic Adaptive Medium Access)协议 这是一种感知路由的分布式TDMA调度协议,包括3个协议:邻居协议NP、调度交换协议SEP和自适应时隙选择算法AEA。将时间分为连续时隙,采用分布式选举每个时隙的发送者,通过避免将时隙分配给无流量节点或使非接收或发送节点休眠来节能。 ②SMACS/EAR协议(Self-Organizing Medium Access Control for Sensor Networks/Eaves-drop and Register) 该协议是结合TDMA和FDMA的MAC协议,为每一对邻居节点分配一个特有频率进行数据传输,不同节点之间的频率互不干扰,从而避免传输碰撞。 3.典型的无线传感器网络MAC协议** (1)S-MAC协议(Sensor MAC) 第一个完全针对无线传感器网络设计的基于竞争的MAC协议,具有有效节能、扩展性和冲突避免三大优点。 根据WSN数据链路层的无效能耗问题,如 空闲侦听:通信模块始终处于接收状态 数据冲突:数据碰撞重传造成能量浪费 串扰:接收和处理无关数据,造成接受模块与处理模块耗能增多 控制开销:控制报文不传送有效数据,消耗结点能量,造成能量损失 针对上述能量损耗,S-MAC采用的主要机制如下 : ① 周期监听和睡眠机制:S-MAC协议将时间分为帧,帧长度由应用程序决定。帧内分监听工作阶段和睡眠阶段。监听/睡眠阶段持续时间根据应用可调,当节点处于睡眠阶段就关掉无线电波以节省能量,但需缓存这期间收到的数据以便工作阶段集中发送,并设置一个唤醒定时器。节点还需发送周期同步信息以同步相邻节点,相邻节点也可采用相同的监听/睡眠策略,新节点也可加入进来,节点还需要广播它们各自的监听/睡眠计划,这样使得S-MAC具有良好的扩展性。S-MAC协议发送数据期间不会进入睡眠阶段。该机制存在的不足是由于采用周期睡眠会带来一定的通信延迟,此外会占用大量存储空间缓存数据,这在资源受限的无线传感器网络显得尤为突出。 ② 冲突和串音避免机制:采用了物理和虚拟载波监听机制和RTS/CTS握手交互机制来减少冲突和避免串音。 与IEEE 802.11 MAC协议不同的是当邻居节点正在通信时,S-MAC协议节点直接进入睡眠阶段;当接收方节点处于空闲并正在监听周期时,就会被唤醒。串音分组通常是不需要的分组,它随着节点密度和业务负载增加而变得更加严重,因而造成能量浪费。串音可以通过更新基于RTS/CTS的NAV来避免,当NAV不为零就进入睡眠阶段,从而避免串音现象发生。一个可以遵循的原则就是当发送方和接收方的所有邻居在节点发送数据期间监听到RTS/CTS后就应当进入睡眠阶段。 ③消息传递机制:长消息转为多个短消息,只需一次RTS/CTS,提高消息成功发送率。 对于无线信道,传输差错和消息长度成正比,短消息传输成功的概率要大于长消息。消息传递技术根据这一原理,将长消息分为若干个短消息,采用一次RTS/CTS交互的握手机制预约这个长消息发送的时间,集中连续发送全部短消息,既可以减少控制报文开销,又可以提高消息成功发送率。 ④流量自适应监听机制:在多跳无线传感器网络中,节点周期性睡眠会导致通信延迟的累加。S-MAC协议采用了流量自适应监听机制,减小了通信延迟的累加效应。主要思想就是在一次通信过程中,通信节点的邻居节点在通信结束后不立即进入睡眠阶段,而是保持监听一段时间。如果节点在该时间段内收到RTS分组,则可立即接收数据,无须进入下一次监听工作周期,从而减少了数据分组的传输延迟。如果这段时间没有收到RTS分组,则转入睡眠阶段直到下一次监听工作周期。 尽管流量自适应监听机制将通信延迟减少到一半以上,但周期睡眠造成的延迟依然很显著(特别是当网络负载增大的时候)。因此,S-MAC并不适合健康监测、目标跟踪等实时性较高的应用。 (2)T-MAC协议 该协议是在S-MAC协议基础上改进的,也将时间分为帧,帧长度固定,监听工作长度可变。 T-MAC协议规定了5种事件和一个计时器TA,根据TA确定监听工作阶段的结束时间。 5种事件分别是―― 帧长度超时,即周期时间定时器溢出; 节点在无线信道收到数据; 通过接收信号强度指示(RSSI)感知数据传输冲突; 节点的数据或确认发送完成; 通过监听RTS/CTS(Request To Send/Clear To Send)确认邻居节点完成数据交换。 如果在TA内,通信模块没有监听到这5种事件中的任何一种,就认为信道进入空闲状态,节点就关闭无线电波通信模块,进入睡眠阶段。 为了减少空闲监听能耗,可以采用低能耗监听技术―― T-MAC协议节点周期性地短时间监听信道,以确定信道空闲状态。 如果无线信道空闲,节点再次进入睡眠阶段。 如果信道忙,节点继续监听信道,直到数据接收完毕或信道再次空闲。 节点在发送数据时,帧前加入唤醒前导,使得接收节点在帧的数据部分发送前进入工作状态,以接收数据。加入唤醒前导,增加了发送和接收数据的控制开销,但减少了空闲监听的能耗。针对此问题,T-MAC协议在保持周期长度不变的基础上,根据通信流量动态调节活动时间,用突发方式发送消息,从而减少空闲监听时间。 T-MAC协议的基本交互过程如图所示。 |