無線感測器網路中低功耗mac協議—T-MAC
T-MAC(TimeoutMAC)協議是針對S-MAC協議的偵聽/睡眠週期固定不變、不能適應網路負載的變化而變化的問題提出來的。T-MAC協議主要思想是:在保持週期長度不變的情況下,根據網路負載的變化動態的調整偵聽時長,減少節點空閒偵聽的時間,節省節點的能量。
T-MAC原理
T-MAC協議與S-MAC協議的不同點在於:S-MAC在沒有資料收發的情況下,射頻處於活動狀態時一直保持監聽的狀態,而T-MAC協議的節點僅監聽通道TA時間,沒有檢測到資料傳輸就立即進入睡眠狀態,這樣會很大程度上縮短節點空閒偵聽時間。T-MAC協議遵循了S-MAC資料傳輸採用4次握手機制RTS/CTS/DATA/ACK,期間內增加一個TA (TimeActive)時間。節點週期性醒來先監聽通道TA時間,在該時間內如果沒有以下事件則提前進入睡眠:
- 節點收到資料
- 資料傳輸衝突
- 資料確認或傳送完成
- 鄰居節點資料完成交換
TA時間的長短決定了每個週期最小的空閒偵聽時間,其取值是否適當很大程度上影響T-MAC協議效能,TA時間需要滿足的條件為:TA>C+R+T, C是競爭通道的時間,R是傳送RTS分組的時間,T是RTS分組結束到發出CTS分組幵始的時間。T-MAC的睡眠排程如下圖所示,當以上幾種啟用事件沒有發生的時間超過TA時間,就進入睡眠狀態,這樣射頻的活躍狀態可根據網路負載的變化而變化了。
T-MAC的缺點
通過提前結束節點活動狀態減少空閒偵聽可能會帶來節點早睡問題,以致節點接收不到TA時間之後到來的資料,從而增加網路通訊中的傳輸延遲。當網路流量較大時會增加資料衝突概率。
下面對早睡問題進行說明:
假設資料傳輸方向是1一2一3一4。如果節點1通過競爭通道首先獲得傳送資料到節點2的優先權,節點1傳送RTS給節點2,節點2返回CTS給節點1。節點3收到節點2發出的CTS訊息而自動轉入休眠狀態,在節點2接收完節點1的資料後醒來,以便及時接收節點2傳送給它的資料。節點4可能不知道節點1和節點2之間存在的通訊,在1一2的通訊結束後己處於休眠狀態,這樣節點3無法立刻傳輸資料節點4,只有等到節點4的下一個週期,這將增加傳輸延時。