孫智博
摘 要:無線傳感網(wǎng)絡(luò)正在興起,它具備成本低廉、能量損耗低等特點。通常用延遲,數(shù)據(jù)包傳遞速率(PDR),能量消耗來衡量無線傳感器網(wǎng)絡(luò)的性能。按照分配信道的方法劃分協(xié)議,可將MAC層的協(xié)議劃分為競爭型訪問,預(yù)留型訪問和混合型的路由協(xié)議。MAC協(xié)議對于無線傳感器網(wǎng)絡(luò)來說,如果設(shè)計合適,可以提高無線傳感網(wǎng)絡(luò)的性能。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);MAC層協(xié)議
一、WSANs的MAC層協(xié)議簡介
按照分配信道的方法劃分協(xié)議,可將MAC層的協(xié)議劃分為以下三種:競爭型訪問協(xié)議,一般是所有節(jié)點共享一個信道,允許節(jié)點訪問介質(zhì)的限制很少,并且可以結(jié)合其他協(xié)議來減少信道中碰撞次數(shù),比如DCF協(xié)議。而預(yù)留型訪問協(xié)議通過明確地調(diào)度數(shù)據(jù)包來防止競爭。TDMA被認為是最適合的。混合型的路由協(xié)議是結(jié)合以上兩種方式。一些WSAN MAC協(xié)議是基于TDMA。
TDMA機制就是為每個無線傳感器網(wǎng)絡(luò)節(jié)點分配獨立的用于數(shù)據(jù)收發(fā)的時隙,而節(jié)點在其他空閑時隙內(nèi)轉(zhuǎn)入睡眠節(jié)能狀態(tài)。相比隨機競爭接入機制,時分復(fù)用方式本身就更能節(jié)省能量,是實現(xiàn)信道分配的簡單成熟機制,因為無線電波的工作時間縮短,而且沒有任何競爭帶來的開銷和沖突?;赥DMA機制的MAC協(xié)議具有如下優(yōu)點:
1)無競爭機制的沖突重傳問題。
2)數(shù)據(jù)傳輸不需額外的控制信息。
3)節(jié)點在空閑時隙能夠及時進入睡眠階段。
混合型協(xié)議可以獲得更好的性能,保持競爭期遠小于數(shù)據(jù)傳輸期,從而減少碰撞,延遲和能源浪費。ATMA算法優(yōu)于傳統(tǒng)的SMAC, TMAC和ADV-MAC算法。
在許多協(xié)議中,將一個幀劃分為2個部分,Contention Window (CW)和Data Window。CW的大小決定了MAC算法的效率。已經(jīng)很多人研究CW大小自適應(yīng)問題,特別是在IEEE 802.11和IEEE 802.15.4協(xié)議中。
二、算法介紹
首先,參考文獻做出以下假設(shè):
1)將節(jié)點隨機放置在一個矩形無障礙區(qū)域,節(jié)點間相互獨立且靜止。
2)節(jié)點能夠感知到信道以及分辨一個空閑信道,一個進展中的單包傳輸?shù)男诺篮桶l(fā)生碰撞的信道(兩個或更多的同時傳輸?shù)臄?shù)據(jù)包) 之間的區(qū)別。
3)時間離散化且所有節(jié)點同步操作。
4)采用了兩個簡單的流量模型,一是隨機流量模型,每個節(jié)點在每段時間以概率p步生成一個數(shù)據(jù)包;二是突發(fā)流量模型,每個發(fā)射節(jié)點周期性的突發(fā)產(chǎn)生出一定量的數(shù)據(jù)包。然后,用延遲,數(shù)據(jù)包傳遞速率(PDR),能量消耗三個指標來評價算法。
(一)ATMA算法
ATMA將CW分為更小的微時隙,比ADV包的持續(xù)時間更小。每個節(jié)點若要發(fā)送數(shù)據(jù)包時,就選擇一個微時隙編號,并且開啟一個倒計時的計時器。當(dāng)此計數(shù)器計數(shù)完畢,該節(jié)點開始發(fā)送ADV包,如果接收方接收這個數(shù)據(jù)包,立即發(fā)送ACK包。如果有沖突,或者網(wǎng)絡(luò)中的數(shù)據(jù)包損壞,那么不發(fā)送ACK包。如果,計數(shù)器凍結(jié),那么意味著某些節(jié)點可能沒有機會在一幀中發(fā)射數(shù)據(jù)包,即使它選擇了一個有效的微時隙編號。如果發(fā)生這種情況,就認為該節(jié)點被凍結(jié)了。如果一個節(jié)點發(fā)生沖突碰撞或者是被凍結(jié),那么它將在下一幀中重新發(fā)送ADV包。而AD-ATMA算法優(yōu)于ATMA,它消耗更少的能量,更加精細地處理凍結(jié)節(jié)點。
(二)AD-ATMA算法
AD-ATMA算法將CW分為兩個部分,第一部分叫做Selection Window,和ATMA中的CW具有相同結(jié)構(gòu)。第二部分叫做Surplus Window,它可以使凍結(jié)節(jié)點發(fā)送ADV包并且不發(fā)送除此以外的其他包。直觀地說,減少Selection Window增加了碰撞沖突的概率,增加Surplus Window增加凍結(jié)節(jié)點成功發(fā)送ADV數(shù)據(jù)包的概率。
當(dāng)凍結(jié)節(jié)點發(fā)射ADV包帶來的好處大于碰撞引起的額外延遲(由于發(fā)送更多的數(shù)據(jù)包)時,擁有Surplus Window是個不錯的選擇。當(dāng)發(fā)射節(jié)點數(shù)量很少時,只有很少量的凍結(jié)節(jié)點,所以只需要很少量的Surplus Window就足夠了。當(dāng)發(fā)射節(jié)點數(shù)量很大時,Selection Window數(shù)量減少會增加碰撞沖突的概率,并且可能超出少量凍結(jié)節(jié)點所帶來的收益。當(dāng)發(fā)射節(jié)點數(shù)量適中時,將CW割裂為兩部分有著不錯的效果。
假設(shè)每個節(jié)點每一幀內(nèi)都有數(shù)據(jù)包要發(fā)送,并且有固定的幀數(shù)。隨機部署節(jié)點,并且每個節(jié)點都有固定數(shù)量的鄰域節(jié)點和固定大小的Selection Window。所有節(jié)點都運行Ad-ATMA算法,且在固定的幀內(nèi)發(fā)送數(shù)據(jù)包。測量了發(fā)送單個ADV包的微時隙數(shù)量和碰撞沖突的微時隙數(shù)量。
Ad-ATMA在每個節(jié)點內(nèi)以分布式運行。節(jié)點在每一幀中監(jiān)聽整個CW。文獻提出的算法步驟如下:
1)在每個幀的開始,每個發(fā)射節(jié)點計算鄰域節(jié)點數(shù)量的期望值,在Selection Window中選擇一個隨機微時隙n,一個計數(shù)為n的計時器開始倒計時并且監(jiān)聽整個信道。
2)只要一個節(jié)點檢測到一個微時隙正在使用,就凍結(jié)其計時器,直到通道不被占用。
3)當(dāng)計時器計數(shù)完畢后,就發(fā)送一個ADV包。如果接收節(jié)點接收到了ADV包,就立即返回一個ACK包來確認收到。發(fā)射節(jié)點收到ACK包后就開始發(fā)射另一個ADV包,這樣單跳鄰域內(nèi)的發(fā)射和接收節(jié)點就知道即將進行下一次數(shù)據(jù)傳輸。如果節(jié)點要發(fā)射第二個ADV包,開始第二個計數(shù)器即可。
4)如果計時器沒有計數(shù)完畢,但該幀結(jié)束了,或者當(dāng)計數(shù)器計數(shù)完畢后,微時隙數(shù)量過少,節(jié)點就嘗試在下一幀發(fā)送ADV包。
5)成功預(yù)留數(shù)據(jù)時隙的節(jié)點就在數(shù)據(jù)時隙發(fā)送包。不發(fā)送或是接收數(shù)據(jù)包的節(jié)點在整個數(shù)據(jù)時隙期間都是保持睡眠狀態(tài)。
最后對這兩種算法分別在單跳和多跳網(wǎng)絡(luò)環(huán)境中進行模擬仿真,最后發(fā)現(xiàn)Ad-ATMA的三項性能明顯優(yōu)于ATMA。
參考文獻:
Hossain M K,Datta S,Edmonds J.Ad-ATMA: An Efficient MAC protocol for Wireless Sensor and Ad Hoc Networks [J].Procedia Computer Science,2015,52(1):484-491.