李萌 姜慧 李金蔚 刘娇 周新丽
摘 要:在物联网系统中,由于首要要考虑能源效率问题,所以,MAC协议设计不同于传统互联网。文中综述了不同MAC协议的核心机制、特点和优缺点,同时对其竞争式、分配式和混合式中典型的MAC协议进行了阐述。
关键词:物联网;MAC协议;竞争式;分配式;混合式
中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2015)12-00-03
0 引 言
目前,物联网应用较为广泛,但技术还未完全成熟,标准也未统一。物联网目前主要的技术有计算与服务技术、网络与通信技术、感知与标识技术、管理与支撑技术[1]。对于以上四个主要技术,都需重点研究如何应用MAC协议。本文对目前典型的MAC协议进行了分类,并从核心机制、特点和优缺点三个角度进行分析,力求起到归纳总结目前已有的MAC协议的作用。
根据MAC协议的信道访问方式,将MAC协议分为竞争式、分配式和混合式。其中,竞争式MAC协议按需分配信道,分配式MAC协议给不同的节点分配不同的信道,混合式MAC协议在了解信道的情况之后,能够在任何时隙传送信息。
1 竞争式MAC协议
基于竞争的MAC协议有三个优点:
(1)按需配给信道,故可以较理想地满足节点数和网络载荷的变动;
(2)可以较广泛地应对网络拓扑变动;
(3)不需要繁琐的时间同步。
这样的协议主要有S-MAC协议[2]、T-MAC协议[3]、Sift协议[4]和WiseMAC 协议[5]。下面从它们的核心机制、特点以及优缺点分别展开讨论。
1.1 S-MAC协议(Sensor-Multiple Access Control协议)
在2002年,加州大学(University of Southern California)的Wei Ye等人主张在以IEEE802.11协议SC9636-006的铺垫上,推出一种新的有关如何在传感器网络中节省消耗能量的设计,适用于多跳网络。
此协议利用周期性睡眠、自适应监听、串扰避免和分片传输机制这四种关键技术来改善能量消耗大这一缺陷。在一个调度周期内,会有不同调度方式的同步信号数据包被节点所接收,节点会默认一种调度方式并以数据包的形式广播传送出去。通常情况下,若邻居节点只有一个,则节点会选一种新的调度方式;若不止一个,则节点协调这两种不同的调度方式,然后广播一种能保持最大长度监听时间的调度方式。采用流量自适应监听是为了防止通信时间延迟,停止通信后,邻节点被唤醒来保持一段时间的监听,不需要等到下一个监听周期,而是立即收到信息,最终使得延迟时间缩短。
S-MAC协议的串扰避免机制一方面选用物理侦听,处理了隐藏节点问题并避免冲突,另一方面选用虚拟侦听,节点在收到NAV(Network Allocation Vector)的时候将迅速休眠,以防止各信道之间产生不同的信号。此外,该协议还会采用分片传输技术,即把大信息包划分为若干个小数据包并将它们一次传递,但是只使用一个RTS/CTS(Request to Send/Clear to Send)控制分组作为交互将它们同时传递,使能量的消耗和传送时间减少。
1.2 T-MAC协议
T-MAC协议(Timeout-Multiple Access Control)动态地调整一个调度周期内的活跃时间长度,以改变此周期内所占的时间比率来传递数据,属于一种自适应调整占空比的方法。该协议是以一种突发的方式来发送数据,并不断在周期时间内唤醒节点,使其处于活跃状态,当与邻居通信后,便进入睡眠,当开始下一个周期后才被唤醒。同时,又有新的消息将缓存在传送队列中,节点之间使用RTS-CTS-DATA-ACK的方法进行单方向通信,来保证消息的可靠传输。
此协议采用同步周期性收听、RTS操作和选择,以及可选择串扰避免机制这三种关键技术来实现。在数据传输的过程中,采取在每个周期内不断地发送SYNC帧来维持节点之间的同步。首先节点会监听一段时间。当在此时间内,节点未接收到SYNC帧,将采用某一默认的调度方式,并以SYNC帧形式来广播。
RTS发送结束到开始发送CTS的过程所用时TA取值范围为:TA>C+R+T,其中C为竞争信道用时,R为发送RTS所需要时间。另外,T-MAC协议中的串扰避免机制是可以选择的。
早睡问题即指节点在邻居节点准备向其传送数据时进入睡眠。解决早睡问题的方式有:
(1)预请求发送 FRTS机制(Future Request-to-Send)的作用机制如图1所示。
(2)满缓存区优先机制。当缓冲区接近饱和时,节点不再给RTS帧答复CTS帧,而是立即把RTS帧发给缓冲区内数据包的目的节点,从而构建数据传输。这个方法降低早睡发生的频率,但会在传送较大的数据量时加大产生冲突的风险。
1.3 Sift协议
该协议充分考虑了WSN的三个特点:(1)事件驱动的WSN分别在事件的检测和传递上有空间、时间的相关性;(2)并非所有节点都需要报告事件;(3)感知事件的节点密度是时变的。而它的设计目标是:当共享信道有N个节点一同检测到相同事件时,期望有小于N的R个节点可于尽量短的时间里不冲突的将检验过的信息发出,同时抑制剩余N-R个节点的消息发送。
基于事件驱动的特点和节点工作的特点,Sift协议避开了发送窗口的数量CW较大时导致时间延迟偏长的可能性,而选用CW值不变的方法。先假设节点传送信息时,有N个节点在竞争发送,则其工作过程为:如果首时隙内原节点没有传达信息,其他节点也没传达,则节点就减掉原设的发送节点的个数,同时提高节点在次时隙中传输数据的机率;如果仍然没有节点选在第二个时隙,则节点继续减去假定个数,再进一步加大选在下一时隙传输数据的机率......于是我们得到第r个节点发送数据时的概率公式:
Sift协议巧妙地利用WSN流量的突发性及局部相关性的特点,能够在各个时隙使用不同的传输机率,从而使短时间里部分节点可以不冲突地传播信息,达到了既节能又省时的效果。但此协议只从传输数据的节点出发改善问题,对接收信号节点的空闲状态考虑欠周,要求节点之间保持同步,而唤醒时间又会随着节点周期睡眠用时增大而延长,这样就加大了传输调控成本,因而仍然需要减短前导序列长度。
1.4 WiseMAC协议
WiseMAC协议是针对sift协议的不足加以改良之后产生的,它采用了动态调整前导长度的办法。接到信号的节点会在最近一次的ACK报文里夹带下回唤醒时间,让传输节点获知每一个下游节点的调度,从而缩短前导长度,而且以随机唤醒前导的办法来降低固定前导冲突的机率。
这种方法能比较理想的应对网络的流量变动,不过因为要缓存邻节点的信道侦听时长,使得它的采样调度表缓存开销较大,增加了实现该协议的难度,这种缺点在网络密度较大时更为突出,而且即使通过非坚持型CSMA访问去减少空闲监听,依然不能解决隐藏终端的弊端。总之,WiseMAC协议比较适合用于负载较小的访问控制。
2 分配式MAC协议
分配式MAC协议的信道访问方式主要有时分多址(TDMA)、频分多址(FDMA)和码分多址(CDMA)。它们分别将不同时槽、频率、正交码映射为不同的节点,并分配给不同的客户。例如,当使用时分多址(TDMA)调度方式的时候,数据流分成帧,帧又分成不同的时槽,每个用户被分配一个时槽,每个节点通过其特定的时槽即可实现无冲突访问信道。
分配式MAC协议目前主要有LEACH协议[6]、DEANA协议[7]、TRAMA协议[8]、BMA协议[9]和D-MAC协议。下面从它们的核心机制、特点以及优缺点分别展开。
2.1 LEACH协议
LEACH协议(低功耗自适应集簇分层型协议即Low-Energy Adaptive Clustering Hierarchy)基于LEACH算法。该算法平分整个网络的能量负载于传感器的每一个节点中。
该协议采用基于TDMA/CDMA的MAC层机制,融合了高效能的集群路由和媒体访问的思想,以及应用程序特定的数据聚合。LEACH包含新的、分布式集群形成的技术,这让它能够自组织大量的节点,负载在所有节点上均匀分布,并且能够通过分布式信号处理来节省通信资源。
该协议可以减少能耗,但由于未说明簇头节点的分布情况,可能导致一些节点的周围不存在簇头节点,而另一区域均为簇头节点。此外,因为该协议假设全部节点的初始能量等同,任何节点均可以与汇聚节点直接通信,且成为簇头的节点均消耗相等的能量,所以该协议不适合规模较大的无线传感网络和节点能量不均衡的网络。
2.2 DEANA协议
图2所示为DEANA协议(分布式能量感知节点活动协议即Distributed Energy-Aware Node Activation)的时间帧划分,且两阶段循环进行。在随机访问阶段,对节点进行了添加操作、删除操作以及时间同步操作。其控制时槽长度极短。
该协议可以排除某些串音问题,但各个节点要求较精准的时间同步。
2.3 TRAMA协议
在TDMA机制的基础上,加入流量自适应技术,使得节点根据实际流量分配时槽来进行无冲突通信,减少空闲侦听比例,从而降低能量消耗。
通过AEA算法判断得出,节点共有三类存在的状态,依次是发送、接收和睡眠状态。其中,处于发送状态的节点在两跳邻居内,拥有最高优先权;处于接收状态的节点则为目前指定接收方。剩余的节点均处在睡眠状态。
该协议需要节点具有较大存储空间与较高的计算性能,应用于周期性数据采集及监测。
2.4 BMA协议
BMA协议(Bit-Map-Assisted)在TDMA机制基础上,通过簇内分配时隙的方法,节点可以根据自身固有时隙实现与簇头的交流,从而规避空闲监听。每个周期由三个阶段组成,即簇内节点请求,簇头广播,数据发送和接收。
该协议不能适应网络流量变动,也不能完全利用信道。同时,簇头节点也需有较好的时钟同步、通信和计算性能,而且耗能较大。
2.5 D-MAC协议
D-MAC协议(Data gathering tree-based MAC)是在S-MAC和T-MAC协议的基础上,采用ACK应答机制和交错调度机制。节点被周期性的划分为三个阶段,图3中所示机制保证了数据的连续传播。
该协议解决了睡眠延时问题和数据转发停顿问题,适用于边缘节点数据流量较小而中间节点数据流量较大的网络。但需较精确的时钟同步,并且该协议不适应规模较大的网络[10]。
3 混合式MAC协议
为了解决竞争式MAC协议能量效率不高,以及分配式MAC协议不能较好地适应网络拓扑结构变化的问题,混合式MAC协议综合以上各协议的优点,提升整体性能。混合式MAC协议主要有Z-MAC协议。下面从核心机制、特点、优缺点进行介绍。
Z-MAC协议(Zebra MAC)[8]以载波侦听多路访问(CSMA)机制为基础。当竞争激烈时,引入TDMA机制处理信道冲突问题。竞争有所缓和后,便又采用CSMA机制,如此往复,在CSMA和TDMA两种机制之间转换。
节点能够于任何时隙传送信息,但需先了解信道情况。通过DRAND算法给每一个节点特定的时隙,使其具有传送优先权。该协议的完成主要分为邻居发现、时隙分配、本地时间帧交换和全局时间同步四个过程。
Z-MAC协议在最初阶段对全局时钟同步的精确程度要求较高,并且传输延时较长,控制开销较大。
4 结 语
本文对目前典型的MAC协议的核心机制、特点和优缺点进行阐述,为日后进一步研究如何减少冲突和串音、降低占空比、减少能耗等问题提供参考。
参考文献
[1]孙其博,刘杰,黎羴.物联网:概念、架构与关键技术研究综述[J].北京邮电大学学报, 2010,33(3):43-47.
[2]郭彬,李喆,夏鹏.无线传感器网络流量自适应混合MAC协议[J].计算机工程,2008,34(17):31-33.
[3]周丽敏,田斌,廖婷.无线传感器网络T-MAC协议的研究[J].传感器与微系统,2007(6):36-38.
[4] Jamieson K,Balakrishnan H,Tay YC.Sift:A MAC protocol for event-driver wireless sensor networks[R].Technical Report, MIT-LCS-TR-894,MIT, 2003.
[5] El-Hoiydi A, Decotignie JD.WiseMAC:An ultra low power MAC protocol for the downlink of infrastructure wireless sensor networks[C].In:Campolargo M, ed.Proc. of the ISCC 2004.Alexandria: IEEE Computer Society,2004:244-251.
[6] Heinzelman W B,Chandrakasan A P,Balakrishnan H.An application-specific protocol architecture for wireless microsensor networks[J].Wireless Communications IEEE Transactions on,2002,1(4):660-670.
[7]朱佳奇,胡钢,陈世志.基于DEANA协议的分簇网络性能研究[J].计算机工程,2010, 36(3): 92-93.
[8]蹇强,龚正虎,朱培栋.无线传感器网络MAC协议研究进展[J].软件学报,2008,19(2):389-403 .
[9]季炎,张维勇,许磊.一种基于时分复用的BMA协议改进方法[J].合肥工业大学学报,2009,32(12):1842-1845.
[10]侯跃霞.基于S-MAC协议无线传感网络节能技术研究[D].西安:西安电子科技大学, 2010.