無(wú)線傳感器網(wǎng)絡(luò)高效的MAC協(xié)議研究
作為一個(gè)異步MAC協(xié)議,RI-MAC去除了節(jié)點(diǎn)間的同步。這在避免節(jié)點(diǎn)同步開(kāi)銷的同時(shí),也使得發(fā)送節(jié)點(diǎn)無(wú)法知道接收端什么時(shí)候醒來(lái)。從而發(fā)送節(jié)點(diǎn)必須一直監(jiān)聽(tīng),直至數(shù)據(jù)成功傳輸。在圖2的例子中,S1長(zhǎng)時(shí)間監(jiān)聽(tīng)信道而得不到發(fā)送的機(jī)會(huì)。此外,接收端在接收完一幀數(shù)據(jù)后,使用beacon消息作為響應(yīng),發(fā)送端有數(shù)據(jù)可繼續(xù)向其發(fā)送。這種策略使得接收端一旦開(kāi)始接收數(shù)據(jù)后,將一直占用信道,直到發(fā)送結(jié)束。
基于以上分析,本文考慮對(duì)RI-MAC協(xié)議進(jìn)行改進(jìn)。
2 IL-MAC協(xié)議設(shè)計(jì)要點(diǎn)
IL-MAC主要在以下幾個(gè)方面對(duì)RI-MAC進(jìn)行改進(jìn):
2.1 自適應(yīng)前導(dǎo)技術(shù)
自適應(yīng)前導(dǎo)技術(shù)在網(wǎng)絡(luò)負(fù)載較輕時(shí),發(fā)送端不使用前導(dǎo):在數(shù)據(jù)積累較多時(shí),發(fā)送端發(fā)送前導(dǎo),主動(dòng)請(qǐng)求數(shù)據(jù)傳輸,以期盡快進(jìn)行數(shù)據(jù)傳輸。為此,每個(gè)發(fā)送端設(shè)定一個(gè)隊(duì)列長(zhǎng)度門限Qmax。發(fā)送端有數(shù)據(jù)要發(fā)送時(shí)檢查隊(duì)列長(zhǎng)度,小于等于Qmax則采用無(wú)前導(dǎo)方式,監(jiān)聽(tīng)信道等待接收端醒來(lái);若大于Omax,發(fā)送前導(dǎo)主動(dòng)要求與接收端建立連接。
在圖3中,S的隊(duì)列長(zhǎng)度小于等于Qmax,S監(jiān)聽(tīng)信道等待R醒來(lái);R醒來(lái)后發(fā)送hello消息;S聽(tīng)到后向R發(fā)送數(shù)據(jù);R發(fā)送hello消息告知傳輸完畢。在圖4中,S的隊(duì)列長(zhǎng)度大于Qmax,S主動(dòng)發(fā)送一系列包含接收節(jié)點(diǎn)(R)地址的前導(dǎo)消息(preamble);R醒來(lái)后聽(tīng)到前導(dǎo)消息,在前導(dǎo)發(fā)送的間隔回復(fù)hello消息;S發(fā)送數(shù)據(jù);R接收完畢后發(fā)送hello消息,告知接收完畢。本文引用地址:http://www.ex-cimer.com/article/162172.htm
進(jìn)一步地,算法還可以在每個(gè)數(shù)據(jù)包中加入產(chǎn)生時(shí)間或優(yōu)先級(jí)等信息,節(jié)點(diǎn)可以根據(jù)數(shù)據(jù)包的緊急程度選擇采用何種發(fā)送方式。
2.2 局部同步
RI-MAC的發(fā)送端并不主動(dòng)尋求與接收端同步,而是靜靜地監(jiān)聽(tīng)信道。IL-MAC通過(guò)引入局部同步來(lái)改善這一點(diǎn)。節(jié)點(diǎn)在廣播的hello消息中均包含該節(jié)點(diǎn)的休眠調(diào)度信息,這樣鄰居節(jié)點(diǎn)可以建立起一個(gè)休眠調(diào)度表。發(fā)送端有數(shù)據(jù)要發(fā)送時(shí),先檢查鄰居休眠調(diào)度表;若表中有接收節(jié)點(diǎn)的休眠調(diào)度信息,可休眠并在接收端醒來(lái)前的某個(gè)時(shí)刻醒來(lái);如沒(méi)有接收節(jié)點(diǎn)的調(diào)度信息,堅(jiān)持監(jiān)聽(tīng)信道。
評(píng)論