论文部分内容阅读
[摘要]对近年来无线传感器网络的媒体访问控制(MAC)协议的最新研究进展进行讨论和综述,描述设计无线传感器网络MAC协议应该考虑的问题,详细论述传感器网络的MAC协议的能量有效性问题,着重对一些具有代表性的MAC协议进行对比、分析,并在此基础上提出将来设计MAC协议的方向和建议。
[关键词]无线传感器网络MAC协议能量有效性
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1220034-02
无线传感器网络(WSN)是当前国际上备受关注的、由多学科高度交叉的新兴前沿研究热点领域,有非常多的关键技术有待发现和研究,其中,网络协议的设计就是关键技术之一,目前的研究重点是网络层协议和数据链路层协议,而数据链路层的媒体访问控制(MAC)是使得WSN能够正常运作的重要技术,决定无线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构[1]。
MAC协议一个最主要的任务就是控制媒质的访问,以使所有传感器节点能够公平有效地访问和利用资源。在设计一个出色的无线传感器网络MAC协议时,我们应该考虑以下几点:首先,是能量高效。因为网络中的传感器节点是由电池来提供能量的,并且很难为电池充电或更换。而事实上,我们更希望这些传感器节点更加的便宜,可以在用完之后随时丢弃,而不是重复使用它。因此,怎样通过节能延长网络的使用周期是设计MAC协议的一个关键问题。另一个重要因素就是对网络规模、节点密度和拓扑结构的适应性。在无线传感器网络中,节点随时可能因电池耗尽而死亡,也有一些节点会加入到网络中,还有一些节点会移动到其他的区域,同样的网络拓扑也会因某种原因随时间变化。一个好的MAC协议应该具有可扩展性,以适应这种动态变化的拓扑结构。另外,网络的公平性、延迟、吞吐量,以及有限的带宽利用都是设计MAC协议时要考虑的问题。但节约能量成为传感器网络MAC协议设计首要考虑的因素。
一、MAC协议中的能源有效性
在无线传感器网络中,能量有效性是一个最重要的问题,要想设计一个能量有效的MAC协议,我们必须分析是哪些因素导致了能量损耗。经过人们的大量实验和理论分析中得出,下面就是导致能量损耗的几个方面:
1.冲突:它是能量消耗的第一个来源,当两个数据包在同一时间传输时,就会发生碰撞,然后就会中断而丢弃,随后再重传,这些都要消耗能量。所有的MAC协议都设法寻求某种方法来避免碰撞。在基于競争的协议中,碰撞是主要问题,但在象基于TDMA这样的预约协议中一般不会发生碰撞。
2.空闲侦听:它通常发生在节点的通信设备侦听信道是否有数据传输,在许多WSN应用中,这种耗能是很大的,因为在这期间没有检测到任何东西,也没有数据传输,侦听是无效耗能的。
空闲侦听的准确消耗主要依赖于硬件和操作模式。例如,Stemm和Katz测量了915MHz的Wavelan无线网络卡上的空闲、接收和传输所消耗的能量比率是1:1.05:1.4,而在Berkeley制造的Mica2 mote上,频率为433MHz射频信号功率为1mW的传输模式下,无线通信的能量消耗比为1:1:1.41。在很多传感器网络长时间运作的应用中,节点将长时间处于空闲侦听状态,在这种情况下,空闲侦听是能量消耗的主要因素。
3.串音:当一个节点接收到传给其它节点的数据包时,就会产生串音。当流量负载和节点密度很大时,窃听不必要的流量是能量浪费的主要因素。
4.控制开销:当发送、接收和侦听控制包时,都要消耗能量,因为控制包没有直接的传输数据,同时它们也会减少有效的吞吐量。
一个MAC协议应该通过控制无线通信来避免和减少来自以上的能耗,从而达到节约能量的目的。因此,目前针对不同的传感器网络应用,在节约能量的前提下,研究人员采用不同技术和算法提出了多个MAC协议,基本可以归纳出以下几类:基于预约类、基于竞争类和其它类。本文将集中对其中的一些典型协议进行比较分析。
二、几种MAC协议性能概括
(一)基于预约类MAC协议
基于预约类MAC协议就是把节点调度到不同的子信道上,从而避免干扰,通常采用TDMA、FDMA和CDMA技术。
SMACS协议是分布式的协议,无需任何全局或局部主节点,就能发现邻节点并建立传输/接收调度表。链路由随机选择的时隙和固定的频率组成。虽然各子网内邻节点通信需要时间同步,但全网并不需要同步。在链接阶段使用一个随机唤醒机制,在空闲时关掉无线收发装置,来达到节能的目的。EAR(Eavesdrop-And-Regester)算法用来为静止和移动的节点提供不间接的服务。SMACS的缺点是从属于不同子网的节点可能永远得不到通信的机会。EAR算法作为SMACS协议的补充,但EAR算法只适用于那些整体上保持静止,且个别移动节点周围有多个静止节点的网络。
TDM-FDM这是一个时分复用和频分复用的混合方案。在节点上维护着一个特殊的结构帧,类似于TDMA中的时隙分配表,节点根据此调度与相邻节点间的通信。FDMA技术提供的多信道,使多个节点之间可以同时通信,有效地避免了冲突。由于预先定义的信道和时隙分配方案限制了对空闲时隙的有效利用,使得在业务量较小时信道利用率较低。
DE-MAC的中心内容是让节点交换能级信息。它执行一个本地选举程序来选择能量最低的节点为“赢者”,使得这个“赢者”比其邻节点具有更多的睡眠时间,以此在节点间平衡能量,延长网络的生命周期。且这个选举程序与TDMA时隙分配集成到一起,从而不影响系统的吞吐量。协议的缺点是传感器节点只在自己占有时隙且无传输时,才能进入睡眠。而在其邻节点占有的时隙里,就算没有数据传输,它也必须醒着。
MMAC是一种适合于移动环境的基于预约的MAC协议,它根据移动情况,采用了帧时间、传输时隙和随机时隙来避免冲突,从而有效地利用能量,但延迟要比基于竞争的S-MAC协议还要大。
T-MAC协议采用预约的方式,在MAC层利用应用层的信息来提高能量的利用率,但消息延迟较大且可靠性稍有些逊色。
(二)基于竞争类MAC协议
基于竞争类MAC协议一般使用广播式信道,连接到这条信道上的节点都可以向信道发送广播信息。想要通信的节点遵循某种规则竞争信道,得到使用权的节点可以发送信息。传统的基于竞争类的MAC协议包括ALOHA和CSMA/CA等。
Wei Ye等提出的S-MAC(Sensor-MAC)应用了三种新技术来减少能耗并支持自组织:节点周期睡眠以减少空闲侦听造成的能耗;邻近的节点组成虚拟簇,使睡眠调度时间自动同步;用消息传递的方法来减少时延。S-MAC采用了类似IEEE 802.11中的方式来避免冲突,包括虚拟和物理的载波侦听和RTS/CTS交换。与IEEE 802.11相比,S-MAC具有很好的节能特性,并且可以根据流量情况在能量和时延之间折衷。然而,每个节点的占空比都相同,没有对能量较少的节点给予保护。另外,多跳时延时较大,同步调度会对能耗有很大的影响。
T-MAC(Timeout-MAC)在S-MAC的基础上引入适应性占空比,来应付不同时间和位置上负载的变化。与S-MAC相比,T-MAC能够自动适应网络中业务量的波动。T-MAC协议沿用了S-MAC协议中的“虚拟簇”的方法,使各节点同步工作。T-MAC协议根据当前的网络的通信情况,通过提前结束活动周期来减少空闲侦听,但带来了早睡问题。T-MAC为解决早睡问题提出了未来请求发送和满缓冲区优先两种方法,都不是很理想,另外,对网络的动态拓扑变化的适应性也需要进一步研究。
Sift MAC协议是针对基于事件驱动的传感器网络提出的基于竞争的MAC协议。它的核心思想是采用了CW值固定的窗口,节点不是从发送窗口选择发送时槽,而是在不同的时槽中选择发送数据的概率,使得在短时间内部分节点能够无冲突地通告事件,在节能的同时,减少消息的传输延迟。但是,簇头节点为了侦听时隙一直处于活动状态,这样由于空闲侦听而耗能。
WiseMAC协议使用文献中提出的具有报头取样的非持续的CSMA来减少空闲侦听。为了减少由于预先设定的固定长度报頭而产生的功率损耗,WiseMAC提出了一种动态地确定报头长度的方法。此协议适应于变化的流量并降低对外部时间同步的要求。但是由于分散的睡眠/侦听调度而引起的冗余通信,导致了较大的延迟和能耗。
B-MAC是一种灵活的MAC协议,允许某种应用通过接口来执行它自己的MAC协议。它采用LPL(Low Power Listening)和CCA(Clear Channel Assessment)技术来提高信道利用率,与S-MAC和T-MAC相比,有较高的吞吐量和较好的能量利用率。任何节点都采用LPL通信来唤醒它的邻节点,但当这些节点不是目标节点时,接收到包以后就要丢弃,这样势必导致能量的浪费,并且这种情况将随着信道流量的增加会变得更加严重。
(三)其它类型的MAC协议
TRAMA用两种技术来节能:用基于流量的传输调度表来避免可能在接收者发生的数据包冲突;使节点在无接收要求时进入低能耗模式。TRAMA将时间分成时隙,用基于各节点流量信息的分布式选举算法来决定哪个节点可以在某个特定的时隙传输,以此来达到一定的吞吐量和公平性,并能有效地避免了隐藏终端引起的竞争,但TRAMA的延迟较长,更适用于对延迟要求不高的应用。
DMAC协议是针对S-MAC和T-MAC协议的数据转发停顿问题而提出的。该协议使用采集树描述网络结构,采用不同深度节点间的交错调度机制,从而减少消息在网络中的传输延迟。但该协议实现复杂,许多细节需要进一步深入研究。
MOBMAC利用自适应帧大小来适应移动WSN的动态变化,并采用扩展的Kalman滤波器来减小由于Doppler频移引起的帧丢失,从而提高系统能量的利用率,并使延时最小化,但增加了硬件的复杂度。
三、性能比较
以上所述的几种协议是目前人们提出的MAC层协议,它们各有自身的特点。每种协议在网络性能(延迟、吞吐量等)和能源有效性之间进行不同的取舍。表1对这几种协议做了综合比较。
四、结论
尽管研究者们提出了很多无线传感器网络的MAC协议,但没有一个可以作为标准协议。因为针对不同的应用应选择不同的MAC协议,还由于缺乏底层(物理层)标准和传感器硬件,这就意味着对于传感器网络将不存在一个标准的MAC协议,因此,在设计MAC协议时,一定要把无线传感器网络的特性和实际应用的需求紧密联系起来,另外网络协议的分层将消耗更多的能量,所以,各层的结合将是一个有前途的研究领域,应该得到更广泛的研究。
参考文献:
[1]孙利民、李建中等编著,无线传感器网络,第一版,北京:清华大学出版社,2005,97.
[关键词]无线传感器网络MAC协议能量有效性
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1220034-02
无线传感器网络(WSN)是当前国际上备受关注的、由多学科高度交叉的新兴前沿研究热点领域,有非常多的关键技术有待发现和研究,其中,网络协议的设计就是关键技术之一,目前的研究重点是网络层协议和数据链路层协议,而数据链路层的媒体访问控制(MAC)是使得WSN能够正常运作的重要技术,决定无线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构[1]。
MAC协议一个最主要的任务就是控制媒质的访问,以使所有传感器节点能够公平有效地访问和利用资源。在设计一个出色的无线传感器网络MAC协议时,我们应该考虑以下几点:首先,是能量高效。因为网络中的传感器节点是由电池来提供能量的,并且很难为电池充电或更换。而事实上,我们更希望这些传感器节点更加的便宜,可以在用完之后随时丢弃,而不是重复使用它。因此,怎样通过节能延长网络的使用周期是设计MAC协议的一个关键问题。另一个重要因素就是对网络规模、节点密度和拓扑结构的适应性。在无线传感器网络中,节点随时可能因电池耗尽而死亡,也有一些节点会加入到网络中,还有一些节点会移动到其他的区域,同样的网络拓扑也会因某种原因随时间变化。一个好的MAC协议应该具有可扩展性,以适应这种动态变化的拓扑结构。另外,网络的公平性、延迟、吞吐量,以及有限的带宽利用都是设计MAC协议时要考虑的问题。但节约能量成为传感器网络MAC协议设计首要考虑的因素。
一、MAC协议中的能源有效性
在无线传感器网络中,能量有效性是一个最重要的问题,要想设计一个能量有效的MAC协议,我们必须分析是哪些因素导致了能量损耗。经过人们的大量实验和理论分析中得出,下面就是导致能量损耗的几个方面:
1.冲突:它是能量消耗的第一个来源,当两个数据包在同一时间传输时,就会发生碰撞,然后就会中断而丢弃,随后再重传,这些都要消耗能量。所有的MAC协议都设法寻求某种方法来避免碰撞。在基于競争的协议中,碰撞是主要问题,但在象基于TDMA这样的预约协议中一般不会发生碰撞。
2.空闲侦听:它通常发生在节点的通信设备侦听信道是否有数据传输,在许多WSN应用中,这种耗能是很大的,因为在这期间没有检测到任何东西,也没有数据传输,侦听是无效耗能的。
空闲侦听的准确消耗主要依赖于硬件和操作模式。例如,Stemm和Katz测量了915MHz的Wavelan无线网络卡上的空闲、接收和传输所消耗的能量比率是1:1.05:1.4,而在Berkeley制造的Mica2 mote上,频率为433MHz射频信号功率为1mW的传输模式下,无线通信的能量消耗比为1:1:1.41。在很多传感器网络长时间运作的应用中,节点将长时间处于空闲侦听状态,在这种情况下,空闲侦听是能量消耗的主要因素。
3.串音:当一个节点接收到传给其它节点的数据包时,就会产生串音。当流量负载和节点密度很大时,窃听不必要的流量是能量浪费的主要因素。
4.控制开销:当发送、接收和侦听控制包时,都要消耗能量,因为控制包没有直接的传输数据,同时它们也会减少有效的吞吐量。
一个MAC协议应该通过控制无线通信来避免和减少来自以上的能耗,从而达到节约能量的目的。因此,目前针对不同的传感器网络应用,在节约能量的前提下,研究人员采用不同技术和算法提出了多个MAC协议,基本可以归纳出以下几类:基于预约类、基于竞争类和其它类。本文将集中对其中的一些典型协议进行比较分析。
二、几种MAC协议性能概括
(一)基于预约类MAC协议
基于预约类MAC协议就是把节点调度到不同的子信道上,从而避免干扰,通常采用TDMA、FDMA和CDMA技术。
SMACS协议是分布式的协议,无需任何全局或局部主节点,就能发现邻节点并建立传输/接收调度表。链路由随机选择的时隙和固定的频率组成。虽然各子网内邻节点通信需要时间同步,但全网并不需要同步。在链接阶段使用一个随机唤醒机制,在空闲时关掉无线收发装置,来达到节能的目的。EAR(Eavesdrop-And-Regester)算法用来为静止和移动的节点提供不间接的服务。SMACS的缺点是从属于不同子网的节点可能永远得不到通信的机会。EAR算法作为SMACS协议的补充,但EAR算法只适用于那些整体上保持静止,且个别移动节点周围有多个静止节点的网络。
TDM-FDM这是一个时分复用和频分复用的混合方案。在节点上维护着一个特殊的结构帧,类似于TDMA中的时隙分配表,节点根据此调度与相邻节点间的通信。FDMA技术提供的多信道,使多个节点之间可以同时通信,有效地避免了冲突。由于预先定义的信道和时隙分配方案限制了对空闲时隙的有效利用,使得在业务量较小时信道利用率较低。
DE-MAC的中心内容是让节点交换能级信息。它执行一个本地选举程序来选择能量最低的节点为“赢者”,使得这个“赢者”比其邻节点具有更多的睡眠时间,以此在节点间平衡能量,延长网络的生命周期。且这个选举程序与TDMA时隙分配集成到一起,从而不影响系统的吞吐量。协议的缺点是传感器节点只在自己占有时隙且无传输时,才能进入睡眠。而在其邻节点占有的时隙里,就算没有数据传输,它也必须醒着。
MMAC是一种适合于移动环境的基于预约的MAC协议,它根据移动情况,采用了帧时间、传输时隙和随机时隙来避免冲突,从而有效地利用能量,但延迟要比基于竞争的S-MAC协议还要大。
T-MAC协议采用预约的方式,在MAC层利用应用层的信息来提高能量的利用率,但消息延迟较大且可靠性稍有些逊色。
(二)基于竞争类MAC协议
基于竞争类MAC协议一般使用广播式信道,连接到这条信道上的节点都可以向信道发送广播信息。想要通信的节点遵循某种规则竞争信道,得到使用权的节点可以发送信息。传统的基于竞争类的MAC协议包括ALOHA和CSMA/CA等。
Wei Ye等提出的S-MAC(Sensor-MAC)应用了三种新技术来减少能耗并支持自组织:节点周期睡眠以减少空闲侦听造成的能耗;邻近的节点组成虚拟簇,使睡眠调度时间自动同步;用消息传递的方法来减少时延。S-MAC采用了类似IEEE 802.11中的方式来避免冲突,包括虚拟和物理的载波侦听和RTS/CTS交换。与IEEE 802.11相比,S-MAC具有很好的节能特性,并且可以根据流量情况在能量和时延之间折衷。然而,每个节点的占空比都相同,没有对能量较少的节点给予保护。另外,多跳时延时较大,同步调度会对能耗有很大的影响。
T-MAC(Timeout-MAC)在S-MAC的基础上引入适应性占空比,来应付不同时间和位置上负载的变化。与S-MAC相比,T-MAC能够自动适应网络中业务量的波动。T-MAC协议沿用了S-MAC协议中的“虚拟簇”的方法,使各节点同步工作。T-MAC协议根据当前的网络的通信情况,通过提前结束活动周期来减少空闲侦听,但带来了早睡问题。T-MAC为解决早睡问题提出了未来请求发送和满缓冲区优先两种方法,都不是很理想,另外,对网络的动态拓扑变化的适应性也需要进一步研究。
Sift MAC协议是针对基于事件驱动的传感器网络提出的基于竞争的MAC协议。它的核心思想是采用了CW值固定的窗口,节点不是从发送窗口选择发送时槽,而是在不同的时槽中选择发送数据的概率,使得在短时间内部分节点能够无冲突地通告事件,在节能的同时,减少消息的传输延迟。但是,簇头节点为了侦听时隙一直处于活动状态,这样由于空闲侦听而耗能。
WiseMAC协议使用文献中提出的具有报头取样的非持续的CSMA来减少空闲侦听。为了减少由于预先设定的固定长度报頭而产生的功率损耗,WiseMAC提出了一种动态地确定报头长度的方法。此协议适应于变化的流量并降低对外部时间同步的要求。但是由于分散的睡眠/侦听调度而引起的冗余通信,导致了较大的延迟和能耗。
B-MAC是一种灵活的MAC协议,允许某种应用通过接口来执行它自己的MAC协议。它采用LPL(Low Power Listening)和CCA(Clear Channel Assessment)技术来提高信道利用率,与S-MAC和T-MAC相比,有较高的吞吐量和较好的能量利用率。任何节点都采用LPL通信来唤醒它的邻节点,但当这些节点不是目标节点时,接收到包以后就要丢弃,这样势必导致能量的浪费,并且这种情况将随着信道流量的增加会变得更加严重。
(三)其它类型的MAC协议
TRAMA用两种技术来节能:用基于流量的传输调度表来避免可能在接收者发生的数据包冲突;使节点在无接收要求时进入低能耗模式。TRAMA将时间分成时隙,用基于各节点流量信息的分布式选举算法来决定哪个节点可以在某个特定的时隙传输,以此来达到一定的吞吐量和公平性,并能有效地避免了隐藏终端引起的竞争,但TRAMA的延迟较长,更适用于对延迟要求不高的应用。
DMAC协议是针对S-MAC和T-MAC协议的数据转发停顿问题而提出的。该协议使用采集树描述网络结构,采用不同深度节点间的交错调度机制,从而减少消息在网络中的传输延迟。但该协议实现复杂,许多细节需要进一步深入研究。
MOBMAC利用自适应帧大小来适应移动WSN的动态变化,并采用扩展的Kalman滤波器来减小由于Doppler频移引起的帧丢失,从而提高系统能量的利用率,并使延时最小化,但增加了硬件的复杂度。
三、性能比较
以上所述的几种协议是目前人们提出的MAC层协议,它们各有自身的特点。每种协议在网络性能(延迟、吞吐量等)和能源有效性之间进行不同的取舍。表1对这几种协议做了综合比较。
四、结论
尽管研究者们提出了很多无线传感器网络的MAC协议,但没有一个可以作为标准协议。因为针对不同的应用应选择不同的MAC协议,还由于缺乏底层(物理层)标准和传感器硬件,这就意味着对于传感器网络将不存在一个标准的MAC协议,因此,在设计MAC协议时,一定要把无线传感器网络的特性和实际应用的需求紧密联系起来,另外网络协议的分层将消耗更多的能量,所以,各层的结合将是一个有前途的研究领域,应该得到更广泛的研究。
参考文献:
[1]孙利民、李建中等编著,无线传感器网络,第一版,北京:清华大学出版社,2005,97.