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