摘要 無線傳感器網(wǎng)絡(luò)因其巨大的應(yīng)用前景,已成為計(jì)算機(jī)與通信領(lǐng)域一個(gè)活躍的研究分支。恰當(dāng)?shù)耐ㄐ艆f(xié)議對降低無線通信能耗、延長網(wǎng)絡(luò)壽命具有重要的意義。低占空比MAC(媒體接入控制)協(xié)議通過節(jié)點(diǎn)的休眠機(jī)制,大大降低了通信模塊的空閑監(jiān)聽能耗。本文對其中的典型協(xié)議進(jìn)行了分析比較,給出了進(jìn)一步的研究方向。
關(guān)鍵詞 無線傳感器網(wǎng)絡(luò) 媒體接入控制 低占空比
引言
無線傳感器網(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ā)生沖突的概率最小。
圖1 雙向鏈接節(jié)點(diǎn)、單向輸入節(jié)點(diǎn)、單向輸出節(jié)點(diǎn)