田海濤 譚敏生 陳偉
南華大學計算機學院 湖南 421001
無線傳感器網絡是一個由大量廉價的無線傳感器節點組成的全分布式的自組織網絡,它集成了信息采集、信息處理、信息傳輸、信息管理與應用等多種技術。由于無線傳感器網絡具有自組織、易擴展、實時性和健壯性等特點,使其在軍事、農業、醫療、環境監測等領域有著傳統網絡無法比擬的優勢,具有很高的應用價值。不同的應用對無線傳感器網絡的能耗、吞吐量、延遲等有不同的要求,這些獨特的要求和制約因素為無線傳感器網絡的研究提出了新的技術問題。而在這些技術問題中,能耗問題成為了無線傳感器網絡的首要問題。
媒介訪問控制(Medium Access Control,MAC)是數據鏈路層的一部分,是使得WSNs能夠正常運作的重要技術,其主要功能是控制媒介訪問,協調多個競爭節點共享信道資源,避免沖突發生。無線傳感器網絡的性能如能耗、吞吐量、延遲等在很大程度上取決于所采用的MAC協議。因此,MAC協議的設計十分關鍵。
目前針對不同的應用,研究人員從不同方面提出了多種MAC協議。
S-MAC是一種基于CSMA隨機競爭方式的MAC協議,其沖突避免機制類似于IEEE802.11,采用物理載波偵聽和虛擬載波偵聽兩種方式降低沖突發生概率,RTS/CTS握手機制避免隱藏終端問題。此外,S-MAC首先引入了周期激活/休眠機制以避免空閑監聽,如圖1所示,每個節點周期地在一段時間內偵聽信道,等待業務的到來,然后進入休眠直到下一激活期。

圖1 周期偵聽和休眠
S-MAC協議采用消息傳遞(message passing)機制,很好地支持長消息傳遞。該機制是將長消息分為若干短包,采用RTS/CTS握手機制集中連續發送全部短包,即可提高發送成功率,又可減少控制開銷。S-MAC協議的擴展性較好,可以適應網絡拓撲結構的變化;其缺點是實現復雜,需要占用大量的存儲空間,這對資源受限的無線傳感器節點顯得尤為突出。
為了減少能耗,T-MAC協議針對S-MAC協議進行了改進,在保持周期長度不變的基礎上,根據通信流量動態的調整活動時間,以突發方式發送信息,減少空閑偵聽時間。如圖2所示,T-MAC協議相對S-MAC協議減少了處于活動狀態的時間。
在T-MAC協議中,發送數據時仍采用RTS/CTS/DATA/ACK的通信過程,節點周期性喚醒偵聽,如果在一個給定時間TA(Time Active)內沒有活動發生,直接進入休眠。

圖2 S-MAC和T-MAC的基本機制
T-MAC協議雖然減少了空閑偵聽,但卻帶來了早睡問題。T-MAC為此提出了兩種解決方案,一種稱為未來請求發送(Future Request-To-Send,FRTS);另一種稱為滿緩沖區優先(full buffer priority),但是這兩種方法都不是很好。
為了減少空閑監聽,提出了一種載波檢測機制,通過使節點的無線收發裝置有規律地處于“工作”、“待命”狀態,而不丟失發送給該節點的數據,以減少空閑偵聽的能量消耗。這種機制工作在物理層,它在每個無線數據包的前面附加了一個前導載波Preamble,這個前導載波Preamble的主要作用是通知接收節點將有數據發送過來,使其調整為接收模式準備接收數據。這種機制的主要思想是減少接收節點在空閑偵聽上的能耗,使接收節點能周期性地開啟無線收發裝置,偵聽是否有前導載波Preamble,從而決定是否要接收數據。如果接收節點在工作狀態檢測到前導載波Preamble,它就會一直偵聽信道,直到數據被正確地接收;如果節點沒有檢測到前導載波,接收節點的無線裝置將被置于“待命”狀態,直到下一個前導載波檢測周期到來,如圖3所示。
這種有效的載波偵聽方法可以和任何一種基于競爭的MAC協議相結合,將其與ALOHA協議結合,提出了前導字段偵聽(Preamble sampling)協議;將其與CSMA協議結合,提出了低功耗偵聽(Low power listening)協議。這兩種協議統稱為LPL協議。LPL協議通過周期性關閉無線裝置節省節點的能耗,對節點的存儲能力要求很低,并且不需要周期性的信息交換和維護鄰居節點的狀態信息,節省了協議的控制開銷,具有良好的可擴展性,但減小了數據成功發送的概率。前導字段的長度與節點的無線模塊通斷時間有關。節點周期睡眠的時間越長,發送節點發送數據時前導字段的長度就越長。因此,隨著前導字段長度的增加,發送節點的能量消耗也隨之增加。
由于喚醒前導會隨著節點周期休眠時間的增加而變長,增加了發送節點的控制開銷,因此必須壓縮前導序列的長度。WiseMAC采用動態調整前導長度方法減少控制開銷,其基本思想是通過在數據確認包中攜帶節點下次信道偵聽時間,節點獲得所有鄰居的信道偵聽時間。在發送數據時,可以將喚醒前導序列壓縮到最短。WiseMAC協議可以很好地適應網絡流量變化,它是針對WiseNET設計的MAC協議。但是由于節點需要存儲鄰居節點的信道偵聽時間,會占用寶貴的存儲空間,增加協議實現復雜度,尤其是在節點密度較高的網絡內這個問題尤為突出。
B-MAC協議是加州大學伯克利分校開發的伯克利媒介訪問控制協議(Berkeley Media Access Control,B-MAC),該協議是一個設計和實現簡單,且可配置的MAC協議。B-MAC協議采用空閑信道評估CCA(Clear Channel Assess)技術進行信道監測,采用低功耗偵聽LPL(Low Power Listening)機制實現低功耗通信,采用退避算法減少碰撞,使得其性能遠高于S-MAC協議。信道評估通過對接收信號強度RSSI采用指數加權滑動平均算法求出信道平均噪聲,再將一小段時間內的最小RSSI值與平均噪聲比較,以確定信道狀態。B-MAC采用周期信道采樣和發送前導序列的方法減少空閑偵聽。退避算法包括初始退避和擁塞退避兩種,可有應用程序設置。該協議的最主要貢獻是它向上層協議提供了一系列雙向接口,通過配置這些接口,可以使該協議應用于不同流量類型的網絡。B-MAC協議無需共享調度信息,可以有效縮短喚醒時間,因此,在吞吐量和延遲等方面優于S-MAC協議,但在減少能耗方面并沒有太大優勢,對B-MAC協議和S-MAC協等協議進行比較后得出,B-MAC協議更適合于延遲要求不高的應用,在延遲要求較高的情況下,S-MAC等同步MAC協議更節能。
為了縮短前導長度,減少能耗,X-MAC協議將前導序列分為若干個較小的頻閃前導(strobed preamble),每個頻閃前導中都包含有目的地址,便于非接收節點盡早丟棄分組進入休眠。利用頻閃前導之間的時間間隔,接收節點可以向源節點發送早期確認,發送節點接收到早期確認后立刻發送數據分組,從而避免發送節點過度前導和接收節點過度偵聽。圖4比較了B-MAC、WiseMAC等一般擴展前導MAC協議和XMAC協議的時序關系。X-MAC協議還設計了一種自適應算法,根據網絡流量變化動態調整占空比以減少單跳延遲。

圖4 低功率偵聽擴展前導與X-MAC時序比較
X-MAC協議在能量效率、吞吐量和延遲等性能上優于B-MAC協議和WiseMAC協議。與傳統的基于LPL的MAC協議相比,X-MAC協議更易于被支持分組無線收發器的無線傳感器節點所實現,但是X-MAC協議對時間同步精度要求高于WiseMAC,分組長度、數據發送速率等協議參數還需進一步確定。
XW-MAC協議是在采用低功耗偵聽機制基礎上,為了進一步節省能耗,結合了X-MAC協議和WiseMAC協議的優點,提出了優化低功率偵聽擴展前導序列機制。另外,XW-MAC協議中還增加了自適應機制,以適應不同的網絡流量。
優化低功率偵聽擴展前導沿用了X-MAC協議的前導機制,在發送數據時,將前導分為若干個短前導碼(short preamble),短前導碼中只包含一個短的前導序列和一個目標地址。在發送前導序列時,每個短前導碼之間都有一個接收ACK包的時間間隔,如果接收節點蘇醒后收到短前導碼中的目的地址是本地地址,那么就向發送節點發送一個ACK應答包。當發送節點發送一個短前導碼后收到ACK應答包后,立即開始發送數據;如果發送完一個短前導碼后沒有收到ACK包,就接著發送下一個短前導碼,直到收到ACK應答包或超出所能發送的最大短前導碼數。XW-MAC協議的優化在于采用WiseMAC喚醒偏移機制,發送節點記錄每個接收節點發送ACK應答包時發送的短前導碼的個數,將其作為接收節點喚醒偏移,在以后向該節點發送數據時,根據偏移發送短前導碼,這樣可以減少發送短前導碼的個數,從而減少能耗。如圖5所示,X-MAC中在發送到第四個短前導碼時收到ACK應答包,如果時序不變,在以后的通信中發送節點仍然要發送四個短前導碼才能被接收節點偵聽到;在XW-MAC協議中,兩個節點的第一次通信與X-MAC協議一樣,都發送四個短前導碼,但經過此次通信后,發送節點記錄接收ACK時發送的短前導碼包的個數4作為接收節點的喚醒時間,在以后的通信中,發送節點先計時發送三個短前導碼的時間,之后再開始真正發送短前導碼,圖中為了保證接收節點偵聽的可靠性,提前多發送一個短前導碼。相比之下,XW-MAC協議的優化前導序列比X-MAC協議中的能耗更少。

圖5 優化前導序列與X-MAC序列比較
節點周期休眠和低功耗偵聽機制是目前很多MAC協議采用的機制,它們也是XW-MAC協議優化前導序列實現的基礎。在X-MAC協議中,發送節點無需知道接收節點蘇醒的時間,當有數據要發送時,首先發送喚醒前導碼,直到接收節點蘇醒;在WiseMAC協議中,發送節點要知道接收節點嚴格的蘇醒時間,發送節點在接收節點蘇醒前開始發送信息;XW-MAC協議對前兩種方式進行了折中,發送節點只要知道接收節點蘇醒的大致時間,只要在這之前開始發送前導碼即可,能夠減少發送節點發送前導碼的長度,也無需嚴格的時鐘同步。另外,為了保證發送數據的可靠性,在XW-MAC協議中,當發送節點發送了指定偏移量的短前導碼后仍沒有收到接收節點的確認幀,就繼續發送短前導碼,直到達到最大短前導碼數或收到確認幀才停止。
對于密集性網絡,MAC協議的性能嚴重影響網絡的吞吐量和延遲。為了使節點適應不同的網絡應用,XW-MAC協議采用自適應機制,根據網絡流量,動態調整檢測間隔時間CT(check time)和前導長度L。在XW-MAC協議中,將流量分為三個級別:A、B、C,A代表流量較大,B代表流量一般,C代表流量較低,它們分別對應的(檢測間隔,前導長度)為(CTa,La)、(CTb,Lb)、(CTc,Lc)。每個節點都以B為默認級別,當流量不斷增加達到A級時,XW-MAC協議就改變節點的檢測間隔和前導長度變為CTa和La;同理,當流量減少到B級,就調整為CTc和Lc。
無線傳感器網絡節點能耗問題是制約網絡性能的關鍵因素之一,與網絡的壽命密切相關。網絡的壽命有節點壽命決定,節點壽命有其總能耗決定。能耗越小,節點壽命就長,因此,在保證節點正常通信前提下,盡量減少能耗,延長節點壽命,是無線傳感器網絡追求的目標之一。節點的總功率E,單位為毫瓦,一般是固定值,總能量E乘以節點壽命t得到總能耗。對于WSN應用,
E=Erx+Etx+Elisten+Ed+Esleep
其中,Erx代表接收功率,Etx代表發送功率,Elisten代表監聽功率,Ed代表數據采樣功率,Esleep代表休眠功率。傳感器是WSN的一部分,一般也由節點供電,所以數據采樣功率一般計算在總功率中。
對于采用不同的MAC協議的WSN,在相同的節點,相同的數據采樣頻率,相同的數據包大小情況下,其Erx、Etx和Ed都是相同的,又由于節點休眠時Esleep很小,所以Elisten成為影響節點能耗的關鍵參數。XW-MAC協議與X-MAC協議相比,采用相同的低功耗偵聽和帶ACK的前導序列,所以它們能耗的不同在于前導序列的平均長度。XW-MAC協議中前導序列一般都是固定的1~2個短前導碼長度,只有在出現變更檢測間隔變化時才會出現大于兩個短前導碼,而X-MAC協議的發送的短前導碼個數不確定,要比XW-MAC協議的多,因此,XW-MAC協議比X-MAC協議更節能。
以減少節點能耗為目標,結合X-MAC協議和WiseMAC協議的優點,提出了XW-MAC協議。通過定性的能耗分析,XW-MAC協議比X-MAC協議更節能。進一步的工作將通過仿真和實驗進行定量的驗證和分析。
[1]孫利民,李建中,陳渝,朱紅松.無線傳感器網絡[M].北京:清華大學出版社.2005.
[2]Holger Karl,Andreas Willig著,邱天爽,唐洪,李婷等譯.無線傳感器網絡協議與體系結構[M].北京:電子工業出版社.2006.
[3]Ye W,Heidemann J,Estrin D.An Energy-Efficient MAC Protocol for Wireless Sensor Networks.In: Proc.of the INFOCOM 2002.San Francisco: IEEE Computer Society.2002.
[4]陳林星.無線傳感器網絡技術與應用[M].北京:電子工業出版社.2009.
[5]van Dam T,Langendoen K.An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks.In: Proc.of the 1st.ACM Conf.on Embedded Networked Sensor Systems(SenSys),New York: ACM Press.2003.
[6]EI-Hoiydi A.Aloha with preamble sampling for sporadic traffic in ad hoc wireless sensor networks.In:Proceedings of IEEE International Conference on Communications.New York,USA:IEEE.2002.
[7]Hill J L,Culler D E.Mica:a wireless platform for deeply embedded networks.IEEE Micro.2002.
[8]EI-Hoiydi A,Decotignie J D.WiseMAC: an ultra low power MAC protocol for the downlink of infrastructure wireless sensor networks.In: Proceedings of the 9th IEEE International Symposium on Computers and Communications.New York,USA: IEEE.2004.
[9]C.Enz,A.El-Hoiydi,J-D Decotignie,et al.WiseNET: An ultralow power wireless sensor network solution.Computer.2004.
[10]Jamieson K,Balakrishnan H,Tay YC.Sift: A MAC protocol for event-driver wireless sensor networks.Technical Report,MITLCS-TR-894,MIT.2003.
[11]Buettner M,Yee G,Anderson E,Han R.X-MAC: A short preamble MAC protocol for duty-cycled wireless sensor networks.In: Proc.of the 4th ACM Int'1 Conf.on Embeded Sensor System(SenSys).New York: ACM Press.2006.