王智群,張 波,朱明賀,周 鑫
(1.湖州師范學(xué)院,浙江 湖州 313000;2.湖州學(xué)院,浙江 湖州 313000)
無線通信技術(shù)的快速發(fā)展給人們的工作和生活提供了更加快速、便捷且低廉的無線通信服務(wù)。無線傳感網(wǎng)絡(luò)(Wireless Sensor Network,WSN)在國內(nèi)外都是備受關(guān)注的研究熱點(diǎn),已經(jīng)被廣泛應(yīng)用于國防軍事[1]、醫(yī)療保健[2]、工業(yè)過程監(jiān)測和控制[3]、環(huán)境觀察監(jiān)測[4]和智能家居[5]等軍事、民用領(lǐng)域。
WSN 通常由部署在特定區(qū)域的大量多功能、低功耗、低成本的傳感器節(jié)點(diǎn)組成。與傳統(tǒng)的有線網(wǎng)絡(luò)相比,WSN 具有價(jià)格更便宜、部署速度更快、無須布線、移動(dòng)性高等優(yōu)勢。WSN 中傳感器節(jié)點(diǎn)依賴電池供電,節(jié)點(diǎn)會(huì)利用這些電能進(jìn)行大量的通信、計(jì)算和存儲(chǔ)[6],因某些條件因素的限制,傳感器節(jié)點(diǎn)存在能量約束和能量耗盡而導(dǎo)致節(jié)點(diǎn)失效的問題,網(wǎng)絡(luò)通信性能將會(huì)受到影響。因此,為了延長網(wǎng)絡(luò)的生命周期,控制無線電的網(wǎng)絡(luò)能耗,解決“頻繁通信”問題無疑成了關(guān)鍵[7]。MAC 協(xié)議位于無線傳感網(wǎng)絡(luò)體系中的數(shù)據(jù)鏈路層,負(fù)責(zé)調(diào)配網(wǎng)絡(luò)中節(jié)點(diǎn)的信道接入,保障網(wǎng)絡(luò)的高效通信。
本文第1 節(jié)簡要介紹WSN 中MAC 協(xié)議的設(shè)計(jì)要點(diǎn)及分類;第2 節(jié)重點(diǎn)分析經(jīng)典的競爭類MAC協(xié)議及國內(nèi)外最新的研究進(jìn)展;第3 節(jié)對部分競爭類MAC 協(xié)議的運(yùn)行機(jī)制、性能等方面進(jìn)行研究,并歸納出各協(xié)議的不足之處;最后提出競爭類MAC協(xié)議未來重點(diǎn)的研究方向。
WSN 中的節(jié)點(diǎn)受能量、計(jì)算能力、通信等資源的約束,且各節(jié)點(diǎn)需要相互協(xié)作才能實(shí)現(xiàn)WSN強(qiáng)大的功能。因此,與傳統(tǒng)無線網(wǎng)絡(luò)中的MAC 協(xié)議相比,WSN 中的MAC 協(xié)議的設(shè)計(jì)側(cè)重以下幾個(gè)方面[8]:
(1)能量有效性。WSN 由眾多節(jié)點(diǎn)組成,這些節(jié)點(diǎn)由電池供電,并且可能需要大量布置在復(fù)雜的環(huán)境當(dāng)中,所以難以及時(shí)對節(jié)點(diǎn)的電池進(jìn)行更換,因此,高效利用能量的MAC 協(xié)議對延長WSN 的生命周期有著重要的意義。
(2)可擴(kuò)展性。當(dāng)WSN 中的節(jié)點(diǎn)失效、加入和移動(dòng)時(shí),可擴(kuò)展性好的MAC 協(xié)議能夠適應(yīng)這種網(wǎng)絡(luò)的變化,保持WSN 性能的穩(wěn)定。
(3)整體綜合性能。WSN 中的節(jié)點(diǎn)一般最優(yōu)先考慮能量有效性,但是面對有著不同需求的WSN系統(tǒng),MAC 協(xié)議的設(shè)計(jì)需要綜合考慮信道利用率、延遲、網(wǎng)絡(luò)吞吐量等多種性能要求,從而達(dá)到整體綜合性能優(yōu)化。
根據(jù)信道訪問策略的不同,MAC 協(xié)議分為3大類,分別為調(diào)度類MAC 協(xié)議、競爭類MAC 協(xié)議和混合類MAC 協(xié)議[7,9]。
調(diào)度類MAC 協(xié)議的核心思想:某種調(diào)度算法將信道資源按照時(shí)隙、頻段和正交碼的方式進(jìn)行劃分,節(jié)點(diǎn)只能使用被分配的信道資源去通信。
競爭類MAC 協(xié)議的核心思想:節(jié)點(diǎn)需要通過競爭的方式來獲得信道資源,如果該節(jié)點(diǎn)競爭失敗,則采用退避算法,退避一段時(shí)間再次傳輸,直到傳輸成功或者重傳次數(shù)達(dá)到上限而放棄傳輸。
混合類MAC 協(xié)議的核心思想:節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)負(fù)載情況來選擇獲得信道的方式,當(dāng)網(wǎng)絡(luò)負(fù)載低的時(shí)候,采用競爭的方式來獲取信道,減少了資源浪費(fèi);當(dāng)網(wǎng)絡(luò)負(fù)載高的時(shí)候,采用調(diào)度的方式來獲取信道,減少了節(jié)點(diǎn)沖突。
調(diào)度類、競爭類和混合類MAC 協(xié)議的優(yōu)缺點(diǎn)總結(jié)[8]如表1 所示。
表1 無線傳感網(wǎng)絡(luò)MAC 協(xié)議對比
對于分布式的無線傳感網(wǎng)絡(luò),在低負(fù)載的網(wǎng)絡(luò)環(huán)境下,相較于其他兩類協(xié)議,競爭類MAC 協(xié)議的時(shí)鐘同步要求低、復(fù)雜度低、可擴(kuò)展性好。根據(jù)傳感器節(jié)點(diǎn)是否需要進(jìn)行時(shí)間同步,競爭類MAC協(xié)議又分為同步競爭類MAC 協(xié)議和異步競爭類MAC 協(xié)議。表2 對一些現(xiàn)有的競爭類MAC 協(xié)議按年份進(jìn)行了劃分。從表2 中可以發(fā)現(xiàn),最新的一些協(xié)議都是基于經(jīng)典的協(xié)議中所出現(xiàn)的問題,提出新的改進(jìn)思路,從而獲得了能量有效性、可擴(kuò)展性和整體綜合性能的提升。同時(shí),本節(jié)也重點(diǎn)對經(jīng)典的競爭類MAC 協(xié)議進(jìn)行分析研究。
表2 競爭類MAC 協(xié)議的研究進(jìn)展
2.1.1 核心思想
網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)采用廣播的方式與它的鄰居節(jié)點(diǎn)交換偵聽/睡眠調(diào)度表,從而進(jìn)行同步。節(jié)點(diǎn)通過此調(diào)度表獲得鄰居節(jié)點(diǎn)信息,從而決定被喚醒和睡眠的時(shí)間,如果節(jié)點(diǎn)發(fā)送時(shí)與其他節(jié)點(diǎn)沖突,則節(jié)點(diǎn)需要通過競爭來獲得信道。
2.1.2 經(jīng)典協(xié)議
S-MAC[10]協(xié)議采取周期性的工作方式,分為同步、數(shù)據(jù)和睡眠3 個(gè)階段。在同步階段,節(jié)點(diǎn)發(fā)送包含地址信息和下一次睡眠時(shí)間的廣播數(shù)據(jù)包,并且具有相同調(diào)度的相鄰節(jié)點(diǎn)會(huì)形成虛擬簇,同一虛擬簇中的節(jié)點(diǎn)同步喚醒,從而同步時(shí)鐘。在數(shù)據(jù)階段,節(jié)點(diǎn)通過競爭獲得信道,然后交換請求發(fā)送(Request-to-Send,RTS)和清除發(fā)送(Clear-to-Send,CTS)幀建立握手,接著傳輸數(shù)據(jù)包,同時(shí)會(huì)把長消息分隔成短的數(shù)據(jù)幀集中發(fā)送。在睡眠階段,不通信的節(jié)點(diǎn)進(jìn)入睡眠。S-MAC 協(xié)議通過虛擬簇減少了同步開銷,減少了串聽和空閑偵聽時(shí)間,但是S-MAC 協(xié)議的缺陷在于節(jié)點(diǎn)的周期性睡眠會(huì)導(dǎo)致較高的端到端延遲,因?yàn)閿?shù)據(jù)在一個(gè)周期中只能傳輸一段距離,這使得S-MAC 協(xié)議在多跳傳輸時(shí)增大了睡眠時(shí)延。
T-MAC[11]協(xié)議則提出了超時(shí)休眠機(jī)制,節(jié)點(diǎn)首先偵聽一段TA時(shí)間,TA>C+R+T,C是RTS 爭用間隔的長度,R是RTS 數(shù)據(jù)包的長度,T是RTS 數(shù)據(jù)包結(jié)束和CTS 數(shù)據(jù)包開始之間的短時(shí)間,如果節(jié)點(diǎn)在TA時(shí)間內(nèi)沒有偵聽到任何消息,則該節(jié)點(diǎn)不需要等待睡眠階段到來,可以直接進(jìn)入睡眠。T-MAC協(xié)議雖然比S-MAC 協(xié)議在減少空閑偵聽方面效果更好,但是過早的睡眠會(huì)導(dǎo)致鄰居節(jié)點(diǎn)想要給該節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),該節(jié)點(diǎn)早已睡眠,即早睡問題。雖然文獻(xiàn)[12]通過中心極限定理動(dòng)態(tài)調(diào)整TA時(shí)間來改善早睡問題,但是效果不理想。
2.1.3 研究進(jìn)展
S-MAC 協(xié)議節(jié)點(diǎn)的周期性睡眠會(huì)導(dǎo)致較高的端到端延遲,文獻(xiàn)[13]提出了S-MAC 協(xié)議的改進(jìn)型,建立了一個(gè)自適應(yīng)偵聽機(jī)制,它會(huì)在傳輸末期尋找能偵聽到發(fā)送過程的鄰居節(jié)點(diǎn),并喚醒它們。如果這些喚醒的節(jié)點(diǎn)中包含下一跳的接收節(jié)點(diǎn),那么直接發(fā)送數(shù)據(jù),節(jié)約了一半的時(shí)間,但是如果沒有數(shù)據(jù)發(fā)送,又會(huì)造成空閑監(jiān)聽問題。文獻(xiàn)[14]在文獻(xiàn)[13]的基礎(chǔ)上對鄰居節(jié)點(diǎn)的范圍進(jìn)行了限定,只讓在收發(fā)節(jié)點(diǎn)一跳范圍的鄰居節(jié)點(diǎn)喚醒,其余的節(jié)點(diǎn)進(jìn)行睡眠。LD-MAC[15]協(xié)議則使用擴(kuò)展RTS 幀、CTS 幀和確認(rèn)幀(Acknowledge Character,ACK)來預(yù)約多跳傳輸?shù)墓?jié)點(diǎn),但是擴(kuò)展幀中的非必要信息增加了控制開銷。
為了解決S-MAC 協(xié)議和T-MAC 協(xié)議中的轉(zhuǎn)發(fā)中斷問題,D-MAC[16]協(xié)議根據(jù)傳感器節(jié)點(diǎn)到匯聚節(jié)點(diǎn)是單向的特點(diǎn),構(gòu)建了一個(gè)數(shù)據(jù)采集樹,利用樹的深度及傳感器的喚醒和睡眠時(shí)間是交錯(cuò)的特點(diǎn),實(shí)現(xiàn)了數(shù)據(jù)包的連續(xù)轉(zhuǎn)發(fā),減少了多跳傳輸中端到端的延遲,但它更適用于節(jié)點(diǎn)移動(dòng)性低的網(wǎng)絡(luò)。文獻(xiàn)[17]使用載波感知控制數(shù)據(jù)包,以減少多跳傳輸中端到端的延遲。
RMAC[18]協(xié)議為了解決S-MAC 協(xié)議中的睡眠延遲問題,設(shè)置了一個(gè)幀來轉(zhuǎn)發(fā)多跳的距離,這有利于下一跳節(jié)點(diǎn)知道上一跳節(jié)點(diǎn)通信的時(shí)間,從而在多跳傳輸?shù)膱鼍跋?,減少了睡眠延遲的時(shí)間,但是這個(gè)幀被轉(zhuǎn)發(fā)得太多也會(huì)導(dǎo)致有些跳的節(jié)點(diǎn)出現(xiàn)空閑監(jiān)聽問題。PR-MAC 協(xié)議也是類似的設(shè)計(jì)。
上述的同步競爭類MAC 協(xié)議都不適合高負(fù)載的網(wǎng)絡(luò)環(huán)境,因?yàn)闀?huì)產(chǎn)生較高的延遲。DW-MAC[19]協(xié)議則提出了一種低開銷調(diào)度算法來適應(yīng)高負(fù)載網(wǎng)絡(luò),在睡眠周期內(nèi),它可以讓節(jié)點(diǎn)按照自己的需求被喚醒,從而減少延遲。MX-MAC[20]和EM-MAC[21]等協(xié)議則提出了多信道傳輸?shù)姆椒▉頊p少在高負(fù)載環(huán)境下的延遲,從而提高網(wǎng)絡(luò)吞吐量。
S-MAC 協(xié)議使用二進(jìn)制指數(shù)退避,但在網(wǎng)絡(luò)負(fù)載變化時(shí),固定競爭窗口(Contention Window,CW)無法適應(yīng)其變化從而作出調(diào)整。Sift[22]協(xié)議中的節(jié)點(diǎn)利用非平均概率分布于不同的時(shí)隙來發(fā)送數(shù)據(jù),使得沖突減少。FPQoSD[23]協(xié)議則是讓節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)負(fù)載的大小,動(dòng)態(tài)地調(diào)整CW 值。PFMAC[24]協(xié)議提出節(jié)點(diǎn)預(yù)測機(jī)制,并且根據(jù)節(jié)點(diǎn)反饋的信息調(diào)整CW 值,但是機(jī)制太過復(fù)雜。DSAMAC[25]協(xié)議提出根據(jù)傳輸成功和失敗的次數(shù)調(diào)整CW 值,但是此協(xié)議并沒有尋找失敗的原因,從而導(dǎo)致CW 值調(diào)整得不夠準(zhǔn)確,增加了不穩(wěn)定因素。
2.2.1 核心思想
異步競爭類MAC 協(xié)議的核心思想是,節(jié)點(diǎn)間無須同步,而是通過發(fā)送前導(dǎo)序列和低功耗偵聽的方式來進(jìn)行通信。當(dāng)發(fā)送方要發(fā)送數(shù)據(jù)時(shí),它會(huì)發(fā)送前導(dǎo)序列,當(dāng)接收方醒來時(shí)偵聽到發(fā)送方的前導(dǎo)序列后保持喚醒,直到完全接收到數(shù)據(jù)。
2.2.2 經(jīng)典協(xié)議
B-MAC[26]協(xié)議引入低功耗偵聽(Low Power Listening,LPL)機(jī)制,在發(fā)送數(shù)據(jù)前,發(fā)送節(jié)點(diǎn)先發(fā)送前導(dǎo)序列,該前導(dǎo)序列大于或者等于睡眠周期,從而保證接收節(jié)點(diǎn)在喚醒后,能通過低功耗偵聽中的空閑信道評(píng)測(Clear Channel Assessment,CCA)周期性地檢查信道中的活動(dòng),從而感知到前導(dǎo)序列,并在前導(dǎo)序列發(fā)送完畢和接收節(jié)點(diǎn)喚醒的情況下,才能發(fā)送和接收數(shù)據(jù)。與S-MAC 協(xié)議對比,B-MAC協(xié)議不需要花費(fèi)能量在節(jié)點(diǎn)的時(shí)間同步上,縮短了節(jié)點(diǎn)喚醒的時(shí)間,但是B-MAC 協(xié)議的前導(dǎo)序列過長,也不知道接收節(jié)點(diǎn)是否喚醒,即使已經(jīng)喚醒,也要等待前導(dǎo)序列發(fā)送完畢,這導(dǎo)致了能量的浪費(fèi),同時(shí)也出現(xiàn)了串聽問題。
X-MAC[27]協(xié)議將B-MAC 協(xié)議的前導(dǎo)序列分成許多頻閃前導(dǎo),當(dāng)發(fā)送方有數(shù)據(jù)要發(fā)送時(shí),會(huì)傳輸多個(gè)攜帶接收節(jié)點(diǎn)標(biāo)識(shí)號(hào)(Identity Document,ID)的頻閃前導(dǎo)。一個(gè)節(jié)點(diǎn)醒過來并接收到一個(gè)頻閃前導(dǎo),它會(huì)查看其中的接收節(jié)點(diǎn)ID,如果此節(jié)點(diǎn)不是接收節(jié)點(diǎn),它會(huì)返回睡眠。如果是接收節(jié)點(diǎn),則發(fā)送ACK 幀給發(fā)送節(jié)點(diǎn),當(dāng)發(fā)送節(jié)點(diǎn)收到接收節(jié)點(diǎn)ACK 幀時(shí),則立刻停止發(fā)送頻閃前導(dǎo),轉(zhuǎn)而發(fā)送數(shù)據(jù)。X-MAC 協(xié)議還提出了根據(jù)流量負(fù)載來調(diào)整占空比的自適應(yīng)算法。該協(xié)議雖然改善了B-MAC 協(xié)議所存在的問題,但是缺陷在于接收節(jié)點(diǎn)在保持隨機(jī)退避活躍狀態(tài)的時(shí)間內(nèi),若沒有其他節(jié)點(diǎn)與之通信,操作無效會(huì)增加時(shí)延,且可能造成串聽。
2.2.3 研究進(jìn)展
異步競爭類MAC 協(xié)議采用低功耗偵聽[28]或者前導(dǎo)序列采樣[29]的方法,節(jié)省了節(jié)點(diǎn)間同步所花費(fèi)的時(shí)間和能量。
X-MAC 協(xié)議改進(jìn)了B-MAC 協(xié)議前導(dǎo)序列過長和竊聽問題,但是為了使X-MAC 協(xié)議的應(yīng)用更具有廣泛性,提出了CX-MAC[30]協(xié)議,它在時(shí)序上沒有X-MAC 協(xié)議那么嚴(yán)格,適合占空比比較大的應(yīng)用,它是為隨機(jī)生成的流量而設(shè)計(jì)的,且不會(huì)增加延遲。MF-MAC[31]協(xié)議用一些微幀取代了連續(xù)的前導(dǎo),微幀包含的字段為類型、目的地址、序列號(hào)和傳入數(shù)據(jù)的散列值。接收節(jié)點(diǎn)可以根據(jù)微幀中的信息識(shí)別輸入數(shù)據(jù)是否有用,但是這依然會(huì)產(chǎn)生高延遲的問題。此外,B-MAC+[32]協(xié)議、Speck-MAC[33]協(xié)議和PP-MAC[34]協(xié)議都是對前導(dǎo)序列進(jìn)行改進(jìn)后提出的協(xié)議。
除改進(jìn)前導(dǎo)序列外,研究者們也提出了通過獲取接收節(jié)點(diǎn)喚醒時(shí)間的方法,來減少前導(dǎo)序列的發(fā)送時(shí)間。WiseMAC[35]協(xié)議提出了鎖時(shí)優(yōu)化機(jī)制,接收節(jié)點(diǎn)在接收完數(shù)據(jù)之后,在發(fā)送的ACK 幀中添加自己下一次喚醒的時(shí)間信息,這樣發(fā)送節(jié)點(diǎn)只需在接收節(jié)點(diǎn)醒來前的一小段時(shí)間醒來,就可避免發(fā)送過長的前導(dǎo)序列。但是WiseMAC 協(xié)議只適合網(wǎng)絡(luò)負(fù)載不那么小的情況,否則又會(huì)退化到B-MAC協(xié)議的效果。PW-MAC[36]協(xié)議則設(shè)置了一個(gè)隨機(jī)數(shù)生成函數(shù)來對接收節(jié)點(diǎn)的下一次喚醒時(shí)間進(jìn)行預(yù)測。HELD-MAC[37]協(xié)議和THO-MAC[38]協(xié)議也是類似的設(shè)計(jì)。
考慮到數(shù)據(jù)在多跳傳輸過程中的傳輸延遲,Q-MAC[39]協(xié)議構(gòu)建了一棵數(shù)據(jù)匯聚樹,采用交錯(cuò)喚醒方式,通過匯聚節(jié)點(diǎn)向源節(jié)點(diǎn)發(fā)起查詢來進(jìn)行數(shù)據(jù)匯聚。L-MAC[40]協(xié)議也是類似的設(shè)計(jì),但是這一類設(shè)計(jì)的網(wǎng)絡(luò)可擴(kuò)展性較差,能量消耗相對較多。
低功耗探測(Low Power Probing,LPP)[41]協(xié)議規(guī)定接收者定期發(fā)送小數(shù)據(jù)包,因此也被稱為探測器,目的是告訴發(fā)送者它已經(jīng)醒來并準(zhǔn)備好接收數(shù)據(jù),發(fā)送探針后,接收者保證它的無線電會(huì)在短時(shí)間內(nèi)打開,以偵聽數(shù)據(jù)包,此時(shí)發(fā)送者打開其無線電接收器并收聽,直到接收到接收者的目的地址。
ContikiMAC[42]協(xié)議喚醒技術(shù)利用一種價(jià)格低廉的空閑信道評(píng)測(Clear Channel Assessment,CCA)機(jī)制來實(shí)現(xiàn),這種機(jī)制使用無線電收發(fā)器的接收信號(hào)強(qiáng)度指示值(Received Signal Strength Indicator,RSSI)來判斷指定信道的狀態(tài)。同時(shí)該技術(shù)還利用了快速睡眠機(jī)制和瑣時(shí)優(yōu)化機(jī)制??焖偎邫C(jī)制使得節(jié)點(diǎn)更早地進(jìn)入睡眠狀態(tài),節(jié)省能源。瑣時(shí)優(yōu)化機(jī)制類似于WiseMAC 協(xié)議。類似地通過收斂機(jī)制來減少數(shù)據(jù)傳輸延遲的協(xié)議還有CMAC[43]協(xié)議、DPS-MAC[44]協(xié)議和MH-MAC[45]協(xié)議等。
以上協(xié)議都是在低負(fù)載網(wǎng)絡(luò)環(huán)境下效果顯著,但是面對突發(fā)高負(fù)載網(wǎng)絡(luò)環(huán)境效果不佳。突發(fā)感知高能效自適應(yīng)MAC(Burst-aware Energy-efficient Adaptive MAC,BEAM)[46]協(xié)議針對此問題采用了占空比自適應(yīng)算法,接收節(jié)點(diǎn)的睡眠時(shí)間能根據(jù)有效負(fù)荷大小來進(jìn)行自適應(yīng)調(diào)節(jié)。
上述協(xié)議是針對發(fā)送節(jié)點(diǎn)發(fā)起的數(shù)據(jù)通信,但是也有一些MAC 協(xié)議是根據(jù)接收節(jié)點(diǎn)發(fā)起的數(shù)據(jù)通信。RI-MAC[47]協(xié)議中接收節(jié)點(diǎn)根據(jù)自己的時(shí)間表定期睡眠,在低負(fù)載的環(huán)境下,它會(huì)廣播一個(gè)不帶競爭窗口的信標(biāo)幀,讓其他節(jié)點(diǎn)知道它已經(jīng)醒來;在高負(fù)載的情況下,它會(huì)廣播一個(gè)帶競爭窗口的信標(biāo)幀,其他節(jié)點(diǎn)隨機(jī)選擇一個(gè)退避時(shí)間,然后退避結(jié)束,傳輸數(shù)據(jù)。但是這樣的協(xié)議也會(huì)造成發(fā)送節(jié)點(diǎn)喚醒時(shí)間較長,從而增加了通信延時(shí)。此外,RIX-MAC[48]協(xié)議、FTA-MAC[49]協(xié)議和TRIX-MAC[50]協(xié)議也都是接收節(jié)點(diǎn)所發(fā)起的通信協(xié)議,其中TRIX-MAC 協(xié)議采用樹型結(jié)構(gòu)進(jìn)行數(shù)據(jù)匯聚。
基于不同的應(yīng)用場景,WSN 中競爭類MAC 的設(shè)計(jì)也多種多樣,表3 選取了相對有代表性的競爭類MAC 協(xié)議進(jìn)行對比,對比了能量有效性、可擴(kuò)展性以及信道利用率、延遲、網(wǎng)絡(luò)吞吐量。表4 對各協(xié)議的主要機(jī)制、能量浪費(fèi)的來源以及主要缺點(diǎn)進(jìn)行了歸納總結(jié)。
表3 競爭類MAC 協(xié)議性能比較
表4 競爭類MAC 協(xié)議特點(diǎn)比較
通過一系列對比,筆者發(fā)現(xiàn)WSN 中有許多不同的競爭類MAC 協(xié)議,但是沒有一種協(xié)議能夠成為WSN 的標(biāo)準(zhǔn)MAC 協(xié)議,主要原因在于不同的應(yīng)用場景有不同的功能需求。同時(shí),筆者也發(fā)現(xiàn)同步競爭型MAC 協(xié)議即使沒有數(shù)據(jù)的收發(fā),相鄰的傳感器節(jié)點(diǎn)也需要周期性地喚醒進(jìn)入活躍狀態(tài),然后交換同步包來校對時(shí)鐘,這就導(dǎo)致在低流量的網(wǎng)絡(luò)環(huán)境中,傳感器節(jié)點(diǎn)消耗了大量的能量去校準(zhǔn)時(shí)鐘,導(dǎo)致了同步消息的網(wǎng)絡(luò)過載,占空比進(jìn)一步提高。異步競爭類MAC 協(xié)議則不需要同步,但是需要考慮低功耗的喚醒接收節(jié)點(diǎn),避免串聽和多余的控制開銷。
近年來,WSN 越來越受市場的青睞,吸引了眾多研究者對其進(jìn)行研究。本文重點(diǎn)研究競爭類MAC 協(xié)議。
筆者通過研究近十幾年的競爭類MAC 協(xié)議的發(fā)展進(jìn)程發(fā)現(xiàn),早期同步競爭類MAC 協(xié)議,比如S-MAC 協(xié)議和T-MAC 協(xié)議等,有著串聽和隱藏終端問題,且數(shù)據(jù)傳輸是不連續(xù)的,只能在一個(gè)周期內(nèi)傳輸一跳或者兩跳,造成了較高的端到端延遲,同時(shí)還伴隨著高負(fù)載時(shí)高延遲等問題,這造成了能量的浪費(fèi)和網(wǎng)絡(luò)吞吐量的降低。研究者也陸續(xù)提出了一些機(jī)制來改善這些問題,如D-MAC 協(xié)議構(gòu)建數(shù)據(jù)采集樹,RMAC 協(xié)議設(shè)置PION 幀來預(yù)約多跳,DW-MAC 協(xié)議設(shè)計(jì)低開銷調(diào)度算法以及DSA-MAC協(xié)議自適應(yīng)調(diào)整競爭窗口等,但是效果有待提高。此外,筆者也發(fā)現(xiàn)了早期異步競爭類MAC 協(xié)議,比如B-MAC 協(xié)議,雖然克服了同步節(jié)點(diǎn)所帶來的開銷問題,但是隨之產(chǎn)生了前導(dǎo)序列及串聽的問題,同時(shí)存在多跳傳輸中延遲過高,固定的占空比也難以適應(yīng)高低負(fù)載環(huán)境的變化的問題。針對這些問題,研究者們提出了改進(jìn)方法,比如X-MAC 協(xié)議改進(jìn)了前導(dǎo)序列,Q-MAC 協(xié)議構(gòu)建了數(shù)據(jù)匯聚樹,ContikiMAC 協(xié)議提出了新的收斂機(jī)制,BEAM 協(xié)議提出了自適應(yīng)占空比機(jī)制,還有設(shè)計(jì)由接收節(jié)點(diǎn)發(fā)起的異步競爭類MAC 協(xié)議等,這些方法雖然在一定程度上改善了上述問題,但還是有可提升的空間。
整體而言,競爭類MAC 協(xié)議復(fù)雜度低,可擴(kuò)展性好,但是在高負(fù)載時(shí)沖突多,重傳次數(shù)增加,延遲高。因此,需要提高此類MAC 協(xié)議面對突發(fā)流量的能力,降低延遲;面對不同的應(yīng)用場景,比如可穿戴設(shè)備,不能只考慮協(xié)議的能量有效性,而是應(yīng)該綜合考慮整體性能;需要關(guān)注競爭類MAC協(xié)議的安全性,通過加密算法,防止協(xié)議被攻擊,造成網(wǎng)絡(luò)的癱瘓。因此,競爭類MAC 協(xié)議的設(shè)計(jì)需要在滿足網(wǎng)絡(luò)需求的同時(shí),改進(jìn)整體性能。