無線傳感器網(wǎng)絡(luò)低占空比MAC協(xié)議研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
無線傳感器網(wǎng)絡(luò)是由眾多微小傳感器節(jié)點(diǎn)通過無線多跳自組織方式構(gòu)成的,多學(xué)科高度交叉的新興前沿研究領(lǐng)域。隨著傳感器節(jié)點(diǎn)微型化,在設(shè)計(jì)中大部分節(jié)點(diǎn)的能量有限,加之無線傳感器網(wǎng)絡(luò)無中心、自組織、多跳等特點(diǎn),使得MAC協(xié)議的設(shè)計(jì)面臨巨大的挑戰(zhàn)。
媒體訪問控制(MAC)協(xié)議的主要功能是控制傳感器節(jié)點(diǎn)的報(bào)文傳輸對無線媒體的接入和占用,保證網(wǎng)絡(luò)的整體性能。通過對現(xiàn)有系統(tǒng)的分析可知,無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中通信部分的射頻模塊是節(jié)點(diǎn)中最大的耗能部件,是優(yōu)化的主要目標(biāo)。MAC協(xié)議直接控制射頻模塊,對節(jié)點(diǎn)功耗有重要影響,是保證無線傳感器網(wǎng)絡(luò)高效通信的關(guān)鍵。本文主要討論無線傳感器網(wǎng)絡(luò)MAC協(xié)議的基本問題。
1 MAC地址
無線傳感器網(wǎng)絡(luò)中,如果MAC協(xié)議要避免偵聽,并在盡可能多的時(shí)間里處于休眠狀態(tài),那么MAC地址是非常重要的。MAC地址用于在數(shù)據(jù)轉(zhuǎn)發(fā)過程中標(biāo)識下一跳傳感器節(jié)點(diǎn)。MAC地址包含在單播MAC分組數(shù)據(jù)包中,節(jié)點(diǎn)收到數(shù)據(jù)包后檢查本節(jié)點(diǎn)路由表,確定下一跳MAC地址。這個(gè)過程延續(xù)到數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn)。同時(shí),節(jié)點(diǎn)判定哪些數(shù)據(jù)分組沒有到達(dá),數(shù)據(jù)未到達(dá)的節(jié)點(diǎn)可以進(jìn)入休眠模式。無線傳感器網(wǎng)絡(luò)一般采用無線多跳方式通信,MAC地址具有空間復(fù)用特性:只要保證節(jié)點(diǎn)MAC地址在傳輸鄰居節(jié)點(diǎn)間是唯一的,在傳輸鄰居節(jié)點(diǎn)以外重復(fù)使用不影響MAC地址的鄰居節(jié)點(diǎn)標(biāo)識功能。在MAC層中,這種避免偵聽(overhearing avoidance)的方式是一種非常重要的節(jié)省能量消耗的方法。
MAC地址的分配協(xié)議可分為網(wǎng)內(nèi)唯一性和局部唯一性兩種分布式分配。地址分配協(xié)議必須考慮網(wǎng)絡(luò)鏈接的非對稱性。如圖1所示,非對稱性是指節(jié)點(diǎn)A能偵聽到節(jié)點(diǎn)B,但是反過來,節(jié)點(diǎn)B卻不能偵聽到節(jié)點(diǎn)A。在假設(shè)所有節(jié)點(diǎn)都只與雙向鄰近節(jié)點(diǎn)通信的情況下,任意節(jié)點(diǎn)A的雙向節(jié)點(diǎn)都必須有完全不同的地址。而且,任何單向輸入節(jié)點(diǎn)的地址都必須不同于所有雙向節(jié)點(diǎn)的地址。把節(jié)點(diǎn)的鏈接關(guān)系劃分為雙向鏈接、單向輸入、單向輸出。為了應(yīng)對無線鏈接的時(shí)變和隨機(jī)因素,這個(gè)鄰近節(jié)點(diǎn)協(xié)議應(yīng)該一次次重復(fù)運(yùn)行,以便實(shí)時(shí)地更新和確認(rèn)鄰近節(jié)點(diǎn)間的鏈接關(guān)系。當(dāng)節(jié)點(diǎn)A完成了對鄰近節(jié)點(diǎn)狀況的分析后,便開始廣播消息,A的雙向鏈接節(jié)點(diǎn)和單向輸出節(jié)點(diǎn)發(fā)回INFO消息作為響應(yīng)。通過類似的方法,節(jié)點(diǎn)A就知道每個(gè)鄰近節(jié)點(diǎn)的身份了。節(jié)點(diǎn)A在過了門限期后,就知道其周圍單跳節(jié)點(diǎn)和兩跳鄰近節(jié)點(diǎn)的情況了,如果節(jié)點(diǎn)A的單跳節(jié)點(diǎn)內(nèi)有地址沖突,則發(fā)出一個(gè)CONFLICT消息。發(fā)生沖突的節(jié)點(diǎn)接到這個(gè)消息后,開始新一輪的地址選擇。節(jié)點(diǎn)A在成功執(zhí)行地址分配算法后,就擁有了自己的地址。這種地址分配算法發(fā)生沖突的概率最小。
在基于內(nèi)容的MAC協(xié)議中,MAC地址是必不可少的節(jié)省能量的措施,可以避免對周圍鄰近節(jié)點(diǎn)的偵聽。
2 低占空比協(xié)議與喚醒問題
一個(gè)節(jié)點(diǎn)的理想狀態(tài)應(yīng)該是當(dāng)一個(gè)分組傳送給這個(gè)節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)總是處于接收狀態(tài)。當(dāng)這個(gè)節(jié)點(diǎn)自己要發(fā)送一個(gè)分組時(shí),則該節(jié)點(diǎn)總是處于發(fā)送狀態(tài)。在其他時(shí)間,這個(gè)節(jié)點(diǎn)總是處于休眠狀態(tài)。低占空比(low duty cycle)協(xié)議使節(jié)點(diǎn)盡可能多地處于休眠狀態(tài),以使傳感器節(jié)點(diǎn)的通信活動達(dá)到最少。為實(shí)現(xiàn)這一機(jī)制,幾種MAC協(xié)議中引入了周期性喚醒(periodk:wakeup)的方法。如圖2所示,節(jié)點(diǎn)的大部分時(shí)間處于休眠狀態(tài),并且周期性地被喚醒以接收來自其他節(jié)點(diǎn)的數(shù)據(jù)。一個(gè)完整的喚醒周期包括休眠時(shí)段和監(jiān)聽時(shí)段。監(jiān)聽時(shí)段與喚醒時(shí)段的時(shí)間長度之比就是占空比。
稀疏拓?fù)浣Y(jié)構(gòu)與能量管理(STEM)協(xié)議提供了一個(gè)解決空閑監(jiān)聽問題的方法。兩個(gè)不同的信道,即喚醒信道和數(shù)據(jù)信道,如圖3所示。數(shù)據(jù)信道一般處于休眠模式,除非進(jìn)行數(shù)據(jù)發(fā)送或接收。在數(shù)據(jù)傳輸狀態(tài),數(shù)據(jù)信道僅執(zhí)行MAC協(xié)議。在喚醒信道,時(shí)間被劃分為若干個(gè)固定長度為T的喚醒時(shí)段。而一個(gè)喚醒時(shí)段又進(jìn)一步劃分為長度為tRx≤T的監(jiān)聽時(shí)段和一個(gè)休眠時(shí)段,表示喚醒信道的收發(fā)機(jī)進(jìn)入休眠模式的時(shí)間段。如果一個(gè)節(jié)點(diǎn)進(jìn)入監(jiān)聽時(shí)段,則其喚醒信道的接收機(jī)要開啟,等待接收信號。如果在TRX時(shí)間內(nèi)沒有接收到任何信息,則再轉(zhuǎn)換到休眠模式。否則,數(shù)據(jù)信道的收發(fā)機(jī)將啟動一個(gè)分組傳輸。
S—MAC協(xié)議提供了減小空閑監(jiān)聽、沖突碰撞和串?dāng)_的機(jī)制,與STEM相反,S—MAC不需要兩個(gè)不同的信道。它采用周期性的喚醒方案,即每個(gè)節(jié)點(diǎn)根據(jù)預(yù)先確定的時(shí)間表,交替地改變固定長度的監(jiān)聽時(shí)段和固定長度的喚醒時(shí)段。不同于STEM的是,S—MAC的監(jiān)聽時(shí)段可以用來接收并發(fā)送分組。如圖4所示,節(jié)點(diǎn)x的監(jiān)聽周期被進(jìn)一步劃分為SYNCH、RTS、CTS三個(gè)階段。
SYNCH階段,即同步階段。節(jié)點(diǎn)x接收來自其相鄰節(jié)點(diǎn)的SYNCH分組。分組中包含相鄰節(jié)點(diǎn)的時(shí)間表,節(jié)點(diǎn)x將這些時(shí)間表存儲在Schedule table中。SYNCH階段被進(jìn)一步劃分為時(shí)隙,x的相鄰節(jié)點(diǎn)采用CSMA方式競爭信道,并有相應(yīng)的回退。如果在之前任一時(shí)隙沒有接收到數(shù)據(jù),則每一個(gè)希望發(fā)送SYNCH分組的相鄰節(jié)點(diǎn)y可以隨機(jī)地拾取一個(gè)時(shí)隙并啟動發(fā)送。在其他情況下,節(jié)點(diǎn)y會返回休眠模式,并等待節(jié)點(diǎn)x下一次被喚醒。節(jié)點(diǎn)x不需要在節(jié)點(diǎn)y的每一個(gè)喚醒時(shí)段內(nèi)均進(jìn)行廣播。
RTS階段,也就是請求發(fā)送階段,節(jié)點(diǎn)x監(jiān)聽來自鄰居節(jié)點(diǎn)的RTS分組。在S—MAC中,使用RTS/CTS握手方式來減小數(shù)據(jù)分組的碰撞和隱終端問題的影響,而且此階段內(nèi)的相鄰節(jié)點(diǎn)可能會發(fā)生競爭。
CTS階段,即清除發(fā)送階段。若節(jié)點(diǎn)x前一階段收到一個(gè)RTS分組,則節(jié)點(diǎn)x發(fā)送一個(gè)CTS分組,之后進(jìn)行數(shù)據(jù)交換。
節(jié)點(diǎn)x在整個(gè)同步時(shí)段周期性地監(jiān)聽,以了解其相鄰節(jié)點(diǎn)的狀態(tài)。邊界位置上的節(jié)點(diǎn)必須遵守兩個(gè)或多個(gè)不同的時(shí)間表,以廣播其SYNCH分組并發(fā)送數(shù)據(jù)。因此這些節(jié)點(diǎn)會比相鄰節(jié)點(diǎn)都使用相同時(shí)間表的節(jié)點(diǎn)消耗更多的能量。
S—MAC采用周期性喚醒方法,允許節(jié)點(diǎn)大多數(shù)數(shù)據(jù)停留在休眠模式,但也帶來一定的通信延遲。此外會占用大量存儲空間緩存數(shù)據(jù),這在資源受限的無線傳感器網(wǎng)絡(luò)顯得尤為突出。
MD(Mediation Device,仲裁設(shè)備)協(xié)議,是與IEEE802.15.4標(biāo)準(zhǔn)所規(guī)定的對等通信方式兼容的。該協(xié)議為大規(guī)模、低占空比運(yùn)行的節(jié)點(diǎn)間提供了不需要高精度時(shí)鐘同步的可靠通信。MD協(xié)議允許無線傳感網(wǎng)中節(jié)點(diǎn)周期性地進(jìn)入休眠狀態(tài),并僅在喚醒模式下停留較短的時(shí)間,以便從相鄰節(jié)點(diǎn)接收分組數(shù)據(jù)。該協(xié)議引進(jìn)了動態(tài)同步(dynamic synchronization)的概念,是指不需要發(fā)送節(jié)點(diǎn)一直等待接收節(jié)點(diǎn)的詢問信標(biāo),也可以實(shí)現(xiàn)同步。
如圖5所示,節(jié)點(diǎn)在絕大部分時(shí)間處于休眠狀態(tài),在醒來時(shí)發(fā)出詢問信標(biāo)。MD節(jié)點(diǎn)作為一個(gè)不?;顒拥闹俨谜?,通過接收由信息傳輸節(jié)點(diǎn)發(fā)出的RTS(請求發(fā)送)租目標(biāo)節(jié)點(diǎn)的詢問信標(biāo),協(xié)調(diào)兩個(gè)節(jié)點(diǎn)暫時(shí)同步來傳輸數(shù)據(jù)。設(shè)置專門MD節(jié)點(diǎn)的方式稱為“固定式MD”。由于MD節(jié)點(diǎn)不停地處于接收狀態(tài),不符合網(wǎng)絡(luò)低能耗要求,又提出了分布式MD協(xié)議,即節(jié)點(diǎn)隨機(jī)地成為MD。這樣每個(gè)節(jié)點(diǎn)的平均占空比仍可很低,整個(gè)網(wǎng)絡(luò)保持低功耗、低成本的異步網(wǎng)絡(luò)。
對上述幾種協(xié)議在以下幾個(gè)方面進(jìn)行比較,如表1所列。
3 MAC協(xié)議分析與展望
本文介紹了一種MAC協(xié)議的相關(guān)技術(shù),通過對幾種MAC協(xié)議的分析可以看到,能量效率問題是無線傳感器網(wǎng)絡(luò)MAC協(xié)議的一個(gè)基本問題。因此,我們特別關(guān)注能夠明顯降低系統(tǒng)總體能量消耗的方法。無論何時(shí)都能夠根據(jù)需要將節(jié)點(diǎn)導(dǎo)人休眠狀態(tài)的方法,是一種有效保存能量的方法。為滿足這一要求,本設(shè)計(jì)采用低占空比或喚醒技術(shù)的方法。休眠機(jī)制降低了能耗卻增加了時(shí)延,多個(gè)性能指標(biāo)間存在著矛盾。需要進(jìn)一步地研究,如何根據(jù)應(yīng)用需求在各優(yōu)化指標(biāo)問取得平衡?,F(xiàn)有的MAC協(xié)議研究很少關(guān)注于網(wǎng)絡(luò)的具體應(yīng)用,而某些特定的應(yīng)用需要其MAC協(xié)議針對某個(gè)或某些指標(biāo)進(jìn)行特別的優(yōu)化。因此,MAC協(xié)議需要提供一種靈活多變的機(jī)制,以適用于多種不同應(yīng)用的網(wǎng)絡(luò)。