引言
无线传感器网络是由众多微小传感器节点通过无线多跳自组织方式构成的,多学科高度交叉的新兴前沿研究领域。随着传感器节点微型化,在设计中大部分节点的能量有限,加之无线传感器网络无中心、自组织、多跳等特点,使得MAC协议的设计面临巨大的挑战。
媒体访问控制(MAC)协议的主要功能是控制传感器节点的报文传输对无线媒体的接入和占用,保证网络的整体性能。通过对现有系统的分析可知,无线传感器网络节点中通信部分的射频模块是节点中最大的耗能部件,是优化的主要目标。MAC协议直接控制射频模块,对节点功耗有重要影响,是保证无线传感器网络高效通信的关键。
1 MAC地址
无线传感器网络中,如果MAC协议要避免侦听,并在尽可能多的时间里处于休眠状态,那么MAC地址是非常重要的。MAC地址用于在数据转发过程中标识下一跳传感器节点。MAC地址包含在单播MAC分组数据包中,节点收到数据包后检查本节点路由表,确定下一跳MAC地址。这个过程延续到数据包到达目的节点。同时,节点判定哪些数据分组没有到达,数据未到达的节点可以进入休眠模式。无线传感器网络一般采用无线多跳方式通信,MAC地址具有空间复用特性:只要保证节点MAC地址在传输邻居节点间是唯一的,在传输邻居节点以外重复使用不影响MAC地址的邻居节点标识功能。在MAC层中,这种避免侦听(overhearing avoidance)的方式是一种非常重要的节省能量消耗的方法。
MAC地址的分配协议可分为网内唯一性和局部唯一性两种分布式分配。地址分配协议必须考虑网络链接的非对称性。如图1所示,非对称性是指节点A 能侦听到节点B,但是反过来,节点B却不能侦听到节点A。在假设所有节点都只与双向邻近节点通信的情况下,任意节点A的双向节点都必须有完全不同的地址。而且,任何单向输入节点的地址都必须不同于所有双向节点的地址。把节点的链接关系划分为双向链接、单向输入、单向输出。为了应对无线链接的时变和随机因素,这个邻近节点协议应该一次次重复运行,以便实时地更新和确认邻近节点间的链接关系。当节点A完成了对邻近节点状况的分析后,便开始广播消息,A的双向链接节点和单向输出节点发回INFO消息作为响应。通过类似的方法,节点A就知道每个邻近节点的身份了。节点A在过了门限期后,就知道其周围单跳节点和两跳邻近节点的情况了,如果节点A的单跳节点内有地址冲突,则发出一个CONFLICT消息。发生冲突的节点接到这个消息后,开始新一轮的地址选择。节点A 在成功执行地址分配算法后,就拥有了自己的地址。这种地址分配算法发生冲突的概率最小。
图1 双向链接节点、单向输入节点、单向输出节点
在基于内容的MAC协议中,MAC地址是必不可少的节省能量的措施,可以避免对周围邻近节点的侦听。
2 低占空比协议与唤醒问题
一个节点的理想状态应该是当一个分组传送给这个节点时,该节点总是处于接收状态。当这个节点自己要发送一个分组时,则该节点总是处于发送状态。在其他时间,这个节点总是处于休眠状态。低占空比(low duty cycle)协议使节点尽可能多地处于休眠状态,以使传感器节点的通信活动达到最少。为实现这一机制,几种MAC协议中引入了周期性唤醒(periodic wakeup)的方法。如图2所示,节点的大部分时间处于休眠状态,并且周期性地被唤醒以接收来自其他节点的数据。一个完整的唤醒周期包括休眠时段和监听时段。监听时段与唤醒时段的时间长度之比就是占空比。
图2 周期性唤醒方法
稀疏拓扑结构与能量管理(STEM)协议提供了一个解决空闲监听问题的方法。两个不同的信道,即唤醒信道和数据信道,如图3所示。数据信道一般处于休眠模式,除非进行数据发送或接收。在数据传输状态,数据信道仅执行MAC协议。在唤醒信道,时间被划分为若干个固定长度为T的唤醒时段。而一个唤醒时段又进一步划分为长度为TRX≤T的监听时段和一个休眠时段,表示唤醒信道的收发机进入休眠模式的时间段。如果一个节点进入监听时段,则其唤醒信道的接收机要开启,等待接收信号。如果在TRX时间内没有接收到任何信息,则再转换到休眠模式。否则,数据信道的收发机将启动一个分组传输。
图3 单一节点的STEM占空比
SMAC协议提供了减小空闲监听、冲突碰撞和串扰的机制,与STEM相反,SMAC不需要两个不同的信道。它采用周期性的唤醒方案,即每个节点根据预先确定的时间表,交替地改变固定长度的监听时段和固定长度的唤醒时段。不同于STEM的是,SMAC的监听时段可以用来接收并发送分组。如图4所示,节点x的监听周期被进一步划分为SYNCH、RTS、CTS三个阶段。SYNCH阶段,即同步阶段。节点x接收来自其相邻节点的SYNCH分组。分组中包含相邻节点的时间表,节点x将这些时间表存储在Schedule table中。
SYNCH阶段被进一步划分为时隙,x的相邻节点采用CSMA方式竞争信道,并有相应的回退。如果在之前任一时隙没有接收到数据,则每一个希望发送SYNCH分组的相邻节点y可以随机地拾取一个时隙并启动发送。在其他情况下,节点y会返回休眠模式,并等待节点x下一次被唤醒。节点x不需要在节点 y的每一个唤醒时段内均进行广播。
RTS阶段,也就是请求发送阶段,节点x监听来自邻居节点的RTS分组。在SMAC中,使用RTS/CTS握手方式来减小数据分组的碰撞和隐终端问题的影响,而且此阶段内的相邻节点可能会发生竞争。
CTS阶段,即清除发送阶段。若节点x前一阶段收到一个RTS分组,则节点x发送一个CTS分组,之后进行数据交换。
节点x在整个同步时段周期性地监听,以了解其相邻节点的状态。边界位置上的节点必须遵守两个或多个不同的时间表,以广播其SYNCH分组并发送数据。因此这些节点会比相邻节点都使用相同时间表的节点消耗更多的能量。
SMAC采用周期性唤醒方法,允许节点大多数数据停留在休眠模式,但也带来一定的通信延迟。此外会占用大量存储空间缓存数据,这在资源受限的无线传感器网络显得尤为突出。
MD(Mediation Device,仲裁设备)协议,是与IEEE 802.15.4标准所规定的对等通信方式兼容的。该协议为大规模、低占空比运行的节点间提供了不需要高精度时钟同步的可靠通信。MD协议允许无线传感网中节点周期性地进入休眠状态,并仅在唤醒模式下停留较短的时间,以便从相邻节点接收分组数据。该协议引进了动态同步(dynamic synchronization)的概念,是指不需要发送节点一直等待接收节点的询问信标,也可以实现同步。
图4 SMAC原理图
图5 MD协议
如图5所示,节点在绝大部分时间处于休眠状态,在醒来时发出询问信标。MD节点作为一个不停活动的仲裁者,通过接收由信息传输节点发出的RTS (请求发送)和目标节点的询问信标,协调两个节点暂时同步来传输数据。设置专门MD节点的方式称为“固定式MD”。由于MD节点不停地处于接收状态,不符合网络低能耗要求,又提出了分布式MD协议,即节点随机地成为MD。这样每个节点的平均占空比仍可很低,整个网络保持低功耗、低成本的异步网络。
对上述几种协议在以下几个方面进行比较,如表1所列。
表1 各协议特性比较
3 MAC协议分析与展望
本文介绍了一种MAC协议的相关技术,通过对几种MAC协议的分析可以看到,能量效率问题是无线传感器网络MAC协议的一个基本问题。因此,我们特别关注能够明显降低系统总体能量消耗的方法。无论何时都能够根据需要将节点导入休眠状态的方法,是一种有效保存能量的方法。为满足这一要求,本设计采用低占空比或唤醒技术的方法。休眠机制降低了能耗却增加了时延,多个性能指标间存在着矛盾。需要进一步地研究,如何根据应用需求在各优化指标间取得平衡。现有的MAC协议研究很少关注于网络的具体应用,而某些特定的应用需要其MAC协议针对某个或某些指标进行特别的优化。因此,MAC协议需要提供一种灵活多变的机制,以适用于多种不同应用的网络。