802.11是IEEE 802.11标准委员会制订的无线局域网信道接入协议,也可用于无线自组织网(Ad Hoc网络)。无线结点使用的易耗尽能源(主要是电池)只能提供有限的能量供应;而目前由于受电池制造技术的限制,在保持电池重量一定的条件下,电池容量很难有突破性的提高。另一方面,移动终端性能不断提高,功能也越来越强大,对电源供应的需求也更加强烈。因此研究新的技术以减少能耗并延长电源使用时间非常有必要。
无线网络接口在结点总功耗中占有相当大的比例。通常情况下,无线网络接口加电工作时按功率消耗由小到大的顺序有4种模式:睡眠模式(sleep)、空闲模式(idle)、接收模式(receive)以及发送模式(transmit)。当无线网络接口工作于睡眠模式时称结点处于睡眠状态,而当无线网络接口工作在其他三种模式时称结点处于活跃状态。
试验表明:网络接口处于睡眠状态时能耗特别低,处于空闲模式时的功率消耗与处于接收、发送模式时的功率消耗相差无几。这说明在发送代价很大的网络中为了节能而常用的功率控制机制并不能显著降低网络能耗;尽可能将结点网络接口置于睡眠状态是降低结点功耗的关键,各种节能协议的设计也主要是围绕这个思想进行的。这种类型的节能协议主要由数据链路层的MAC子层实现。
1 802.11协议的基本节能机制
802.11协议在MAC子层标准中定义了两种模式:分布协调功能DCF和点协调功能PCF。由于DCF的使用比较普遍,因此本文主要基于DCF来探讨802.11协议的节能技术。
在节能模式下,当结点没有数据传输时可以进入睡眠状态,但这种操作不能影响正常的数据通信。因此必须要解决好两个问题:节能模式下结点如何从其他结点接收数据;结点如何向处于节能模式的结点发送数据。
802.11标准中为802.11DCF定义了节能模式PSM(Power Save Mode)。PSM工作于全互连网络中,工作过程如图1所示。各结点将时间轴分为连续的beacon周期,当每一beacon周期开始时,工作于节能模式的结点都唤醒一段时间,称之为ATIM窗口(Ad Hoc Traffic Indication Message)。在ATIM窗口开始的时刻各结点都处于活跃状态并竞争发一beacon帧来进行全网同步,其中beacon帧中携带本结点的时钟信息。各结点都与成功接收到的beacon帧进行同步,并且不再发送自己的beacon帧。同步后,有报文要发送的结点通过发送ATIM帧与接收结点进行信息交互,接收结点收到发给自己的ATIM帧后,应答一个ATIM-ACK(如果ATIM帧的地址是一广播地址,则无需应答)。结点如果有报文要发送或接收,则在剩余的beacon周期时间内(本文称作流量窗口,简称TW窗口)一直处于活跃状态,那些没有报文要发送或接收的结点则在TW窗口内处于睡眠模式以节省能量,直到下一beacon周期开始时刻重新唤醒。802.11PSM协议有以下几条规则必须遵守:
(1)如果某结点收到发给自己的ATIM帧或广播地址的ATIM帧,则该结点在本beacon周期内要一直处于活跃状态;
(2)只有当结点既没有发ATIM帧又没有收到地址为本结点或广播地址的ATIM帧时才可在本beacon周期的TW窗口内进入睡眠态,直到下一周期开始再唤醒;
(3)ATIM帧和ATIM-ACK帧发送采用正常的802.11DCF接入规则竞争信道;
(4)在TW窗口内,处于活跃状态的结点采用正常的802.11DCF接入规则竞争信道。
PSM作为802.11最基本的节能协议,能够在一定程度上实现节能目标。但它存在一些不足:
(1)PSM协议中,ATIM窗口大小固定不变。而ATIM窗口的大小对系统的节能效率和吞吐率有较大影响,大小固定的ATIM窗口不能灵活适应这种状况。ATIM窗口设置得过大会导致实际用来发送数据的时间缩短而使最大吞吐率降低,也会降低节能效率。尤其网络在低负荷时,过大的ATIM窗口的负面影响极为明显。而ATIM窗口过小则可能导致某些发送结点在ATIM窗口内没有时间与接收结点建立连接,也可能使最大吞吐率降低;
(2)在整个ATIM窗口内,所有结点都必须处于活跃状态。当所有结点都没有数据传输时在ATIM窗口一直处于空闲状态,仍要消耗不少能量;
(3)每个有数据收发的结点在TW窗口内要一直处于活跃状态(即使只有一个报文要发送或接收)。结点在结束通信后,如果TW窗口尚未结束,它就要在窗口剩余时间内一直处于空闲状态,这依然要消耗不少能量;
(4)在TW 窗口内,数据发送时竞争信道采用的是普通802.11协议中的CSMA/CA机制。当结点发现信道忙时,就要退避一段时间再进行信道接入。在这段退避时间内,结点处于空闲状态,依然消耗不少能量。
2 802.11中各种改进的节能协议
针对802.11PSM节能协议中存在的不足,不少学者提出了改进建议。常见的对基本节能机制的改进协议有如下几种。
2.1 TIPS协议
TIPS协议(Traffic Indication-based Power Saving)是针对PSM中所有结点没有数据传输时在ATIM窗口内仍然保持活跃状态的缺陷进行的改进。如果所有结点都没有数据传输,在ATIM窗口进入睡眠状态会减少能耗。但结点不能过早地盲目地转入睡眠状态,因为即使结点自己没有数据发送,它也无法了解邻结点是否有数据需要接收或转发。为了解决这一问题,TIPS协议在ATIM窗口开始时刻利用两个beacon时隙作为流量指示器,将第一个时隙称为ETS(Earlier Time Slot),第二个时隙称为LTS(Later Time Slot)。
TIPS协议ATIM窗口如图2所示。在TIPS协议中,当结点有数据需要发送时就在ETS时隙中竞争发送作为同步的beacon帧,否则延迟到LTS帧中发送。如果beacon帧在ETS时隙中发送,说明网络中有结点要传输数据,此后TIPS协议工作过程与PSM相同。如果ETS时隙中没有beacon帧发送,就认为所有结点都没有数据要发送,此时所有结点在LTS时隙后就进入睡眠状态,直到下一beacon周期开始时刻重新唤醒。
在TIPS协议中,网络没有报文传输时结点在ATIM窗口就能进入睡眠状态,因此比PSM节能效率高,数据流量小时尤其明显。
2.2 DPSM协议
DPSM协议(Dynamic Power-Saving Mechanism)可以动态调整ATIM窗口大小,并且结点结束数据传输后即可在TW窗口内进入睡眠状态。
DPSM协议中每个结点根据自己观察到的网络状况而各自使用不同大小的ATIM窗口。结点在ATIM窗口中交互ATIM帧的同时通知对方自己有多少报文要发,在TW窗口内,当发送结点发送完数据后,收发双方都可以进入睡眠状态。如果在当前的beacon周期内没有将已经通过ATIM帧广播的数据发完,则在下一beacon周期的TW窗口中收发双方都处于活跃状态继续发送未发完的数据,而不必再通过ATIM帧广播。结点会在所有发送报文中带上自己的ATIM窗口大小信息,其他结点如果收到此报文就可以知道对方的ATIM窗口大小。某结点发送ATIM帧时,根据目的结点的ATIM窗口大小,首先向ATIM窗口最小的结点发送ATIM帧,如果不知道对方的ATIM窗口大小,就按最小的ATIM窗口来对待。如果某结点在当前的ATIM窗口内来不及向所有目的结点发送ATIM帧,则可以增大ATIM窗口。ATIM窗口的增加和减少都是按一定的粒度来进行的。某结点如果从其他结点发送的报文中得知对方的ATIM窗口比自己的ATIM窗口大2个级别以上,则将自己的ATIM窗口增大一个级别。当某一结点在ATIM窗口结束后因为要发送或接收数据报文而处于活跃状态时,又收到其他结点发来的ATIM帧,则可以响应一个ATIM-ACK报文,并在下一beacon周期中将自己的ATIM窗口增大一个级别,如图3所示。
某一结点在连续发送几次ATIM帧都没有收到对方响应的ATIM-ACK帧时(因为对方的ATIM窗口比自己小)就会将当前的数据报文作上标记,当结点收到发送给自己的作了标记的数据报文后,也要将ATIM窗口增大一个级别。如果某结点能用当前的ATIM窗口顺利将所有ATIM帧发送给对方,这说明当前的ATIM窗口已经足够大,则它可以选择将ATIM窗口缩小一个级别。
DPSM能够使结点根据网络状况动态调整ATIM窗口大小,并且在数据传输结束后就进入睡眠状态。因此比PSM节能效率高,同时也没有降低吞吐率。
2.3 NPSM协议
NPSM协议(New Saving Mechanism)中报文发送完毕之后结点可以进入睡眠状态,工作过程如图4所示。在每一beacon周期开始时仍然有一段时间内所有结点都处于活跃状态。收发双方不必事先交互ATIM报文就可以直接发送数据报文。在发送报文的同时通过在控制报文和数据报文中携带一些特定信息来告知对方及其他结点自己当前有多少报文等待发送、要发给谁以及其他邻居结点总共有多少报文等待发送给自己等信息。所有无关结点在收到这些信息后就能估算出发送报文的结点至少还会处于活跃状态多少时间,而目的结点也能知道对方有多少报文等待发送给自己。活跃窗口结束后,如果结点没有数据发送或接收就转入睡眠状态。
由于NPSM协议中结点在报文发送完毕之后可以进入睡眠状态,因此比802.11PSM协议有更高的节能效率。同时,由于无需交互ATIM报文, NPSM协议比802.11PSM协议有更高的吞吐率。
2.4 IPSM协议
IPSM协议[7-8](ImprovedPower Saving Mechanism)与DPSM具备一样的特征,既可以动态该改变ATIM窗口大小,又允许结点在TW窗口完成数据传输后转入睡眠状态。但两者采取机制完全不同。IPSM中定义了4个参数:最大ATIM窗口ATIMmax,最小ATMI窗口ATIMmin、信道空闲时间CIT(Channel Idle Time)、信道空闲时间门限CITThreshold(Channel Idle Time Threshold)。ATIMmax和ATIMmin限定了ATIM窗口变化的范围。CIT指在ATIM窗口结束时刻测得的信道持续空闲时间。CITThreshold则提供了ATIM窗口增大的条件。在ATIM窗口结束时如果CIT大于CITThreshold,则说明信道已经空闲了足够长时间,结点没有再试图发送ATIM帧,不必改变ATMI窗口大小;否则就要增大ATIM窗口。各个结点窗口大小变化是同步的。
IPSM协议工作过程如图5所示。在beacon周期初始时,ATIM窗口置为ATIMmin,如果在窗口结束时刻测得的CIT小于或等于CITThreshold时,就在ATIMmin基础上延长ATIM窗口持续时间形成新的ATIM窗口。此过程反复进行直到CIT大于CITThreshold时或ATIM窗口增大到ATIMmax时为止。ATIM窗口结束后,结点开始传输数据。IPSM协议在ATIM帧中和传输的数据分组中包含有结点待传输的分组数量信息。这些信息能够让目的结点判断出它是否接收完所有分组数据。如果一个结点在TW窗口结束了数据传输,即使TW窗口还没有关闭,结点也可进入睡眠状态。如果源结点在beacon周期结束时没有传输完数据,则在下一个beacon周期它和目的结点处于活跃状态,不必传输ATIM帧就能继续传输数据。
IPSM协议中,结点根据网络状况同步调整ATIM窗口大小,同时数据传输结束后就能进入睡眠状态。因此其节能效果比PSM好。
2.5 S-PAM协议
PSM协议中结点在TW窗口进行数据传输使用CSMA/CA机制,没有竞争到信道的结点就要退避一段时间再发送。S-PAM(The Slot-based Power Saving Mechanism)协议使得结点在退避时间内转入睡眠状态,提高节能效率。
在S-PAM中,将TW窗口划分为几个不同的时隙。结点只在选定的时隙中传输数据,相应只在传输数据的时隙中处于活跃态,而在退避时隙时转入睡眠状态。传输数据时隙在ATIM窗口中选定并通过ATIM分组进行消息发布。S-PAM工作具体过程如图6所示。
S-PAM协议中,结点在退避时间内能进入睡眠状态,因此节能效率高。同时数据在分配好的时隙中传输,吞吐率也得以提高。但时隙分配机制比较复杂。
以上这些协议都是针对PSM的不足在某一方面进行的改进,使得节能性能得以提高。各协议性能比较如表1所示。目前,从多方面综合考虑而进行的节能研究还比较少。
3 节能技术所面临的困难及发展方向
动态关闭无线接口是802.11协议的主要节能机制,但需要解决好以下几个方面的问题:
(1)如何获得全网时钟同步。PSM及其改进协议大都使用beacon帧进行同步,在全互连无线网络中是可行的。但对于多跳Ad Hoc网络[9-12]而言,由于没有一个通信范围能覆盖全网的中心结点,使得全网同步实现起来相当困难。这就促使研究者必须研究解决同步问题和异步时间驱动情况下的节能技术;
(2)研究时间-报文综合驱动的节能技术。PSM及其改进协议将时间轴划分为不同的beacon周期进行操作,属于时间驱动节能技术,没有过多考虑网络负荷影响。网络负荷低时节能性能显著。而在网络负荷高时节能效果比较差。报文驱动机制正好相反,它利用报文发送前交互的控制信息决定结点是否进入睡眠状态。如果能将这两种节能机制优点结合起来又克服各自缺点,则能取得更好的节能效果;
(3)如何发送广播报文。在普通网络中,由于所有结点一直处于活跃状态,广播报文可以随时发送。而当运行节能协议时,如何发送广播报文是一个需要研究的问题;
(4)模式转换的能耗问题。结点在睡眠状态和活跃状态间相互转换时需要消耗额外的能量。如果睡眠时间过少,它节省的能量还不足以弥补模式转换消耗的能量,此时就不宜进入睡眠状态。如何确定最少睡眠时间也是必须要解决的问题;
(5)如何判断当前存在的邻居结点。无线网络中结点间常常要交互信息以判断有哪些邻结点。由于工作于节能模式的结点会在许多情况下处于睡眠状态,这有可能影响某些结点对邻居结点的正确判断;
(6)协议各层如何协作以提高节能效果。节能问题涉及到网络的各层,进行跨层设计非常有必要。在Ad Hoc网络中,路由协议的节能研究是节能工作一个重要方面。MAC子层节能技术要考虑与路由协议协同工作,保证当前处于睡眠状态结点也能收到必要的路由信息。
无线终端在能源有限条件下能连续工作较长时间是业界所希望的。因此节能问题引起了国际学术界的广泛关注,产业界也一直在寻求通过采用节能机制来延长终端工作时间的方法。可以预期随着时间的推移,各种新的节能机制将在无线网络中得到越来越广泛的应用,从而进一步推动无线网络的发展。
责任编辑:gt
评论
查看更多