无线传感器网络中节能MAC协议的研究
扫描二维码
随时随地手机看文章
引言
无线传感器网络是由大量传感器节点构成的一种特殊 Ad Hoc 网络,主要用于数据的 采集和传输,有着广泛的应用前景。由于传感器节点一般由电池供电,且节点的体积微小, 而电池能够携带的能量非量有限,因此,节省能耗是无线传感器网络中的一个研究热点。 人们提出了许多有效的 MAC 层协议[1],其中以S—MAC 最具有代表性。它一方面继承 了IEEE802.11 MAC[2] 协议中的基本机制,另—方面采用周期性睡眠工作方式,有效降低了 能耗,因此成为传感器网络中广受关注的MAC 协议之一。本文将详细分析以S—MAC 为代表的 Schedule 类协议原理和性能,并在此基础上探讨更节能的MAC 协议的研究和设计。
一 Schedule 类协议
1.1 S—MAC 协议
S—MAC(Schedules MAC)协议是基于时间调度协议的代表,它融合了几乎所有的无线 网络的节能技术。S—MAC 协议的主要目的就是节能,它的最主要的思想是通过周期性的 休眠来使得射频低占空比运行。另外它还融入了其它的节能技术,如冲突避免和串音避免, 还有消息传递以及自适应侦听机制。
周期性*和睡眠
周期性*和睡眠是 S—MAC 协议的最精华部分。在许多传感器网络应用中,大多都 是小数据量应用,即周期内只有少量数据,而其它很长的时间内都没有数据。因此,S—MAC 协议通过让节点进入周期性睡眠模式来减少*时间。例如,如果每秒钟让节点休眠半秒, 而另半秒进入空闲*,那么该节点的radio 工作的占空因数(dutycyde)就减少到50%,即能 够节省近50%的能量。
周期性*和睡眠的基本机制是侦察→睡眠→侦察→睡眠,每个节点在一段时间内睡眠,然后在醒过来后立即进入空闲*状态来*信道;在睡眠时,节点关闭它的射频,并 使用一个定时器来定时唤醒。*和睡眠的持续时间可以根据不同应用场景来选择。一般为 了同步方便,所有节点可以设置相同的睡眠和唤醒时间。每个节点通过向邻居广播自己的调 度信息来实现邻居节点间的调度信息的共享,同时每个节点都要为邻居维护一张调度表,里 面记录了各个邻居节点的调度信息。
消息传递
S—MAC 的方法是把长信息分割为许多小的片断,然后传输它们。但是只在一开始使 用一个RTS 分组和—个CTS 分组。每次传输一个数据片断分组,发送者等待接收者送来的 ACK。每个数据片段和其ACK 都附带有—个剩余时间域,其意义是告知邻居节点还需占用 信道多长时间,即相当于预约了信道整个消息发送所需要的时间。因此如果没能够接收到 ACK,节点可以扩展传输时间,并迅速重传现有的片断,如图1 所示。
正常工作图显示了在发送 RTS 包的时候,剩余时间域就已经为整个消息的发送预留了 占用信道的时间,而后的数据包和ACK 包中的时间随着包的发送依次递减。而重发工作图 中显示,当发送方的一个片段包未收到ACK 时,它立刻重发且扩展了剩余时间。由于每个 分组和ACK 都有剩余时间域,因此即使有节点提前醒来(由于重发耽误了时间),也可以得 到新的剩余时间,而再次进入睡眠,等待发送结束。在每个数据片断后使用ACK 的目的是 预防隐藏终端问题。在传输过程中,一个邻居节点醒来或新节点加入都是可能的。如果节点 只是接收者的邻居而不是发送者的,它就不会听到发送者正在传输的数据片断。如果接收者 并没有频繁的发送ACK,新节点也许会错误的从它的载波侦听中推断媒介是空闲的,并开 始发送数据,从而导致现有的传输将会在接收者处被损坏。
1.2 S—MAC 协议的缺点分析
可以说 S—MAC 协议考虑的十分全面,但还是有其自身的缺点,首先,周期性睡眠监 听中的同步带来了一定的控制包开销(同步包),并且同步的维护将消耗掉节点并不充裕的空 间资源。另外,睡眠工作周期受到各个方面的限制,并不能达到超低功耗的要求(周期长度 受限于延迟要求和缓存大小,而周期长度直接反映节能效率),其次,在大规模的的传感网 中,周期性睡眠*将会带来难以忍受的延迟问题(流量自适应侦听并不能有效解决),最后, 边界节点的消耗能量要比普通节点大的多,导致节点间的能量消耗并不平衡。
1.3 TMAC 协议
针对 S—MAC 协议不能根据网络负载自适应地调整占空比的问题,TMAC 协议在保持侦听和睡眠时间总和不变的基础上,该协议设定了一个最小的空闲侦听时间TA,在从睡眠 状态唤醒之后,若在该TA 时间段中没有发生激活事件,则又重新进入睡眠周期,否则继续 增加一个TA 保持侦听状态。通过这种方式,节点可以提前结束侦听时间进入睡眠从而减少 能耗,但同时也带来了早睡问题,虽然为解决这些问题提出了未来请求发送和满缓冲区优先 方法,但结果并不理想。
1.4 Sehedules 类协议的总结
从上面的两个协议的分析可以看出 Schedules 类协议可以达到较好的功耗控制,且比 较容易融合各种功耗控制的相关技术,但相应的设计和实现却更加的复杂,如网络启动时如 何实现同步,怎样维护同步以及新节点的加入等,并会引入一些其它的额外开销,如同步包 的控制开销,维护调度表的资源开销等,最后,还会带来累积延迟问题。
二 更节能的新MAC 协议的研究和设计
2.1 节点能量浪费的主要原因
通过大量的实验和理论分析论证,归纳出可能造成网络中节点能量浪费的几方面原因: (l)竞争信道消耗。节点要发送或接收数据,使用共享的无线信道,可能引起多个节点 之间发送的数据发生碰撞,而—旦发生碰撞现象,为了保证数据的完整性,节点必须重传数 据,这也就造成了节点的能量浪费。
(2)串音现象。节点接收处理冗余数据(大量相同或近似数据)导致能量的浪费。
(3)过度的空闲侦听。节点除了发送数据外,其他时间段都处于空闲状态,以便侦听信 道随时准备接收可能传输给自己的数据。而根据文献[4]处于空闲状态的节点也要消耗大量 的能量。
(4)控制信息开销。节点在传输数据时会加入—些额外的控制信息,从而加长了数据帧 长度,数据量的增加造成了额外的能量开销。
2.2 新协议的设计:自适应调整占空比MAC 协议
2.1.1 设计思路
文献[5]也提出了一种ADC-MAC 协议,其工作原理是根据网络中的负载即数据流量的大 小,来改变节点处于侦听状态下的时间。其优点是可以灵活的调节*时间,但也带来了一 些问题,首先,繁琐的计算公式带来了额外的参数传输和开销管理。其次,频繁的变动DC (Duty_cycle 占空比)会造成额外的硬件响应时延。
新协议是在S—MAC 协议的基础上,根据业务量的大小来调节*时间。可是直接判断 业务流量的大小有一定的困难,我们考量S-MAC 协议设定的重传数值这一参数。设定当重传 次数为5 时,业务流量大小记录为Ts,当网络流量>Ts 时,DC=20%。当网络流量Ts: DC=30%。同样的理由, 当连续5 个周期网络流量
2.2.2 仿真分析
本文采用了由UC Berkeley 开发的、面向对象的、离散事件驱动的网络环境模拟器NS-2 对改进的S-MAC 协议进行了仿真实验,分别对S—MAC 协议和基于数据流量自适应调整占空 比的新MAC 协议的网络性能进行比较,这里的性能主要指数据收发比、平均占空比以及能耗。 数据收发比是指目的节点总的收到的数据包数与源节点总的发包数的比值,能耗指的是每成 功传送lbit 数据所消耗的能量。
仿真中有关参数设置如下:无线设备带宽100kbps,传输范围250m,干扰范围550m,包长 度100 字节,传输功率0.66 瓦,接收功率0.395 瓦,空闲*时耗电0.35 瓦,休眠时耗电忽略 不计设为0。根据无线参数和包的长度,S-MAC 协议的活动时间设为20ms。
图2 中,对比的是在不同大小的业务量下,S-MAC 和新的MAC 协议的数据收发比。X 轴坐标就是业务量,其1 个单位为网络重传次数为5 时的业务量大小。在业务量较小时,两 者几乎没有区别,且由于连续五个周期业务流量
图3 中,采用S—MAC 协议的节点始终保持设定的占空比10%不变,而新协议自适应 的应付网络中的数据量,调节占空比。
图4 中,在业务量较小时,由于减少了侦听时间的占空比,减少了空闲状态下的能量消 耗。在网络负载较重时,由于新协议增加了侦听时间的占空比,导致能量消耗要远大于S— MAC,但提供了更好网络的传输性能。而且综合来看,新协议能耗更小。
总结分析
本文分析了无线传感器网络MAC 层协议目前所存在的问题:S 一MAC 协议无法根据 网络中的数据流量自适应地改变占空比,进一步节省能耗;同时,也探讨了基于此问题开发 的MAC 层协议存在的种种问题。在此基础上,提出了根据节点间数据包重传次数来判断当 前网络数据流量大小,即根据前5 个周期内的加权平均重传次数判断当前的网络数据流量, 当平均值超出阈值,则应增加侦听时间的占空比,反之,则减小侦听时间的占空比,且为应 对网络数据流量突然增加的突发状况,对节点侦听时间的占空比进行扩增,从而应付网络中 的大数据流量。通过仿真实验,采用新协议的网络性能得到了一定程度的改善,也验证了设 计的算法的可行性。
本文作者创新点:对无线传感器网络的能量高效性做了有益的探索,详细分析了以 S —MAC 为代表的Schedule 类协议原理和性能,在此基础上探讨了一种新的更节能的MAC 协议 的研究和设计,并在NS2 网络上进行了仿真实验验证。