無線傳感網MAC協議(上)

無線頻譜是無線移動通信的通信介質,是一種廣播介質,屬於稀缺資源。在無線傳感器網絡中,可能會有多個節點設備同時接入信道,導致分組之間相互衝突,使接收方無法分辨出接收到的數據,浪費信道資源,吞吐量顯著下降。爲了解決這些問題,就需要MAC(介質接入控制)協議。所謂MAC協議,就是通過一組規則和過程來更有效、有序和公平地使用共享介質。

在無線傳感器網絡中,爲了實現多點通信,由MAC(Medium Access Control)介質訪問控制層協議決定了局部範圍無線信道的使用方式,以及多跳自組織無線傳感器網絡節點之間的通信資源分配,也就是說必須實現兩大基本功能目標:在密集散佈的傳感器現場能夠有助於建立起一個基本網絡基礎設施所需的數據通信鏈路;協調共享介質的訪問,以便傳感器網絡節點能夠公平有效地分享通信資源。由於傳感器網絡獨特的資源限制和應用需求,傳統的MAC協議不再適合於無線傳感器網絡應用範例,如對於一個基於基礎設施的蜂窩系統,其MAC協議的設計基本目標是提供高質量的服務質量(QoS)和帶寬效率,且主要致力於資源分配策略。而無線傳感器網絡沒有像基站一樣的中央控制機構,況且網絡節點的有效節能直接影響無線傳感器網絡的使用壽命,因此在設計無線傳感器網絡的MAC協議時,有幾個方面問題值得重點關注:能量感知和節省;網絡效率(包括公平性、實時性、網絡吞吐率和帶寬利用率等);可擴展性。儘管藍牙(Bluetooth)、移動自組織網絡(MANET)和無線傳感器網絡在通信基礎設施上有相似的地方,但由於網絡壽命的制約,沒有哪個現存的藍牙或移動自組織網絡MAC協議可以直接用在無線傳感器網絡。相比之下,除了節能和有效節能外,移動性管理和故障恢復策略也是無線傳感器網絡MAC協議首要關注的問題之一。儘管移動蜂窩網絡、Ad-hoc和藍牙技術是當前主流的無線網絡技術,但它們各自的MAC協議不適合無線傳感器網絡。GSM和CDMA中的介質訪問控制主要關心如何滿足用戶的QoS要求和節省帶寬資源,能耗是第二位的;Ad-Hoc網絡則考慮如何在節點具有高度移動性的環境中建立彼此間的鏈接,同時兼顧一定的QoS要求,能耗也不是其首要關心的;而藍牙採用了主從式的星型拓撲結構,這本身就不適合傳感器網絡自組織的特點。

目前,由於研究人員針對不同的無線傳感器網絡應用,沒有采用統一的MAC協議分類方式,但是大體依據標準分爲三種,如根據網絡拓撲結構方式(分佈式和集中式控制);使用單一或多信道方式;採用固定分配信道還是隨機訪問信道方式。已有參考文獻也將無線傳感器網絡MAC協議分爲三類:確定性分配、競爭佔用和隨機訪問。前兩者不是傳感器網絡的理想選擇。因爲TDMA固定時隙的發送模式功耗過大,爲了節省功耗,空閒狀態應關閉發射機。競爭佔用方案需要實時監測信道狀態也不是一種合理的選擇。隨機介質訪問模式比較適合於無線傳感網絡的節能要求。本書採用的是根據信道分配使用方式將無線傳感器網絡MAC協議分爲基於無線信道隨機競爭方式和時分複用方式及基於時分和頻分複用等其他混合方式三種。

1) 無線信道隨機競爭接入方式(CSMA)

節點需要發送數據時採用隨機方式使用無線信道,典型的如採用載波監聽多路訪問(CSMA)的MAC協議,需要注意隱藏終端和暴露終端問題,儘量減少節點間的干擾。

2) 無線信道時分複用無競爭接入方式(TDMA)

採用時分複用(TDMA)方式給每個節點分配了一個固定的無線信道使用時段,可以有效避免節點間的干擾。

3) 無線信道時分/頻分/碼分等混合複用接入方式(TDMA/FDMA/CDMA)

通過混合採用時分和頻分或碼分等複用方式,實現節點間的無衝突信道分配策略。

1 基於競爭的MAC協議

基於無線信道隨機競爭方式的MAC協議採用按需使用信道的方式,主要思想就是當節點有數據發送請求時,通過競爭方式佔用無線信道,當發送數據發生衝突時,按照某種策略(如IEEE802.11 MAC協議的分佈式協調工作模式DCF採用的是二進制退避重傳機制)重發數據,直到數據發送成功或徹底放棄發送數據。由於在IEEE802.11 MAC協議基礎上,研究者們提出了多個適合無線傳感器網絡的基於競爭的MAC協議,故本小節重點介紹IEEE802.11 MAC協議及近期提出改進的無線傳感器網絡MAC協議。

1.IEEE802.11 MAC協議

IEEE 802.11 MAC協議是IEEE 802.11無線局域網(WLAN)標準的一部分(另一部分是物理層規範)。其主要功能是信道分配、協議數據單元(PDU)尋址、組幀、糾檢錯、分組分片和重組等。IEEE 802.11 MAC協議有兩種工作方式:一種是分佈式協調功能(Distributed Coordination ,DCF);另一種是中心點協調功能(Point Coordination,PCF)。由於DCF是採用競爭接入信道的方式,而且目前IEEE 802.11 WLAN有比較成熟的標準和產品,所以目前在無線傳感器網絡研究領域,很多的測試和仿真分析都基於這種方式。由於在無線信道中難以檢測到信號的衝突,故只能採用隨機退避機制來減小數據衝突的概率。在DCF方式下,節點採用CSMA/CA機制和隨機退避等待時間算法實現無線信道共享。對於單向通信都採用立即主動確認機制(ACK幀),即當沒有收到ACK幀,則發送方會繼續重傳數據。而PCF方式是基於優先級的無競爭訪問,通過訪問接入點協調節點的數據收發,通過輪詢方式查詢當前哪些節點有發送數據請求,並在適當時候給予節點數據發送權。

DCF是用於支持異步數據傳輸的基本接入方式,它以“盡力而爲”(Best Effort)方式工作。DCF實際上就是CSMA/CA(帶衝突避免的載波偵聽多址接入)協議。爲什麼不用CSMA/CD協議呢?因爲衝突發生在接收節點,一個移動節點在傳輸的同時不能聽到信道發生了衝突,自己發出的信號淹沒了其他的信號,所以衝突檢測無法工作。DCF的載波偵聽有兩種實現方法:第一種實現是在空中接口,稱爲物理載波偵聽;第二種實現是在MAC層,稱爲虛擬載波偵聽。物理載波偵聽通過檢測來自其他節點的信號強度,判別信道的忙閒狀況。

節點通過將MAC層協議數據單元(MPDU)的持續時間放到RTS、CTS和DATA幀頭部來實現虛擬載波偵聽。MPDU是指從MAC層傳到物理層的一個完整的數據單元,它包含頭部、淨荷和32bit的CRC(循環冗餘校驗)碼。持續期字段表示目前的幀結束以後,信道用來成功完成數據發送的時間。移動節點通過這個字段調節網絡分配矢量(NetworkAllocation Vector,NAV)。NAV表示目前發送完成需要的時間。無論是物理載波偵聽還是虛擬載波偵聽,只要其中一種方式表明信道忙,就將信道標註爲“忙”。

接入無線信道優先級用幀之間的間隔表示,稱做IFS(Inter Space),它是傳輸信道強制的空閒時段。DCF方式中的IFS有兩種:其一爲SIFS(Short IFS);另一個爲DIFS(DCF-IFS),DIFS大於SIFS。一個移動節點如果只需要等待SIFS時間,就會比等待DIFS時間的節點優先接入信道,因爲前者等待的時間更短。對於DCF基本接入方式(沒有使用RTS/CTS交互),如果移動節點偵聽到信道空閒,它還需要等待DIFS時間,然後繼續偵聽信道。如果此時信道繼續空閒,那麼移動節點就可以開始MPDU的發送。接收節點計算校驗和確定收到的分組是否正確無誤。一旦接收節點正確地接收到了分組,將等待SIFS時間後回覆一個確認幀(ACK)給發送節點,以此表明已經成功接收到數據幀。如圖3-1所示表明在DCF基本接入方式中,成功發送一個數據幀的時序圖。當一個數據幀發送出去的時候,其持續期字段讓聽到這個幀的節點(目的節點除外)知道信道的忙時間,然後調整各自的網絡分配矢量NAV。這個NAV裏也包含了一個SIFS時間和後續的ACK持續期。
一個節點無法知道自己的發送產生了衝突,所以即使衝突產生,也會將MPDU發送完。假如MPDU很大,就會浪費寶貴的信道帶寬資源。解決的辦法是在MPDU發送之前,採用RTS/CTS控制幀實現信道帶寬的預留,減少衝突造成的帶寬浪費。因爲RTS爲20字節,CTS爲14字節,而數據幀的最大爲2346字節,所以RTS/CTS相對較小。如果源節點要競爭信道,則首先發送RTS幀,周圍聽到RTS的節點從中解讀出等待的持續時間字段,相應地設置這些節點的網絡分配矢量NAV。經過SIFS時間以後,目的節點發送CTS幀。周圍聽到CTS的節點從中解讀出等待的持續時間字段,相應地更新它們的網絡分配矢量NAV。一旦成功地收到CTS,經過SIFS時間,源節點就會發送MPDU。周圍節點通過RTS和CTS頭部中的持續期字段更新自己的NAV,可以緩解“隱藏終端”問題。如圖3-2所示表示了 RTS/CTS交互,然後發送MPDU的時序圖。移動節點可以選擇不使用RTS/CTS,也可以要求只有在MPDU超過一定的大小時才使用RTS/CTS,或者不管什麼情況下均使用RTS/CTS。一旦衝突發生在RTS或者CTS,帶寬的損失也是很小的。然而,對於低負荷的信道,RTS/CTS的開銷會增加時延。
在大的MPDU從邏輯鏈路層傳到MAC層以後,爲了增加傳輸的可靠性,會將其分片(Fragment)發送。那麼怎樣確定是否進行分片呢?用戶可以設定一個分片閾值(Fragment_Threshold),一旦MPDU超過這個閾值就將其分成多個片段,片段的大小和分片閾值相等,其中最後一個片段是變長的,一般小於分片閾值。當一個MPDU被分片以後,所有的片段按順序發送,如圖3-3所示。信道只有在所有的片段傳送完畢或者目的節點沒有收到其中一個片段的確認(ACK)的時候才被釋放。目的節點每接收到一個片段都向源節點回送一個ACK。源節點每收到一個ACK,經過SIFS時間,再發送另外一個數據幀片段。所以,在整個數據幀的傳輸過程中,源節點一直通過間隔SIFS時間產生的優先級來維持信道的控制。如果已經發送的數據幀片段沒有得到確認,源節點就停止發送過程,重新開始競爭接入信道。一旦接入信道,源節點就從最後未得到確認的數據片段開始發送。如果分片發送數據的時候使用RTS/CTS交互,那麼只有在第一個數據片段發送的時候才進行。RTS/CTS頭部中的持續期只到第一個片段的ACK被接收到爲止。此後其他周圍的節點從後續的片段中提取持續期,來更新自己的網絡分配矢量NAV。
CSMA/CA的衝突避免的功能由隨機指數退避過程實現。如果一個移動節點準備發送一個數據幀,並且偵聽到信道忙,節點就一直等待,直到信道空閒了DIFS時間爲止,接着計算隨機退避時間。在IEEE 802.11標準中,時間用劃分的時隙表示。在時隙ALOHA中,時隙和一個完整分組的傳輸時間相同。但是在IEEE 802.11中,時隙遠比MPDU要小得多,與SIF時間相同,被用來定義退避時間。需要注意的是,時隙的大小和具體的硬件實現有關,通常包括髮射啓動時間、介質傳播時間及檢測信道的響應時間等。這裏將隨機退避時間定義爲時隙的整數倍。開始時,在[0,7]範圍內選擇一個整數,當信道空閒了DIFS時間以後,節點用定時器記錄消耗的退避時間,一直到信道重新忙或者退避時間定時器超時爲止。如果信道重新忙,並且退避時間定時器沒有超時,節點就將凍結定時器。當定時器時間減到零時,節點就開始發送數據信息幀。假如兩個鄰近或者更多個鄰近節點的定時器時間同時減到零,就會發生衝突。每個節點必須在[O,15]範圍裏面,隨機選擇一個整數作爲退避時間。對於每一次重傳,退避時間按22+irandom()增長,其中i是節點連續嘗試發送一個MPDU的次數。經過DIFS空閒時間以後的退避時間稱爲競爭窗口(ContentionWindows,CW),CW是處於標準規定的aCWmin和aCWmax之間的整數隨機數。這種競爭信道的方式的優點是提高了節點之間的公平性。一個節點每當發送MPDU的時候,都需要重新競爭信道。經過DIFS時間之後,每個節點都有同樣的概率接入信道。當多個節點推遲且進入隨機退避時,利用隨機函數選擇最小退避時間的節點作爲競爭優勝者,從而佔用共享信道資源發送數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章