论文部分内容阅读
摘要:MAC协议的选择对无线传感器网络性能有较大影响,也是保证无线传感器网络高效通信的关键协议之一。文章着重介绍了目前常用的几种MAC协议。结合当今MAC协议的研究进展,介绍了研究者对这些协议的研究与改进。并展望了无线传感器网络的发展趋势。
关键词:MAC协议 研究 发展
中图分类号:TP212.1 文献标识码: A
1无线传感器MAC层协议
在无线传感器网络中,介质访问控制MAC(medium access control)协议决定了无线信道的使用方式,在节点之间分配有限的无线通信资源。MAC协议处于无线传感器网络协议底层,对网络性能有着较大影响,是保证无线传感器网络高效通信的关键协议之一。
1.能源有效性。由于目前节点的能量供应问题并没有得到很好解决,节约能量也就成为设计无线传感器网络MAC协议首要考虑的因素。
2.可扩展性。通常大部分处于无人照看模式的传感器网络应用都需要部署大量的节点,并且在传感器网络生命周期期存在节点数目、分布密度的不断变化、节点位置的变化以及新节点的加入等问题,所以无线传感器网络的拓扑结构具有动态性。这就需要MAC协议具有可扩展性,来适应这种动态变化的拓扑结构。
3.性能的综合测评。MAC协议的设计需要在多种性能间取得平衡。各项性能包括网络的实时性、公平性、带宽利用率、网络吞吐量以及等方面。
4.分布式算法。由于传感器节点的计算能力和存储能力有限,需要大量节点协同来完成某项任务,因此需要通过MAC协议的分布式算法有效的调度节点来完成任务。
2常用的MAC层协议分析
针对无线传感器网络 MAC 协议的研究通常根据应用环境不同而变换角度。通过对现有传感器网络的MAC协议的分析,按照节点信道机制把现有MAC协议大致分为两类:基于随机竞争的MAC协议和基于固定分配的MAC协议。
2.1基于随机竞争的MAC协议
基于随机竞争的MAC协议采用按需使用信道方式,它的基本思想是当节点需要发送数据时,通过竞争方式使用无线信道,如果发送的数据产生了碰撞,就基于某种策略重发数据,直到数据成功发送或放弃发送。在IEEE 802.11 MAC协议的基础上,研究者提出多种基于随机竞争的传感器网络MAC协议。
(1)S-MAC协议
S-MAC是一种典型的基于竞争的MAC协议,采用CSMA/CA竞争机制以及RTS/CTS握手机制。S-MAC的核心思想是引入周期的睡眠/唤醒机制,以减小空闲侦听所造成的能耗。每个节点睡眠一段时间后醒来,并侦听信道以检测是否有其他节点向自己发送数据。节点在睡眠时会将无线收发器调到低功率状态,并开启一个相应的计时器,计时器到时后节点会自动醒来。S-MAC中,节点的占空比(活跃期/周期)可以根据具体应用做相应的调整。
为保证通信节点之间能够遵循同样的唤醒/睡眠周期表,S-MAC协议中规定一个名为SYNC的同步帧,在该帧中记录节点的周期表。开始时,节点随机退避一段时间后广播自己的周期表。首先发出SYNC帧的节点即为虚拟簇的簇头节点。其他节点接收到该SYNC帧后相应调整自己的周期表。这样,保证了在同一虚拟簇内的节点具有相同的侦听时间,这就避免了因侦听时间不一致的而导致的传输错误。图1所示为S-MAC中节点的工作周期表。
图1 S-MAC中节点的工作周期表
(2)T-MAC协议
T-MAC(Timeout-MAC)协议是建立在S-MAC协议的基础上。S-MAC协议的周期长度由延迟和缓存的大小决定。为了适应网络吞吐量的随时变化,T-MAC协议改变了S-MAC协议中在每个周期内侦听时间固定不变的做法 提出了节点根据网络通信负载的大小相应的调整工作时间长度,以适应网络吞吐量的变化。
T-MAC协议定义了五个激活事件:1)周期时间定时器溢出;2)在无线信道上接收到数据;3)通过接收信号强度指示RSSI(Received Signal Strength Indication)感知到信道上存在无线通信;4)节点自身的数据交换结束;5)节点处于活跃期时,如果在TA时间内没有上述五个激活事件中的任何一个发生的话,节点就结束活跃期转而进入睡眠。因此,TA定义了活跃期的最短时间。
T-MAC协议主要特点是引入了一个超时间隔TA,若TA期间没有发生任何事件,则节点进入睡眠状态以实现节能。图2所示为T-MAC 协议睡眠调度图。T-MAC 中TA为活跃期长度的最小值,最大值根据节点的缓存能力而定。如果节点感知到数据,但本身又处于睡眠状态,就会将数据放置在缓存中,进入活跃期后再将数据一起发送出去。如果节点在第一个活跃期内没有将数据发送出去,数据就会继续存放在缓存中。但是这样的情况重复发生几次后,缓存就很有可能会溢出。
图2 T-MAC 协议睡眠调度图
超时时间间隔TA应满足的条件是 :
TA > C + R + T
其中C为竞争时间间隔的长度,R为RTS帧的时间长度,T为回转时间(介于RTS发送结束到接收到CTS所需要的一段时间)。
2.2基于固定分配的MAC层协议
固定分配类的MAC协议的基本思想是将一个物理信道分为多个子信道,并将子信道静态或动态的分配给需要通信的节点,各通信节点彼此互不干扰,避免发生信息碰撞。下面介绍几种常见的固定分配类的MAC协议:
(1)TRAMA协议
TRAMA协议的目的是保证节点根据实际的流量使用预先分配好的时隙,进行无冲突的通信。TRAMA协议通过避免把时槽分配给无流量的节点,并让非发送和接收节点处于睡眠状态以达到节省能量的目的。TRAMA协议主要包括的算法有:邻居协议NP(neighbor protocol);调度交换协议SEP(schedule exchange protocol);自适应时槽指定算法AEA(adaptive election algorithm)。
(2)DMAC协议
DMAC协议是传感器网络中基于数据聚集树的一种高效能量和低延迟的MAC层协议。在无线传感器网络中,DMAC协议从传感器节点到接收节点构建一棵数据聚集树。DMAC协议利用这一数据聚集树结构来实现高效能量利用率和低的包传输延迟。DMAC协议根据树中节点的调度机制,使节点进入激活/睡眠状态。这样就允许连续的数据传输流,使得在多跳路径上的所有节点都可以被通知到当前进行的数据传输和任何活动占空比的调整。如图3所示为数据聚集树形网络的结构。
图3 数据聚集树形网络
与S-MAC协议是相同,DMAC协议将网络所有节点的工作周期分为两大部分:活跃期与休眠期。与S-MAC协议的不同之处在于网络中所有节点的工作周期依次嵌套,不再分簇。并且每个节点的活跃期又被细分为接收时隙和发送时隙,每一个接收时隙为接收一个封包的时間,每一个发送时隙为发送一个封包的时间,网络中所有节点依次嵌套。如图4所示为DMAC协议网络中节点的嵌套。
图4 DMAC网络中节点的嵌套
3对MAC层协议的改进
上节介绍了几种无线传感器网络MAC层协议,但是这些协议本身都有不足之处。研究者针对协议的不足之处,提出了相应的改进方案。
(1)S-MAC协议的改进S-MAC协议通过节点周期性的睡眠、将长消息分割成多个短消息以减少竞争反应时间等方式减少了能量的消耗。但是S-MAC协议的限制因素也十分显著:总的帧时间受限于时延需求和缓存空间;不能很好的适应网络流量的变化。
针对S-MAC协议的不足,研究者提出了S-MAC的改進方案,改进的内容主要有以下三点:第一,随机唤醒;第二,为了不耽误数据传输,同一虚拟簇中的节点每隔一定周期全部被唤醒,此时状态和S-MAC完全一样;第三,一旦有数据传输的事件发生,所有节点按照CTS安排,进行休眠和等待,不再使用随机唤醒机制,直到数据传输完毕,继续随机唤醒。
(2)T-MAC协议的改进
T-MAC协议在S-MAC的基础上引入自适应性占空比,来应对不同时间和位置上网络吞吐量不同的情况。既减少了空闲时侦听能量消耗,又保持了合理吞吐量。但是在网络负载较小时,TA将成为T-MAC协议中节点能量损耗的主要因素,单向通信时还存在早睡问题,增加网络传输时延,影响网络吞吐量。
利用中心极限定理,研究者提出T-MAC协议改进方案。设置门限M,N,休眠列表A,B,C类。并设置A的休眠时间为B的2倍,C的TA为B的2倍,将B作为通常使用的休眠列表。M、N的取值要根据正态分布的特点选择。
当节点在一段时间内负载低于M时,就将休眠列表置为A,增大休眠时间。同时通知接收端节点使用的列表类型。这样在固定时间内就相对减少了TA的数量,从而达到节能的目的;当节点一段时间内负载大于N时,就将休眠列表置为C,增加TA的长度,以尽量避免早睡问题,增加网络吞吐量,减少网络时延。
(3)TRAMA协议的改进
TRAMA协议有效的避免了隐藏终端引起的竞争,因此达到了较高吞吐量。此外,TRAMA协议的节能效果也比较明显。但TRAMA的时钟同步存在一定的通信开销,延迟较长,而且要求节点有较大的存储空间来保存拓扑信息和邻居调度信息。
TDMA-W协议是对TRAMA协议的改进。该协议在调度阶段,首先采用分布式算法为所有节点分配时槽,节点每一帧分为发送槽和唤醒槽。在无通信活动时,计数器递减;成功传输一次数据,则两个计数器的值分别加1。节点根据计数器的值是否为0来判断是否发送唤醒信号。这一机制减少了唤醒信号的发送,同时保证在网络负载小时,节点有充分的睡眠时间。
4小结
无线传感器网络在军事、医疗、环境的监测和保护等领域都有着非常广阔的应用前景,现在已经引起了极大的关注。媒体接入访问控制(MAC)协议决定了共享媒体的使用方式,在网络节点之间分配共享的通信信道。由于其所处的地位,现在已经成为无线传感器网络研究的一个重要方向。无线传感器网络MAC协议今后会向高性能和低复杂性、服务质量(QoS)保障支持、跨层设计等方向继续深入研究。
关键词:MAC协议 研究 发展
中图分类号:TP212.1 文献标识码: A
1无线传感器MAC层协议
在无线传感器网络中,介质访问控制MAC(medium access control)协议决定了无线信道的使用方式,在节点之间分配有限的无线通信资源。MAC协议处于无线传感器网络协议底层,对网络性能有着较大影响,是保证无线传感器网络高效通信的关键协议之一。
1.能源有效性。由于目前节点的能量供应问题并没有得到很好解决,节约能量也就成为设计无线传感器网络MAC协议首要考虑的因素。
2.可扩展性。通常大部分处于无人照看模式的传感器网络应用都需要部署大量的节点,并且在传感器网络生命周期期存在节点数目、分布密度的不断变化、节点位置的变化以及新节点的加入等问题,所以无线传感器网络的拓扑结构具有动态性。这就需要MAC协议具有可扩展性,来适应这种动态变化的拓扑结构。
3.性能的综合测评。MAC协议的设计需要在多种性能间取得平衡。各项性能包括网络的实时性、公平性、带宽利用率、网络吞吐量以及等方面。
4.分布式算法。由于传感器节点的计算能力和存储能力有限,需要大量节点协同来完成某项任务,因此需要通过MAC协议的分布式算法有效的调度节点来完成任务。
2常用的MAC层协议分析
针对无线传感器网络 MAC 协议的研究通常根据应用环境不同而变换角度。通过对现有传感器网络的MAC协议的分析,按照节点信道机制把现有MAC协议大致分为两类:基于随机竞争的MAC协议和基于固定分配的MAC协议。
2.1基于随机竞争的MAC协议
基于随机竞争的MAC协议采用按需使用信道方式,它的基本思想是当节点需要发送数据时,通过竞争方式使用无线信道,如果发送的数据产生了碰撞,就基于某种策略重发数据,直到数据成功发送或放弃发送。在IEEE 802.11 MAC协议的基础上,研究者提出多种基于随机竞争的传感器网络MAC协议。
(1)S-MAC协议
S-MAC是一种典型的基于竞争的MAC协议,采用CSMA/CA竞争机制以及RTS/CTS握手机制。S-MAC的核心思想是引入周期的睡眠/唤醒机制,以减小空闲侦听所造成的能耗。每个节点睡眠一段时间后醒来,并侦听信道以检测是否有其他节点向自己发送数据。节点在睡眠时会将无线收发器调到低功率状态,并开启一个相应的计时器,计时器到时后节点会自动醒来。S-MAC中,节点的占空比(活跃期/周期)可以根据具体应用做相应的调整。
为保证通信节点之间能够遵循同样的唤醒/睡眠周期表,S-MAC协议中规定一个名为SYNC的同步帧,在该帧中记录节点的周期表。开始时,节点随机退避一段时间后广播自己的周期表。首先发出SYNC帧的节点即为虚拟簇的簇头节点。其他节点接收到该SYNC帧后相应调整自己的周期表。这样,保证了在同一虚拟簇内的节点具有相同的侦听时间,这就避免了因侦听时间不一致的而导致的传输错误。图1所示为S-MAC中节点的工作周期表。
图1 S-MAC中节点的工作周期表
(2)T-MAC协议
T-MAC(Timeout-MAC)协议是建立在S-MAC协议的基础上。S-MAC协议的周期长度由延迟和缓存的大小决定。为了适应网络吞吐量的随时变化,T-MAC协议改变了S-MAC协议中在每个周期内侦听时间固定不变的做法 提出了节点根据网络通信负载的大小相应的调整工作时间长度,以适应网络吞吐量的变化。
T-MAC协议定义了五个激活事件:1)周期时间定时器溢出;2)在无线信道上接收到数据;3)通过接收信号强度指示RSSI(Received Signal Strength Indication)感知到信道上存在无线通信;4)节点自身的数据交换结束;5)节点处于活跃期时,如果在TA时间内没有上述五个激活事件中的任何一个发生的话,节点就结束活跃期转而进入睡眠。因此,TA定义了活跃期的最短时间。
T-MAC协议主要特点是引入了一个超时间隔TA,若TA期间没有发生任何事件,则节点进入睡眠状态以实现节能。图2所示为T-MAC 协议睡眠调度图。T-MAC 中TA为活跃期长度的最小值,最大值根据节点的缓存能力而定。如果节点感知到数据,但本身又处于睡眠状态,就会将数据放置在缓存中,进入活跃期后再将数据一起发送出去。如果节点在第一个活跃期内没有将数据发送出去,数据就会继续存放在缓存中。但是这样的情况重复发生几次后,缓存就很有可能会溢出。
图2 T-MAC 协议睡眠调度图
超时时间间隔TA应满足的条件是 :
TA > C + R + T
其中C为竞争时间间隔的长度,R为RTS帧的时间长度,T为回转时间(介于RTS发送结束到接收到CTS所需要的一段时间)。
2.2基于固定分配的MAC层协议
固定分配类的MAC协议的基本思想是将一个物理信道分为多个子信道,并将子信道静态或动态的分配给需要通信的节点,各通信节点彼此互不干扰,避免发生信息碰撞。下面介绍几种常见的固定分配类的MAC协议:
(1)TRAMA协议
TRAMA协议的目的是保证节点根据实际的流量使用预先分配好的时隙,进行无冲突的通信。TRAMA协议通过避免把时槽分配给无流量的节点,并让非发送和接收节点处于睡眠状态以达到节省能量的目的。TRAMA协议主要包括的算法有:邻居协议NP(neighbor protocol);调度交换协议SEP(schedule exchange protocol);自适应时槽指定算法AEA(adaptive election algorithm)。
(2)DMAC协议
DMAC协议是传感器网络中基于数据聚集树的一种高效能量和低延迟的MAC层协议。在无线传感器网络中,DMAC协议从传感器节点到接收节点构建一棵数据聚集树。DMAC协议利用这一数据聚集树结构来实现高效能量利用率和低的包传输延迟。DMAC协议根据树中节点的调度机制,使节点进入激活/睡眠状态。这样就允许连续的数据传输流,使得在多跳路径上的所有节点都可以被通知到当前进行的数据传输和任何活动占空比的调整。如图3所示为数据聚集树形网络的结构。
图3 数据聚集树形网络
与S-MAC协议是相同,DMAC协议将网络所有节点的工作周期分为两大部分:活跃期与休眠期。与S-MAC协议的不同之处在于网络中所有节点的工作周期依次嵌套,不再分簇。并且每个节点的活跃期又被细分为接收时隙和发送时隙,每一个接收时隙为接收一个封包的时間,每一个发送时隙为发送一个封包的时间,网络中所有节点依次嵌套。如图4所示为DMAC协议网络中节点的嵌套。
图4 DMAC网络中节点的嵌套
3对MAC层协议的改进
上节介绍了几种无线传感器网络MAC层协议,但是这些协议本身都有不足之处。研究者针对协议的不足之处,提出了相应的改进方案。
(1)S-MAC协议的改进S-MAC协议通过节点周期性的睡眠、将长消息分割成多个短消息以减少竞争反应时间等方式减少了能量的消耗。但是S-MAC协议的限制因素也十分显著:总的帧时间受限于时延需求和缓存空间;不能很好的适应网络流量的变化。
针对S-MAC协议的不足,研究者提出了S-MAC的改進方案,改进的内容主要有以下三点:第一,随机唤醒;第二,为了不耽误数据传输,同一虚拟簇中的节点每隔一定周期全部被唤醒,此时状态和S-MAC完全一样;第三,一旦有数据传输的事件发生,所有节点按照CTS安排,进行休眠和等待,不再使用随机唤醒机制,直到数据传输完毕,继续随机唤醒。
(2)T-MAC协议的改进
T-MAC协议在S-MAC的基础上引入自适应性占空比,来应对不同时间和位置上网络吞吐量不同的情况。既减少了空闲时侦听能量消耗,又保持了合理吞吐量。但是在网络负载较小时,TA将成为T-MAC协议中节点能量损耗的主要因素,单向通信时还存在早睡问题,增加网络传输时延,影响网络吞吐量。
利用中心极限定理,研究者提出T-MAC协议改进方案。设置门限M,N,休眠列表A,B,C类。并设置A的休眠时间为B的2倍,C的TA为B的2倍,将B作为通常使用的休眠列表。M、N的取值要根据正态分布的特点选择。
当节点在一段时间内负载低于M时,就将休眠列表置为A,增大休眠时间。同时通知接收端节点使用的列表类型。这样在固定时间内就相对减少了TA的数量,从而达到节能的目的;当节点一段时间内负载大于N时,就将休眠列表置为C,增加TA的长度,以尽量避免早睡问题,增加网络吞吐量,减少网络时延。
(3)TRAMA协议的改进
TRAMA协议有效的避免了隐藏终端引起的竞争,因此达到了较高吞吐量。此外,TRAMA协议的节能效果也比较明显。但TRAMA的时钟同步存在一定的通信开销,延迟较长,而且要求节点有较大的存储空间来保存拓扑信息和邻居调度信息。
TDMA-W协议是对TRAMA协议的改进。该协议在调度阶段,首先采用分布式算法为所有节点分配时槽,节点每一帧分为发送槽和唤醒槽。在无通信活动时,计数器递减;成功传输一次数据,则两个计数器的值分别加1。节点根据计数器的值是否为0来判断是否发送唤醒信号。这一机制减少了唤醒信号的发送,同时保证在网络负载小时,节点有充分的睡眠时间。
4小结
无线传感器网络在军事、医疗、环境的监测和保护等领域都有着非常广阔的应用前景,现在已经引起了极大的关注。媒体接入访问控制(MAC)协议决定了共享媒体的使用方式,在网络节点之间分配共享的通信信道。由于其所处的地位,现在已经成为无线传感器网络研究的一个重要方向。无线传感器网络MAC协议今后会向高性能和低复杂性、服务质量(QoS)保障支持、跨层设计等方向继续深入研究。