无线传感器网络中低功耗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时间,在该时间内如果没有以下事件则提前进入睡眠:

  1. 节点收到数据
  2. 数据传输冲突
  3. 数据确认或发送完成
  4. 邻居节点数据完成交换

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的下一个周期,这将增加传输延时。

猜你喜欢

转载自blog.csdn.net/qq_15391889/article/details/83443139