摘 要:在分析傳感器網絡" title="無線傳感器網絡">無線傳感器網絡的MAC設計中需要考慮的問題的基礎上,對近幾年提出的幾種典型的基于競爭的MAC協(xié)議進行了深入探討,并討論了其性能上的優(yōu)劣,最后提出了無線傳感器網絡MAC協(xié)議的發(fā)展方向。
關鍵詞:無線傳感器網絡? 媒體接入控制協(xié)議? 競爭機制
?
?
??? 無線傳感器網絡是由一組無線傳感器以自組織方式構成的無線網絡,其目的是協(xié)作地感知、采集和處理網絡覆蓋的地理區(qū)域中感知對象的信息,并發(fā)送給觀測者。同其他網絡一樣,媒體接入控制MAC(Medium Access Control)在成功運轉無線傳感器網絡過程中是一項關鍵的技術。MAC協(xié)議的基本任務是解決節(jié)點共享網絡媒體的接入問題。要為無線傳感器網絡設計一個好的MAC協(xié)議需要考慮以下幾個方面:首先是能耗,無線傳感器網絡節(jié)點通常是電池供電,并且一般情況下很難為這些節(jié)點更換電池,節(jié)點擁有足夠長的生命期是無線傳感器網絡首要特性;其次是針對網絡拓撲結構以及節(jié)點稠密程度變化的自適應性調整,一個好的MAC協(xié)議應該能夠很好地適應網絡的這些變化;MAC協(xié)議設計時還應該考慮的性能準則包括公平性、吞吐量和延遲等[1]。其中,能量消耗" title="能量消耗">能量消耗問題最為重要。
??? 目前,已經提出的眾多MAC協(xié)議中并沒有“最好的”。對于協(xié)議的適當選擇取決于應用背景、所期待的負載類型、所希望的配置情況以及具體硬件的能量消耗等。本文介紹近年來出現(xiàn)的一些MAC協(xié)議,并討論這些協(xié)議的優(yōu)劣。
MAC層能耗分析及MAC協(xié)議分類
??? 無線傳感器網絡節(jié)點收發(fā)機消耗較大的能量。文獻[2]將一個收發(fā)機的狀態(tài)分為四種,即發(fā)送狀態(tài)、接收狀態(tài)、空閑狀態(tài)和休眠狀態(tài)。其中,發(fā)送狀態(tài)非常消耗能量,接收狀態(tài)和發(fā)送狀態(tài)能耗相當,空閑狀態(tài)能量消耗相對較少,休眠狀態(tài)則幾乎不消耗能量。能量損耗主要在以下幾方面[3]:
??? (1)碰撞。由于隱終端等問題的存在,網絡中節(jié)點在發(fā)送數(shù)據(jù)的過程中,可能有多個節(jié)點同時發(fā)送數(shù)據(jù)而產生碰撞,產生碰撞后數(shù)據(jù)需要重傳,這需要消耗更多的能量。
??? (2)偷聽。無線媒體是一個廣播媒體,如果源節(jié)點的所有相鄰節(jié)點均處于接收狀態(tài),則每個節(jié)點均可以聽到分組的傳輸,并且當某個分組不是發(fā)向某個節(jié)點時,這個節(jié)點會將其丟棄,稱這個節(jié)點偷聽了傳輸?shù)姆纸M,而節(jié)點在處理這些分組時要消耗不必要的能量。
??? (3)協(xié)議開銷。協(xié)議開銷包含在MAC的控制幀中,例如RTS/CTS(請求發(fā)送/清除發(fā)送)分組。此外,每個分組的首部和尾部也是一種開銷。
??? (4)空閑監(jiān)聽。處于空閑狀態(tài)的節(jié)點隨時準備接收分組數(shù)據(jù),但是在這個狀態(tài)并沒有接收到任何分組。這種準備就緒的狀態(tài)是有消耗的,并且在網絡負載較低的條件下是不必要的。
??? 因此在設計MAC協(xié)議時,必須針對上述可能造成傳感器網絡能量損耗的主要因素進行分析,以提高協(xié)議的效率。
??? 目前針對無線傳感器網絡MAC協(xié)議的分類方法有很多,基于解決所存在能量問題的方式可分如下兩類:
??? (1)基于競爭的協(xié)議。這類協(xié)議的典型代表有STEM協(xié)議、S-MAC協(xié)議、CSMA協(xié)議、PAMAS協(xié)議以及仲裁設備協(xié)議等。
??? (2)基于時間表的協(xié)議。這些協(xié)議的典型代表有LEACH協(xié)議、SMACS協(xié)議以及TRAMA協(xié)議。
??? 本文主要介紹基于競爭的MAC協(xié)議。
基于競爭的MAC協(xié)議分析
STEM協(xié)議
? ? ?
??? STEM(稀疏拓撲結構與能量管理)協(xié)議提供了一個解決空閑監(jiān)聽問題的方法。STEM目標網絡是為等待并報告某些特定事件而開發(fā)的。這種網絡有一個監(jiān)視狀態(tài),當處于這種狀態(tài)時,節(jié)點處于空閑狀態(tài),不做任何事情;另外,網絡還有一個傳輸狀態(tài),當處于這種狀態(tài)時節(jié)點表現(xiàn)出顯著的偵聽和通信能力。STEM試圖取消監(jiān)視狀態(tài)中的空閑監(jiān)聽操作,并根據(jù)需要加快從監(jiān)視狀態(tài)進入傳輸狀態(tài)的速度。
??? STEM目標網絡的每個節(jié)點需要兩個收發(fā)機,工作于兩個不同的信道,分別稱為喚醒信道和數(shù)據(jù)信道[4]。由于STEM目標網絡的特殊性,數(shù)據(jù)信道一般總是處于休眠模式,除非進行數(shù)據(jù)發(fā)送或接收。在喚醒信道,時間被劃分成一些固定長度為T的喚醒時段。而一個喚醒時段又進一步劃分為一個長度為TRx<
?? ?如果一個節(jié)點進入監(jiān)聽時段,其喚醒信道的接收機要開啟并調到f1頻段等待接收信號。如果在TRx時段內沒有接收到任何信息,則再轉換到休眠模式。如果TRx時段內接收到某源節(jié)點發(fā)送的喚醒信標,則該節(jié)點數(shù)據(jù)信道的收發(fā)機將在f2頻段啟動一個分組的傳輸。這就避免了喚醒信道與數(shù)據(jù)信道的相互干擾。STEM使目標節(jié)點的接收機對源節(jié)點發(fā)射機引起重視的方法有兩個:STEM-B和STEM-T。
??? STEM-B中,源發(fā)射機在喚醒信道周期性地發(fā)送信標,這種信標表明了源發(fā)射機和目標接收機的MAC地址,一旦接收機接收到該信標,它立即向喚醒信道發(fā)一個確認幀信標,并使接收機切換到數(shù)據(jù)信道,然后兩個節(jié)點可在數(shù)據(jù)信道進行數(shù)據(jù)交換。
??? STEM-T中,發(fā)射機在其喚醒信道發(fā)送一個沒有攜帶任何地址信息的忙音信號,所有鄰近節(jié)點均能偵聽到這個忙音信息并將自身切換到各自的數(shù)據(jù)信道,但并不發(fā)送確認信息。如果節(jié)點能從后續(xù)的數(shù)據(jù)交換中確定自己不是本次數(shù)據(jù)傳輸?shù)膶ο螅瑒t重新轉換到休眠模式。
??? 在低負載" title="低負載">低負載的情況下,STEM-T比STEM-B更可取。從喚醒等待時間來看,如果喚醒信道沒有碰撞發(fā)生,則STEM-B的喚醒等待時間約為STEM-T的一半。然而由于STEM-T的TRx比STEM-B的TRx要短,并且STEM-T無需確認分組,因此從能耗角度看,STEM-T的優(yōu)越性更大一些。
S-MAC協(xié)議
????在前文中分析了無線傳感器網絡能耗的四個方面,S-MAC協(xié)議在降低能耗方面考慮了所有四個能耗原因,并且,與STEM協(xié)議不同,S-MAC方法不需要兩個不同的信道。這種方法的基本模式可以用圖2描述[5]。圖中,每個節(jié)點休眠一段時間后蘇醒并且監(jiān)聽是否有節(jié)點要傳送數(shù)據(jù)給它。在休眠期,節(jié)點關閉其收發(fā)機并且為一段時間后喚醒自己設定一個時鐘。
???? S-MAC協(xié)議主要采用了如下機制:
??? (1)周期性喚醒:每個節(jié)點獨立地調度它的工作狀態(tài),周期性地轉入睡眠狀態(tài)" title="睡眠狀態(tài)">睡眠狀態(tài),在蘇醒后監(jiān)聽信道狀態(tài),判斷是否需要發(fā)送或接收數(shù)據(jù)" title="接收數(shù)據(jù)">接收數(shù)據(jù)。S-MAC將監(jiān)聽時段進一步劃分為三個不同的時段:SYNCH階段、RTS階段和CTS階段。其中,SYNCH階段用來保證時間同步,并且新節(jié)點可以通過周期性地發(fā)送SYNCH分組了解網絡拓撲結構;RTS階段用來發(fā)送RTS分組,可與第三階段的CTS分組一起減少數(shù)據(jù)分組的碰撞。
??? (2)沖突避免:如果一個節(jié)點的多個相鄰節(jié)點同時要求與它通信,則這些節(jié)點會在目標節(jié)點蘇醒開始監(jiān)聽時競爭信道。S-MAC的處理方法與802.11相似,它采用的是物理或虛擬載波偵聽,并且采用RTS/CTS方法解決隱終端問題。所謂虛擬載波偵聽是指每個節(jié)點中設一個變量NAV,用來記錄其他節(jié)點間數(shù)據(jù)傳輸時間。每當一個傳輸時間結束,NAV減1。當某個節(jié)點初始化數(shù)據(jù)傳送時,首先檢查它的NAV,如果其值不是零,則信道忙,需等待一段時間才能發(fā)送。這個過程稱為虛擬載波偵聽。
??? (3)流量自適應偵聽機制:在一次通信過程中,通信節(jié)點的相鄰節(jié)點在通信結束后不立即進入睡眠狀態(tài),而是保持偵聽一段時間。如果節(jié)點在這段時間內接收到RTS分組,則可以立即接收數(shù)據(jù),否則轉入睡眠狀態(tài)。
??? (4)信息通過方法:S-MAC協(xié)議采用一種“信息通過(Message-passing)”方法。所謂信息是一個較大的數(shù)據(jù)項,網絡內部的處理通常要求節(jié)點的集合接收一個完整的信息。另一方面,對于無線媒體,最好將一個較長的分組拆分成若干較短的分組。S-MAC協(xié)議利用RTS/ CTS 機制,一次預約發(fā)送整個信息的時間,并將一個信息分割成幾個小分組在預約的時間內突發(fā)傳送。
??? S-MAC協(xié)議存在一個主要的缺點是不太適應喚醒時段長度的變化,這是因為一般情況下這個時段的長度是固定的[6]。
與S-MAC相似的另一個基于競爭的MAC協(xié)議是T-MAC協(xié)議。T-MAC協(xié)議的優(yōu)勢在于可以自適應地縮短監(jiān)聽時段,如果節(jié)點在確定的時間內偵聽媒體沒有得到相關信息,則允許其盡快返回休眠模式,即監(jiān)聽階段可以盡快結束,也就是說T-MAC協(xié)議中節(jié)點休眠與活動時間是隨通信流量動態(tài)變化的。而S-MAC的監(jiān)聽時段是固定長度的。
CSMA協(xié)議
??? Woo和Culler研究了CSMA協(xié)議的一些變化形式,著重研究了這些協(xié)議的內在能量消耗和公平性,但該協(xié)議沒有采取任何措施以避免空閑監(jiān)聽或偷聽的發(fā)生。
??? CSMA協(xié)議的目標網絡和STEM目標網絡具有相同的通信量模式。圖3給出了節(jié)點數(shù)據(jù)發(fā)送過程的步驟[7]。當一個節(jié)點從其上層得到一個待發(fā)送的新分組時,會啟動一個隨機延遲,并將次數(shù)計數(shù)器num_retries置0。在后續(xù)的監(jiān)聽階段,節(jié)點進行載波偵聽操作。如果媒體為忙狀態(tài),且試驗的次數(shù)小于設定的最大值,則節(jié)點進入回退模式;如果媒體處于忙狀態(tài)且節(jié)點已經用盡最大試驗次數(shù),則將分組丟棄。如果載波偵聽的結果是媒體空閑,則節(jié)點發(fā)送RTS分組并等待CTS分組,若CTS分組到達,則節(jié)點發(fā)送數(shù)據(jù),若CTS分組未到達或另一個CTS分組被接收到,則節(jié)點根據(jù)num_retries的值決定是進入回退模式還是丟棄分組。
??? CSMA協(xié)議的若干變形,如無隨機延遲與有隨機延遲、固定窗口回退、指數(shù)增長回退等已經有不少在單跳觸發(fā)情況下進行的研究。研究結果表明:這些方法可以得到很好的吞吐量以及比較低的能量消耗。
PAMAS協(xié)議
??? PAMAS協(xié)議最初是為ad hoc網絡設計的。這個協(xié)議提供了一個避免偷聽的機制,但是沒有考慮空閑監(jiān)聽的問題。這個協(xié)議的關鍵思想是將忙音方法與RTS/CTS握手技術相結合。該協(xié)議的特點是使用了兩個信道,這一點與STEM相似。它的兩個信道分別為數(shù)據(jù)信道和控制信道。所有的信令分組(RTS,CTS,忙音等)都是經由控制信道傳輸,而數(shù)據(jù)信道則保留給數(shù)據(jù)分組。
??? 現(xiàn)假設某節(jié)點x要發(fā)送數(shù)據(jù)給其相鄰節(jié)點y。x先在其控制信道發(fā)送一個帶有x和y的MAC地址的RTS分組,此時分兩種情況:若y收到該分組且其周圍沒有其他分組傳輸,則發(fā)送一個CTS分組應答,一旦x收到CTS應答就利用數(shù)據(jù)信道傳輸數(shù)據(jù),當y節(jié)點開始接收數(shù)據(jù)時在其控制信道發(fā)出一個忙音分組;若y周圍有一個節(jié)點z正在接收數(shù)據(jù),則z會返回忙音分組,這個忙音分組影響了y的CTS應答分組,此時,PAMAS協(xié)議要求y抑制其CTS的發(fā)送,從而引起x的回退。另外,PAMAS協(xié)議還提供了解決何時將節(jié)點收發(fā)機置于休眠模式問題的方法。
??? PAMAS協(xié)議應用于隨機網絡時,低負載情況下的能量節(jié)省取決于平均節(jié)點度(即一個節(jié)點擁有的相鄰節(jié)點的平均數(shù)),低負載情況下控制分組的數(shù)量要比重負載情況少。仿真試驗[8]結果表明,PAMAS協(xié)議在較低負載、較高節(jié)點度時節(jié)省60%的能量,而在較低負載、較低節(jié)點度時仍能節(jié)省20%~30%的能量,在高負載的情況下,可獲得10%~40%的能量節(jié)省,節(jié)點度越高,能量節(jié)省的越多。
??? 本文針對幾種典型的基于競爭的MAC 協(xié)議進行了分析。可以看出現(xiàn)有的關于MAC協(xié)議的研究還不完善,主要問題在于網絡動態(tài)特性對信道策略的不良影響以及在一定程度上節(jié)省了能量的同時卻降低了帶寬利用率和增加了通信時延。如果單獨考慮MAC層的設計,現(xiàn)有協(xié)議對以上問題的解決都不是很理想。如果將其他層的設計滲透到MAC層中,采用跨層設計,就可以最大限度地利用無線網絡的資源。這也是無線傳感器網絡MAC協(xié)議后續(xù)研究的一個方向。
參考文獻
[1] CALLAWAY E H.Wireless Sensor?Networks-Architectures and Protocols.Boca Raton:Auerbach Publications.?? 2004.
[2] HOLGER K,ANDREAS W.Protocols?and Architectures for Wireless Sensor?Networks,John Wiley &Sons Ltd,???? 2005.
[3] YE W,HEIDEMANN J,Estrin D.An?energy-efficient MAC protocol for?wireless sensor networks[J].IEEE Info com,2002,3(6):1567-1576.
[4] SCHURGERS C,TSIATSIS V,GANERIWAL S,et al.Optimizing?Sensor Networks in the Energy-La-tency-Density Design Space,IEEE?Transactions on Mobile Computing,2002,1(1):70-80.
[5] YE W,HEIDEMANN J,ESTRIN D.Medium access control with coordinated adaptive sleeping for wireless????? sensor networks.IEEE/ACM Transactions on Networking.2004,12(3):493-506.
[6] CHIRAS T,PATERAKIS M,KOUTSAKIS P.Improved Medium Access?Control for Wireless Sensor Networks?A Study on the S - MAC Protocol?Local and Metropolitan Area Networks.The 14th IEEE Workshop on Local?and Metropolitan Area Networks,2005.
[7] WOO A,CULLER D.A Transmission?Control Scheme for Media Access in?Sensor Networks.In Proceedings of?the Seventh Annual International?Conference on Mobile Computing?and Networking 2001(MobiCom),Rome,Italy,July 2001.
[8] SINGH S,RAGHAVENDRA C.PAMS-Power Aware Multi-Access Protocol?with Signalling for Ad Hoc Networks.ACM Computer Communication?Review,1998,28(3):5-26.