随着人类对海洋探索的不断加深,各个领域对海洋环境下的信息获取和交流存在着巨大需求。伴随陆地上无线传感器网络的快速发展,使得研究适合海洋环境的水声传感器网络成为一个新的研究热点[1]。媒介接入控制(Medium Access Control,MAC)协议能够控制网络中的各个节点合理地共享水声信道。高效的MAC协议可以有效地减少节点之间的数据包碰撞,节省节点的能量损耗,提高水声传感器网络的生存周期和吞吐量等关键性能指标,因此MAC协议在传感器网络研究中具有重要的意义。[2]
近些年来已有很多水声传感器网络MAC协议被提出,按照节点接入信道方式来划分,水声传感器网络的MAC协议可分为3类:非竞争型MAC协议、竞争型MAC协议、混合型MAC协议。[3-4]声波在水下的传播速度仅为1 500 m/s,这个特性使得数据包在水声信道中传输的延时很高,导致非竞争型协议在水声传感器网络中的性能不理想。竞争型协议可以分为随机接入协议(ALOHA和CSMA)和基于握手机制的协议,由于水声信道的特殊性,在网络负载较低和节点个数较少的网络中,随机接入协议性能和握手协议性能相当。随着负载不断变大和节点个数不断增加,随机接入协议的性能将急剧下降,但握手协议可以保持较为稳定的性能。因此,近些年基于握手方式的MAC协议越来越受到研究者的关注。[5]
传统的握手协议在水声传感器网络中面临许多问题,水声信道高传播时延对于握手协议的性能影响最大,因为握手协议需要通过控制包的交换进行信道使用权竞争,控制包交换占据大量的信道资源,导致握手协议的吞吐量、时延等性能下降。同时,由于高传播时延的存在,控制包预防隐藏终端和暴露终端的作用也被弱化,导致数据包冲突概率增加。如何分析和解决握手协议面临的问题具有一定的研究价值。本文详细分析和总结了握手协议面临的问题,并阐述已有MAC协议是如何合理地解决相关问题的,最后总结相关解决方案的优缺点,为后续研究提供一些指导意见。
1、握手协议存在的缺陷握手协议的基本思想是节点在发送数据包之前,必须通过控制包交换获得信道的使用权。发送节点有一个数据包(DATA)需要传输给接收节点,发送节点和接收节点必须进行控制包交换,即相互交换RTS (Request To Send)和CTS (Clear To Send)控制包,控制包还可以通知它们各自的邻居节点进入退避状态,防止邻居节点干扰发送节点和接收节点之间的数据包通信。这种方式可以有效地减少隐藏终端和暴露终端对网络性能的影响。
水声传感器网络中的节点部署密度较大,并且大部分是多跳网络拓扑结构,因此采用握手接入机制可以有效地避免数据包冲突,同时水声信道具有独特的复用性,所以握手协议具有明显的优势,然而高传播时延特性导致握手协议在水声传感器网络中面临很多挑战,如何解决高传播时延产生的问题是设计MAC协议必须要考虑的。下面将详细分析握手协议存在的缺陷。
(1.1) 信道利用率低在陆地上无线电传感器网络中,握手协议可以有效地解决隐藏终端和暴露终端问题,具有较好的性能。然而,握手协议不适合直接应用于水声传感器网络中,最主要的原因是水声信道高传播时延特性,该特性将导致握手协议性能(吞吐量、时延)下降,本文从两个方面分析性能下降的原因:
(1)控制包占据信道时间。在握手协议中,一次完整的数据包传输过程需要进行3次握手,其中包括2次控制包握手(RTS-CTS)。如图 1所示,节点2和节点1进行数据包通信,当节点2发送完RTS控制包后必须等待来自节点1的CTS包。在这段等待时间中,节点2只能处于空闲等待状态,在陆地无线电传感器网络中,由于无线电信号的传播速度很快,可以忽视这段空闲时间。然而在水声信道中,这段空闲时间占据了大部分信道使用时间,因此导致信道利用率下降。
![]() |
图 1 传统握手协议的空闲时间 |
(2)干扰节点的退避时间太长。在握手协议中,发送节点和接收节点周围潜在的干扰节点在侦听到不属于自己的控制包(xRTS或xCTS)后,干扰节点必须进入退避状态,保证正在进行的数据包传输不会受到干扰。经典握手协议规定所有干扰节点进入退避状态的时间为Tdefer=Tdata+2Tmax,其中:Tdata为数据包的传输时间,Tmax为发送节点和接收节点在其传播范围内的最大传播时延。[6]由于各个干扰节点和发送节点或接收节点之间的距离是不同的,所以在大部分情况下不要求所有干扰节点的退避状态持续时间相同,甚至在一些特殊情况下,某些干扰节点不需要进入退避状态。如图 1所示,节点1距离节点2比较近,节点4距离节点2比较远,当节点4收到来自节点2的xRTS包不需进入退避状态,因为xRTS包从发送节点到节点4的传播时延远大于RTS包的传播时延,所以即使节点4收到xRTS包后立即使用信道也不会干扰数据包的传输。
综上所述,在传统的握手协议中,由于高传播时延会导致信道利用率降低,节点空闲和退避时间太长,该问题也是水声传感器网络握手协议设计中面临的最大难题。
(1.2) 控制包功能失效控制包的功能是保证发送节点和接收节点能够及时地通知其周围潜在干扰节点,由于节点之间的距离是不一样的,每个潜在干扰节点收到控制包的时间是不同的。由于存在高传播时延,在水声传感器网络中会发生控制包不能及时地通知到潜在干扰节点,造成干扰节点不知道信道中已经存在一个正在进行的数据包传输,引起包的冲突而导致通信失败。如图 2所示,节点1和节点2正在进行一次数据包传输,节点2发送xRTS包通知节点3进行退避,然而,当节点3收到xRTS包之前已经向节点2发送一个RTS包,导致来自节点1的CTS包和节点3的RTS包发送碰撞,所有节点都进入退避状态。同样,在这种情况下也可能发生节点1的干扰节点发送的RTS包和数据包发生碰撞。
![]() |
图 2 传统握手协议的控制包碰撞 |
控制包功能失效的主要原因是控制包的传播时延太长,干扰节点侦听到控制包后已经来不及制止碰撞的发生。在网络负载较低的情况下,这种情况的发生概率较低,随着网络负载的增加,越来越多的碰撞会发生,控制包已经不能完全解决隐藏终端和暴露终端问题,导致协议性能下降,因此如何改进握手机制,使得控制包能够正常发挥其功能也是握手协议的一个研究重点。
(1.3) 竞争信道公平性节点通过控制包竞争信道的使用权,在陆地无线电传感器网络中,由于传播时延很低,接收节点收到RTS包的时刻和发送节点发送RTS包的时刻基本一样,所以最早发送RTS包的节点就有最大概率竞争到信道的使用权。在水声传感器网络中,由于时空不确定性的存在,目标节点接收到RTS包的时刻不仅仅跟发送时刻有关,还和发送节点与目标节点之间的距离有关。[7]最早发送的RTS包不一定能够最早到达接收节点。如图 3所示,相对于节点1,节点3更早发送RTS包给节点2,然而节点3距离节点2较远,节点2先收到来自节点1的RTS包,因此节点2与节点1进行控制包握手。上述情况导致距离目标节点较远的节点竞争信道的难度变大,距离目标节点较近的节点一直占据信道的使用权,导致信道竞争的不公平性。因此公平性问题也是一个需要解决的问题。
![]() |
图 3 传统握手协议的公平性问题 |
针对控制包占据信道时间太长的问题,现有的MAC协议主要有两种方案:
第一种方案是通过广播控制包的方式同时进行多次控制包交换。控制包复用的基本思路是改变原有的握手机制,不再限制一个发送节点仅能跟一个接收节点进行控制包握手。发送节点发送的RTS包和CTS包可以有多个目标节点,在一次控制包交换过程中发送节点可以和多个目标节点同时握手,并在握手结束后一次传输多个数据包。如图 4所示,节点1广播一个RTS包,RTS包的目标节点有两个(节点2和节点3),当目标节点收到RTS包后回复CTS包,最后,通过一次控制包交换周期,节点1可以发送两个数据包。这种方案的主要难点在于如何安排多个目标节点回复CTS包的时刻,因为发送节点需要同时接收多个CTS包,为了保证不发生包碰撞情况,发送节点必须设计一个无碰撞的发送时序表,该表将规定所有目标节点回复CTS包的时间。同时,发送节点也将会把这个发送时序表放入RTS包进行广播,保证所有目标节点侦听到这个时序表。
![]() |
图 4 握手协议的控制包复用 |
MACA-MN (MACA with packet train to Multiple Neighbors)、ROPA (Reverse Opportunistic Packet Appending)、HOSM (Handshake based Ordered Scheduling MAC)等相关协议均采取上述方案,并延伸出各种不同的复用方案,仿真结果表明控制包复用方案可以有效地提高信道利用率,提高网络吞吐量,然而还是存在一些问题:
MACA-MN协议[8]较早提出RTS包复用方案,协议的基本思路如图 4所示。该协议需要发送节点预先知道所有邻居节点和它之间的传输时延,这样才能合理安排所有的发送节点回复CTS包的时刻,防止在接收节点处发生CTS包冲突。该协议存在的主要问题是发送节点广播RTS包的周期,如果发送节点没有多个数据包要发送,该协议并不能提高网络性能。同时,如果某个发送节点频繁发送RTS包,会导致其他节点接入信道的公平性受到影响。
ROPA协议[9]同样采取RTS包复用方案,通过RTS复用使得发送节点可以同时和多个目标节点进行握手,在握手过程中引入一个新的控制包RTA,该控制包的作用是安排所有节点发送数据包的时刻,避免数据包发生冲突。当某些目标节点正好有数据包要传输给发送节点时,这些目标节点将相关信息放入CTS包回复给发送节点,发送节点通过广播RTA包告知所有目标节点接收和发送数据包的时刻表,因此在ROPA协议中,一些目标节点可以处于接收和发送两种状态。在目标节点发送完数据包后可以立即发送数据包给发送节点,进一步提高信道利用率。然而,ROPA协议需要交换的控制包太多,增加了协议实现的难度。同时,当网络负载低时,该协议的性能不好,因为需要发送过多的数据包。
HOSM协议[10]的基本思路和ROPA协议相同,采用四次握手方式(STR-RTS-Order-DATA)。不同的是HOSM协议通过Order控制包安排所有节点发送数据包的顺序,通过合理地设计发送顺序,在一次控制包握手周期后,所有目标节点之间也可以相互发送数据包,不再仅限于目标节点和发送节点之间的数据包传输。同时还可以避免数据包发生冲突,并提高信道利用率。同样该协议也存在控制包太多,低负载时性能不佳等问题。
第二种方案是发送节点利用空闲等待时间进行多次控制包握手的方式,发送节点在等待CTS包的空闲时间内,它被允许和其他目标节点进行第二次控制包握手或多次控制包握手。发送节点在空闲时刻内如果有其他数据包发送给其他目标节点,它将再次发送RTS包,然后通过设计合理的发送顺序,发送节点可以同时和多个目标节点进行控制包交换和数据包传输,并且不会发生包的碰撞。DOTS (Delay-aware Opportunistic Transmission Scheduling)、APCAP (Adaptive Propagation delay tolerant Collision Avoidance Protocol)等协议均采用这种方式[11-12],可以有效地提高信道利用率,存在的主要问题是这种方案需要节点之间精确的时间同步。
针对退避时间太长问题,解决方案主要通过设计可变的退避时间来代替传统握手机制的固定退避时间。节点在发送RTS或CTS包时,将发送节点和目标节点之间的传输时延信息放入RTS或CTS包。在干扰节点侦听到控制包(xRTS或xCTS)后,根据发送节点、目标节点和干扰节点之间相互的传播时延信息,设计一个可变换的退避时间。每个干扰节点均计算各自的最小退避时间,从而减少干扰节点的平均等待时间,提高了节点接入信道的概率。MACA-DT (MACA protocol with Delay Tolerant)、G-MACA (Geographical MACA)等协议均采用这种方案[13-14],然而这种方案并不能解决控制包功能失效问题。
(2.2) 防止控制包功能失效针对控制包功能失效问题,主要采用两种方法:
第一种是通过推迟CTS和数据包发送时刻的方案。由于RTS控制包不能及时通知到所有潜在干扰节点,当目标节点收到RTS包后,不需立即回复CTS包。在该方案中,目标节点必须等待一段足够长的时间,保证所有的干扰节点可以侦听到xRTS包。这段推迟时间的大小与发送节点、目标节点和干扰节点之间的传播时延有关。在这种方案中,发送节点收到CTS包后,也需要推迟一段时间发送数据包,保证所有的干扰节点可以侦听到xCTS包,推迟时间的长短和目标节点推迟发送CTS包时间的计算方法一样。如图 5所示,节点2在侦听到RTS包后,需要推迟发送CTS包,保证xRTS包有足够的时间通知到所有的干扰节点。合理推迟发送时间可以保证节点3在收到xRTS包之前的所有通信不会干扰到节点2的CTS包发送和节点1的CTS包接收。
![]() |
图 5 握手协议的推迟发送机制 |
DACAP (Distance Aware Collision Avoidance Protocol)、EHM (Efficient Handshaking Mechanism)、APCAP等协议均采取上述方案。EHM和APCAP协议都要求CTS包和数据包推迟发送,然而,这种方案会导致节点空闲时间变长,使得网络性能下降。因此,EHM协议允许接收节点在推迟发送时间内接收所有侦听到的RTS包,然后通过广播CTS包方式使得接收节点可以同时与多个目标节点进行数据包通信,通过这种CTS控制包复用方案可以进一步提高信道利用率。[15]APCAP协议则允许发送节点在空闲时间内再次发送另一个RTS包给其他目标节点,实现多次握手进程同时进行,通过这种信道复用方案充分利用空闲时间。[12]DACAP协议采取另一种方式,它只要求发送节点在侦听到CTS包后推迟发送数据包。当目标节点侦听到RTS包后需要立即回复CTS包,在等待数据包的时间内,如果目标节点侦听到其他干扰节点的控制包,它将发送一个警示包通知干扰节点进行退避。[16]DACAP协议的主要问题在于控制包的利用率太低,没有采用一些控制包复用或信道复用等方案,网络性能不佳。
第二种方案是采用时隙方式来解决控制包功能失效问题,Slotted FAMA是最早采用这种方式的一种协议。[17]在Slotted FAMA协议中,控制包和数据包的发送都要在每个时隙的开始时刻,并且通过设置合理的时隙大小,可以保证所有的控制包达到所有的邻居节点,避免发生包冲突。由于水声信道高传播时延的特性,需要安排较大的时隙,所以Slotted FAMA协议的吞吐量和时延均不理想。同时,Slotted FAMA协议还会遇到RTS控制包竞争导致握手失败等问题。RC-SFAMA (Slotted FAMA with RTS Competition)协议通过引入随机竞争数可以有效地解决RTS控制包竞争问题。[18]M-FAMA (Multi-session FAMA)协议则通过信道复用方案来提高SFAMA协议的性能。[19]然而,上述所有协议均要求节点之间精确同步,这也是这类协议实现存在的一个问题。
(2.3) 解决公平性问题A.A.Syed等人最早提出水声信道的时空不确定性问题,数据包的碰撞不再仅仅和发送时刻有关,还和发送节点和目标节点之间的传播时延相关。[7]时空不确定性问题导致距离目标节点越近的节点更容易获取信道的使用权。解决这种问题的主要方案和解决控制包功能失效的方法类似。如图 5所示,目标节点2侦听到第一个RTS包后推迟发送CTS包,在这段等待时间内,目标节点继续侦听其他节点发送的RTS包。在等待时间结束后,目标节点根据收到每个RTS包的时刻和它与所有发送节点的传播时延,判断每个RTS包的发送时刻,最终确定一个最早发送RTS包的发送节点,并回复CTS包给该发送节点。这样可以有效地解决公平性问题。SF-MAC协议最早提出上述方案[20],SF-MAC (Spatially Fair MAC Protocol)存在的问题主要是该协议没有采用控制包复用或信道复用方案。为了保证节点接入信道的公平性和控制包功能不失效,发送节点和目标节点都要退出控制包或者数据包的发送时间,这种方式增加了一次控制包握手占据信道的时间,因此导致网络性能不佳。RET-MAC (Response to the Earliest Transmitter of RTS MAC)协议[21]的接入机制和SF-MAC相似,通过增加侦听周期来保证节点接入信道的公平性,同时该协议还添加一个新的控制包,避免可能发生的数据包冲突,但由于侦听周期变长和需要更多的控制包,同样导致信道利用率下降。
T-Lohi (Tone-Lohi protocol)协议[22]采用一种新的信道竞争机制保障节点接入信道的公平性。节点在发送数据包之前必须竞争信道,它们发送一个短帧,然后侦听信道一段时间,如果节点在竞争周期内没有侦听到其他节点的短帧,节点可以发送数据包。如果有多个节点竞争则推迟发送,等待下一个竞争周期。T-Lohi协议允许所有节点一起竞争信道,可以保证节点接入的公平性,但不是很适合用于多跳水声传感器网络。
3、结论水声信道高传播时延的特性导致控制包占据信道时间长、时空不确定性等问题的出现。然而,在解决高传播时延特性问题的同时,研究者们发现高传播时延其实也有一个可以利用的优点。由于空闲时间较长,许多协议可以利用这段时间进行信道复用,减少高传播时延对网络性能的影响。握手协议存在的3个问题并不是独立的,一些新的协议只关注其中一个问题,如MACA-MN只通过控制包复用方案提高控制包的使用率,然而在控制包功能失效和节点接入不公平性等问题上并没有深入研究。因此,在设计高效的MAC协议时,必须同时考虑上述3个问题,这样才能取得较好的效果。
相对于陆地上无线电传感器网络MAC协议,水声网络MAC协议的研究才刚刚起步,还有许多可以改进的空间:退避算法的研究,如在水声网络MAC协议已有的研究中,对于退避算法的研究,大部分局限于直接采用传统的经典退避算法,这些算法并不完全适合于水声信道。对于握手协议的设计,如果引入控制包复用和信道复用方案,则需要重新设计高效且合理的退避算法。为了提高握手协议的性能,现有握手协议存在着控制包过多、需要精确的网络同步、节点能量损耗大、协议复杂和适应网络节点移动性等问题,这些问题都制约着握手协议的发展,在后续研究中需要重点关注。
[1] | Shahabudeen S, Motani M, Chitre M. Analysis of a High-Performance MAC Protocol for Underwater Acoustic Networks[J]. IEEE Journal of Oceanic Engineering, 2014, 39: 74–89. DOI:10.1109/JOE.2013.2246741 |
[2] | Noh Y, Shin S.Survey on MAC protocols in Underwater Acoustic Sensor Networks[C].Communications and Information Technologies (ISCIT), 201414th International Symposium on.IEEE, 2015.80-84. |
[3] | Chen K, Ma M, Cheng E, et al. A Survey on MAC Protocols for Underwater Wireless Sensor Networks[J]. IEEE Communications Surveys & Tutorials, 2014, 16(3): 1433–1447. |
[4] | Gkikopouli A, Nikolakopoulos G, Manesis S.A survey on Underwater Wireless Sensor Networks and applications[C].Control & Automation, 2012.1147-1154. |
[5] | Xie P.Underwater acoustic sensor networks:medium access control, routing and reliable transfer[C].University of Connecticut, 2008. |
[6] | Karn P.MACA-A new channel access method for packet radio[C].ARRL/CRRL Amateur Radio 9th Computer Networking Conference, 1990.134-140. |
[7] | Syed A A, Ye W, Heidemann J, et al.Understanding spatio-temporal uncertainty in medium access with ALOHA protocols[C].The Workshop on Underwater Networks, 2007.41-48. |
[8] | Chirdchoo N, Soh W S, Chua K C.MACA-MN:A MACA-Based MAC Protocol for Underwater Acoustic Networks with Packet Train for Multiple Neighbors[C].Vehicular Technology Conference, 2008.46-50. |
[9] | Ng H H, Soh W S, Motani M.ROPA:A MAC Protocol for Underwater Acoustic Networks with Reverse Opportunistic Packet Appending[C].2010 IEEE Wireless Communication and Networking Conference, 2010.1-6. |
[10] | Liao Z, Li D, Chen J. A Handshake Based Ordered Scheduling MAC Protocol for Underwater Acoustic Local Area Networks[J]. International Journal of Distributed Sensor Networks, 2015, 11(1): 1–15. |
[11] | Noh Y, Lee U, Han S, et al. DOTS:A Propagation Delay-Aware Opportunistic MAC Protocol for Mobile Underwater Networks[J]. Mobile Computing IEEE Transactions on, 2010, 13(4): 183–192. |
[12] | Guo X, Frater M R, Ryan M J. Design of a Propagation-Delay-Tolerant MAC Protocol for Underwater Acoustic Sensor Networks[J]. IEEE Journal of Oceanic Engineering, 2009, 34(2): 170–180. DOI:10.1109/JOE.2009.2015164 |
[13] | Lin W, Cheng E, Yuan F. A MACA-based MAC protocol for Underwater Acoustic Sensor Networks[J]. Journal of Communications, 2011, 6(2): 179–184. |
[14] | Liu X, Li Y, Fang D, et al.A MAC Protocol for Underwater Acoustic Network[C].Proceedings of the 2012 International Conference on Communication, Electronics and Automation Engineering, 2013.1291-1297. |
[15] | Lin W, Cheng E, Yuan F. EHM:a novel efficient protocol based handshaking mechanism for underwater acoustic sensor networks[J]. Wireless Networks, 2013, 19(6): 1051–1061. DOI:10.1007/s11276-012-0517-1 |
[16] | Peleato B, Stojanovic M. Distance aware collision avoidance protocol for ad-hoc underwater acoustic sensor networks[J]. IEEE Communications Letters, 2007, 11(12): 1025–1027. DOI:10.1109/LCOMM.2007.071160 |
[17] | Molins M, Stojanovic M.Slotted FAMA:a MAC protocol for underwater acoustic networks[C].Oceans, IEEE, 2007.1-7. |
[18] | Qian L F, Zhang S L, Liu M Q. A slotted floor acquisition multiple access based MAC protocol for underwater acoustic networks with RTS competition[J]. Journal of Zhejiang University-Science C (Computers & Electronics), 2015, 16(3): 217–226. |
[19] | Han S, Noh Y, Lee U, et al. M-FAMA:A multi-session MAC protocol for reliable underwater acoustic streams[J]. Proceedings-IEEE INFOCOM, 2013, 12(11): 665–673. |
[20] | Liao W H, Huang C C. SF-MAC:A Spatially Fair MAC Protocol for Underwater Acoustic Sensor Networks[J]. IEEE Sensors Journal, 2012, 12(6): 1686–1694. DOI:10.1109/JSEN.2011.2177083 |
[21] | Xiong S M, Yuan C, Tian L X, et al. RET-MAC:A New Fair MAC Protocol for Underwater Acoustic Sensor Network[J]. International Journal of Distributed Sensor Networks, 2013(1): 1614–1617. |
[22] | Syed A A, Ye W, Heidemann J.T-Lohi:A new class of MAC protocols for underwater acoustic sensor networks[C].Proceedings-IEEE INFOCOM, 2010.231-235. |