物聯(lián)網(wǎng)中MAC協(xié)議的研究
引 言
目前,物聯(lián)網(wǎng)應用較為廣泛,但技術(shù)還未完全成熟,標準也未統(tǒng)一。物聯(lián)網(wǎng)目前主要的技術(shù)有計算與服務技術(shù)、網(wǎng)絡與通信技術(shù)、感知與標識技術(shù)、管理與支撐技術(shù) [1]。對于以上四個主要技術(shù),都需重點研究如何應用MAC 協(xié)議。本文對目前典型的MAC 協(xié)議進行了分類,并從核心機制、特點和優(yōu)缺點三個角度進行分析,力求起到歸納總結(jié)目前已有的MAC 協(xié)議的作用。
根據(jù) MAC 協(xié)議的信道訪問方式,將 MAC 協(xié)議分為競爭式、分配式和混合式。其中,競爭式MAC 協(xié)議按需分配信道,分配式MAC 協(xié)議給不同的節(jié)點分配不同的信道,混合式MAC 協(xié)議在了解信道的情況之后,能夠在任何時隙傳送信息。
1 競爭式 MAC協(xié)議
基于競爭的MAC 協(xié)議有三個優(yōu)點:
(1) 按需配給信道,故可以較理想地滿足節(jié)點數(shù)和網(wǎng)絡載荷的變動;
(2) 可以較廣泛地應對網(wǎng)絡拓撲變動;
(3) 不需要繁瑣的時間同步。
這樣的協(xié)議主要有S-MAC 協(xié)議 [2]、T-MAC 協(xié)議[3]、Sift 協(xié)議[4] 和WiseMAC 協(xié)議[5]。下面從它們的核心機制、特點以及優(yōu)缺點分別展開討論。
1.1 S-MAC協(xié)議(Sensor-MultipleAccessControl協(xié)議)
在 2002 年,加州大學(University of Southern California) 的Wei Ye 等人主張在以 IEEE802.11 協(xié)議SC9636-006 的鋪墊上,推出一種新的有關(guān)如何在傳感器網(wǎng)絡中節(jié)省消耗能量的設計,適用于多跳網(wǎng)絡。
此協(xié)議利用周期性睡眠、自適應監(jiān)聽、串擾避免和分片傳輸機制這四種關(guān)鍵技術(shù)來改善能量消耗大這一缺陷。在一個調(diào)度周期內(nèi),會有不同調(diào)度方式的同步信號數(shù)據(jù)包被節(jié)點所接收,節(jié)點會默認一種調(diào)度方式并以數(shù)據(jù)包的形式廣播傳送出去。通常情況下,若鄰居節(jié)點只有一個,則節(jié)點會選一種新的調(diào)度方式 ;若不止一個,則節(jié)點協(xié)調(diào)這兩種不同的調(diào)度方式,然后廣播一種能保持最大長度監(jiān)聽時間的調(diào)度方式。采用流量自適應監(jiān)聽是為了防止通信時間延遲,停止通信后,鄰節(jié)點被喚醒來保持一段時間的監(jiān)聽,不需要等到下一個監(jiān)聽周期,而是立即收到信息,最終使得延遲時間縮短。
S-MAC 協(xié)議的串擾避免機制一方面選用物理偵聽,處理了隱藏節(jié)點問題并避免沖突,另一方面選用虛擬偵聽,節(jié)點在收到 NAV(Network Allocation Vector)的時候?qū)⒀杆傩菝撸?以防止各信道之間產(chǎn)生不同的信號。此外,該協(xié)議還會采用分片傳輸技術(shù),即把大信息包劃分為若干個小數(shù)據(jù)包并將它們一次傳遞,但是只使用一個RTS/CTS(Request to Send/Clear to Send)控制分組作為交互將它們同時傳遞,使能量的消耗和傳送時間減少。
1.2 T-MAC協(xié)議
T-MAC協(xié)議(Timeout-MultipleAccessControl)動態(tài)地調(diào)整一個調(diào)度周期內(nèi)的活躍時間長度,以改變此周期內(nèi)所占的時間比率來傳遞數(shù)據(jù),屬于一種自適應調(diào)整占空比的方法。該協(xié)議是以一種突發(fā)的方式來發(fā)送數(shù)據(jù),并不斷在周期時間內(nèi)喚醒節(jié)點,使其處于活躍狀態(tài),當與鄰居通信后,便進入睡眠, 當開始下一個周期后才被喚醒。同時,又有新的消息將緩存在傳送隊列中,節(jié)點之間使用RTS-CTS-DATA-ACK的方法進行單方向通信,來保證消息的可靠傳輸。
此協(xié)議采用同步周期性收聽、RTS 操作和選擇,以及可選擇串擾避免機制這三種關(guān)鍵技術(shù)來實現(xiàn)。在數(shù)據(jù)傳輸?shù)倪^程中,采取在每個周期內(nèi)不斷地發(fā)送SYNC 幀來維持節(jié)點之間的同步。首先節(jié)點會監(jiān)聽一段時間。當在此時間內(nèi),節(jié)點未接收到SYNC 幀,將采用某一默認的調(diào)度方式,并以SYNC 幀形式來廣播。
RTS 發(fā)送結(jié)束到開始發(fā)送 CTS 的過程所用時 TA 取值范圍為 :TA>C+R+T,其中 C為競爭信道用時,R為發(fā)送RTS所需要時間。另外,T-MAC協(xié)議中的串擾避免機制是可以選擇的。
早睡問題即指節(jié)點在鄰居節(jié)點準備向其傳送數(shù)據(jù)時進入睡眠。解決早睡問題的方式有:
(1) 預請求發(fā)送 FRTS機制(FutureRequest-to-Send)的作用機制如圖 1所示。
(2) 滿緩存區(qū)優(yōu)先機制。當緩沖區(qū)接近飽和時,節(jié)點不再給RTS幀答復CTS 幀,而是立即把 RTS 幀發(fā)給緩沖區(qū)內(nèi)數(shù)據(jù)包的目的節(jié)點,從而構(gòu)建數(shù)據(jù)傳輸。這個方法降低早睡發(fā)生的頻率,但會在傳送較大的數(shù)據(jù)量時加大產(chǎn)生沖突的風險。
1.3 Sift協(xié)議
該協(xié)議充分考慮了 WSN 的三個特點 :(1)事件驅(qū)動的 WSN 分別在事件的檢測和傳遞上有空間、時間的相關(guān)性 ;(2)并非所有節(jié)點都需要報告事件 ;(3)感知事件的節(jié)點密度是時變的。而它的設計目標是 :當共享信道有 N 個節(jié)點一同檢測到相同事件時,期望有小于 N 的 R 個節(jié)點可于盡量短的時間里不沖突的將檢驗過的信息發(fā)出,同時抑制剩余N - R 個節(jié)點的消息發(fā)送。
基于事件驅(qū)動的特點和節(jié)點工作的特點,Sift 協(xié)議避開了發(fā)送窗口的數(shù)量 CW 較大時導致時間延遲偏長的可能性,而選用 CW 值不變的方法。先假設節(jié)點傳送信息時,有 N 個節(jié)點在競爭發(fā)送,則其工作過程為 :如果首時隙內(nèi)原節(jié)點沒有傳達信息,其他節(jié)點也沒傳達,則節(jié)點就減掉原設的發(fā)送節(jié)點的個數(shù),同時提高節(jié)點在次時隙中傳輸數(shù)據(jù)的機率 ;如果仍然沒有節(jié)點選在第二個時隙,則節(jié)點繼續(xù)減去假定個數(shù),再進一步加大選在下一時隙傳輸數(shù)據(jù)的機率 于是我們得到第 r 個節(jié)點發(fā)送數(shù)據(jù)時的概率公式:
Sift 協(xié)議巧妙地利用 WSN 流量的突發(fā)性及局部相關(guān)性的 特點,能夠在各個時隙使用不同的傳輸機率,從而使短時間 里部分節(jié)點可以不沖突地傳播信息,達到了既節(jié)能又省時的效 果。但此協(xié)議只從傳輸數(shù)據(jù)的節(jié)點出發(fā)改善問題,對接收信號 節(jié)點的空閑狀態(tài)考慮欠周,要求節(jié)點之間保持同步,而喚醒時 間又會隨著節(jié)點周期睡眠用時增大而延長,這樣就加大了傳輸 調(diào)控成本,因而仍然需要減短前導序列長度。
1.4 WiseMAC協(xié)議
WiseMAC 協(xié)議是針對sift 協(xié)議的不足加以改良之后產(chǎn)生的,它采用了動態(tài)調(diào)整前導長度的辦法。接到信號的節(jié)點會在最近一次的ACK 報文里夾帶下回喚醒時間,讓傳輸節(jié)點獲知每一個下游節(jié)點的調(diào)度,從而縮短前導長度,而且以隨機喚醒前導的辦法來降低固定前導沖突的機率。
這種方法能比較理想的應對網(wǎng)絡的流量變動,不過因為要緩存鄰節(jié)點的信道偵聽時長,使得它的采樣調(diào)度表緩存開銷較大,增加了實現(xiàn)該協(xié)議的難度,這種缺點在網(wǎng)絡密度較大時更為突出,而且即使通過非堅持型CSMA 訪問去減少空閑監(jiān)聽,依然不能解決隱藏終端的弊端。總之,WiseMAC 協(xié)議比較適合用于負載較小的訪問控制。
2 分配式 MAC協(xié)議
分配式 MAC協(xié)議的信道訪問方式主要有時分多址(TDMA)、頻分多址(FDMA)和碼分多址(CDMA)。它們分別將不同時槽、頻率、正交碼映射為不同的節(jié)點,并分配給不同的客戶。例如,當使用時分多址(TDMA)調(diào)度方式的時候, 數(shù)據(jù)流分成幀,幀又分成不同的時槽,每個用戶被分配一個時槽,每個節(jié)點通過其特定的時槽即可實現(xiàn)無沖突訪問信道。
分配式 MAC 協(xié)議目前主要有 LEACH 協(xié)議 [6]、DEANA 協(xié)議 [7]、TRAMA 協(xié)議 [8]、BMA 協(xié)議 [9] 和D-MAC 協(xié)議。下面從它們的核心機制、特點以及優(yōu)缺點分別展開。
2.1 LEACH協(xié)議
LEACH 協(xié)議(低功耗自適應集簇分層型協(xié)議即 Low- Energy Adaptive Clustering Hierarchy)基于 LEACH 算法。該算法平分整個網(wǎng)絡的能量負載于傳感器的每一個節(jié)點中。
該協(xié)議采用基于TDMA/CDMA 的MAC 層機制,融合了高效能的集群路由和媒體訪問的思想,以及應用程序特定的數(shù)據(jù)聚合。LEACH 包含新的、分布式集群形成的技術(shù),這讓它能夠自組織大量的節(jié)點,負載在所有節(jié)點上均勻分布,并且能夠通過分布式信號處理來節(jié)省通信資源。
該協(xié)議可以減少能耗,但由于未說明簇頭節(jié)點的分布情況,可能導致一些節(jié)點的周圍不存在簇頭節(jié)點,而另一區(qū)域均為簇頭節(jié)點。此外,因為該協(xié)議假設全部節(jié)點的初始能量等同,任何節(jié)點均可以與匯聚節(jié)點直接通信,且成為簇頭的節(jié)點均消耗相等的能量,所以該協(xié)議不適合規(guī)模較大的無線傳感網(wǎng)絡和節(jié)點能量不均衡的網(wǎng)絡。
2.2 DEANA協(xié)議
圖 2 所示為DEANA 協(xié)議(分布式能量感知節(jié)點活動協(xié)議即 Distributed Energy-Aware Node Activation)的時間幀劃分,且兩階段循環(huán)進行。在隨機訪問階段,對節(jié)點進行了添加操作、刪除操作以及時間同步操作。其控制時槽長度極短。
該協(xié)議可以排除某些串音問題,但各個節(jié)點要求較精準的時間同步。
2.3 TRAMA協(xié)議
在 TDMA 機制的基礎(chǔ)上,加入流量自適應技術(shù),使得節(jié)點根據(jù)實際流量分配時槽來進行無沖突通信,減少空閑偵聽比例,從而降低能量消耗。
通過AEA 算法判斷得出,節(jié)點共有三類存在的狀態(tài),依次是發(fā)送、接收和睡眠狀態(tài)。其中,處于發(fā)送狀態(tài)的節(jié)點在兩跳鄰居內(nèi),擁有最高優(yōu)先權(quán) ;處于接收狀態(tài)的節(jié)點則為目前指定接收方。剩余的節(jié)點均處在睡眠狀態(tài)。
該協(xié)議需要節(jié)點具有較大存儲空間與較高的計算性能, 應用于周期性數(shù)據(jù)采集及監(jiān)測。
2.4 BMA協(xié)議
BMA 協(xié)議(Bit-Map-Assisted)在 TDMA 機制基礎(chǔ)上, 通過簇內(nèi)分配時隙的方法,節(jié)點可以根據(jù)自身固有時隙實現(xiàn)與簇頭的交流,從而規(guī)避空閑監(jiān)聽。每個周期由三個階段組成, 即簇內(nèi)節(jié)點請求,簇頭廣播,數(shù)據(jù)發(fā)送和接收。
該協(xié)議不能適應網(wǎng)絡流量變動,也不能完全利用信道。同時,簇頭節(jié)點也需有較好的時鐘同步、通信和計算性能,而且耗能較大。
2.5 D-MAC協(xié)議
D-MAC 協(xié) 議 (Data gathering tree-based MAC) 是 在S-MAC 和T-MAC 協(xié)議的基礎(chǔ)上,采用ACK 應答機制和交錯調(diào)度機制。節(jié)點被周期性的劃分為三個階段,圖 3 中所示機制保證了數(shù)據(jù)的連續(xù)傳播。
該協(xié)議解決了睡眠延時問題和數(shù)據(jù)轉(zhuǎn)發(fā)停頓問題,適用于邊緣節(jié)點數(shù)據(jù)流量較小而中間節(jié)點數(shù)據(jù)流量較大的網(wǎng)絡。但需較精確的時鐘同步,并且該協(xié)議不適應規(guī)模較大的網(wǎng)絡[10]。
3 混合式 MAC 協(xié)議
為了解決競爭式 MAC 協(xié)議能量效率不高,以及分配式 MAC 協(xié)議不能較好地適應網(wǎng)絡拓撲結(jié)構(gòu)變化的問題,混合 式 MAC 協(xié)議綜合以上各協(xié)議的優(yōu)點,提升整體性能。混合式 MAC 協(xié)議主要有 Z-MAC 協(xié)議。下面從核心機制、特點、優(yōu) 缺點進行介紹。
Z-MAC 協(xié)議(Zebra MAC)[8] 以載波偵聽多路訪問(CSMA) 機制為基礎(chǔ)。當競爭激烈時,引入TDMA 機制處理信道沖突 問題。競爭有所緩和后,便又采用 CSMA 機制,如此往復, 在 CSMA 和 TDMA 兩種機制之間轉(zhuǎn)換。
節(jié)點能夠于任何時隙傳送信息,但需先了解信道情況。 通過 DRAND 算法給每一個節(jié)點特定的時隙,使其具有傳送 優(yōu)先權(quán)。該協(xié)議的完成主要分為鄰居發(fā)現(xiàn)、時隙分配、本地 時間幀交換和全局時間同步四個過程。
Z-MAC 協(xié)議在最初階段對全局時鐘同步的精確程度要求 較高,并且傳輸延時較長,控制開銷較大。
4 結(jié) 語
本文對目前典型的 MAC 協(xié)議的核心機制、特點和優(yōu)缺 點進行闡述,為日后進一步研究如何減少沖突和串音、降低占 空比、減少能耗等問題提供參考。