###1. 802.11的省电模式

在无线网路的终端设备中,主要是手持式设备和膝上型设备, 依赖与电池供电, 省电尤为重要, 因此IEEE 802.11便提供了几种不同的电源管理模式

###2. 省电模式(Power Save Mode)

工作在PS 模式下的STA 一般会尽量保持在Doze 状态,只在必要的时候转换到Awake 状态。在Doze 状态的STA 无法侦听信道,这导致PS模式下STA收发数据的方式跟Active模式下有所不同,发向PS模式的STA 的数据会在AP处缓存

在AP 周期性地广播的Beacon 帧中包含一个数据指示表TIM(Traffic Indication Map),它最大是251个字节,每一位映射一个STA,当为1时表示该位对应的STA有信息在AP中,它的映射是一个比较复杂的过程, TIM指明当前所有有数据在AP处缓存的STA,处在Doze 状态的STA 并不知道何时有数据被缓存,因此STA 必须周期性的接收来自AP 的Beacon 以确定本身是否有数据被缓存。AP 广播Beacon 的周期为Beacon-Interval,STA接收Beacon 的周期为Listen-Interval,STA 可以自由选择Beacon-Interval的整数倍作为自己的Listen-Interval。STA 每隔Listen-Interval 接收Beacon并解码其中的TIM,如果TIM 指示没有数据缓存,STA 就可以立刻转入Doze 状态,如果TIM 指示其有数据缓存,STA 就要向AP发一个ps-Poll,AP在收到ps-Poll后就可以向该Poll的源STA发送一个为它缓存的数据包,如果有多个处于PS模式的STA 在收到同一个Beacon之后都要接收数据,那么这些STA 发送Poll 的机制同发送数据一样,也遵循CSMA/CA

在有STA 处在PS 模式的WLAN 里,除了发向特定PS 模式STA 的单播(Unicast)数据包外,那些广播(Broadcast)和组播(Multicast)数据包某些时候也需要在AP 缓存。AP 每隔DTIM-Interval 时间在Beacon震中包含DTIM(Delivery TIM)指示信息,以指示其后有广播或组播数据发送。那些希望接收广播和组播数据的STA 则要每隔DTIM-Interval 来接收Beacon,一旦接收到了了DTIM, STA就必须处于清醒, 并在有广播或组播数据时接收, 而那些对能量消耗极敏感的STA 可以选择不接收DTIM

无论TIM 还是DTIM 都只能指示有数据包需要被STA 接收,而不能标明每个STA有几个包被AP 缓存。为了解决这个问题,AP 在向STA 发送数据包时用帧头控制比特More-Data 标明是否仍有数据缓存在AP 处。处于PS 模式的STA 在接收数据时根据More-Data 比特决定是否继续保持Awake;若More-Data=0,则STA 立刻可以转入Doze,若More-Data=1,则STA 则要继续保持Awake,竞争发送Poll 或接收其余的广播(或组播)包,直到收到下一个Beacon 为止。STA 从PS 模式转换到Active 模式,AP将尽快将为其缓存的数据包发送给该STA。综上,缓存、竞争的机制可以使处于PS 模式的STA 不会丢失数据包

###2.1 PS模式下发送数据包的差别

PS 模式下的STA 在发送数据包的时候同Active 模式下没有区别,只是在需要发送之前转为Awake 状态,发送成功后随时可以转为Doze 状态。但是由于虚载波侦听机制(参见2.1 节)的要求,STA 在发送前必须确定其他STA 不在发送数据,而刚从Doze 状态转化到Awake 状态的STA 因为过去一段时间没有侦听信道中的MAC 帧,其NAV 不准确,因此,在发送数据前,STA 必须侦听信道,等到收到发自其他STA 的MAC 帧,正确设置了自己的NAV 之后,才可以开始采用正常的CSMA/CA 机制发送数据。当然如果刚Awake 的STA 侦听了足够长时间后仍没有收到任何MAC帧,也可以开始发送

###2.1 省电模式的参数调节

  • Beacon Interval: AP发送两个Beacon的时间间隔,也即Beacon的周期数

它的实际大小由AP控制,通常它会有以下影响:太大的话会影响影响新到的STA加入的灵活度,而太小则可能使信道长期被Beacon打断,进而影响到整个网络的吞吐量;默认的Beacon是100 TU,也就是0.1秒

  • Listen Interval : 每隔多长时间进入休眠状态的STA要打开自己的接收器

它是以Beacon为单位的,它是在验证/关联阶段由STA提出,与AP协商得出来的(STA提出,AP同意或拒绝)。注意,较长的Listan Interval会用掉AP过多的缓存空间,这个是AP要考虑的

  • DTIM Interval: 当发送几个TIM之后,就要发送一个DTIM

这个值不会影响单播的流量传递,如果没有开启PS的用户使用组播也不会收到影响,但是会影响开启了PS的用户接收多播数据的传递,如果设置的太小,起不到节电作用,太大又可能会影响组播通讯的质量

###3. 自动省电模式

为了因应AP在进行QoS运作时,所采取的一种省电模式,可以让具有QoS功能的用户端设备享有更长的电池续航效果。WiFi联盟制定了一个WMM的认证标章,专门发给支援IEEE 802.11e的设备,如果搭配APSD就称为WMM节能功能。此外,APSD还分为两种类型:

  • U-APSD : 非排程APSD
  • S-APSD : 排程APSD

WMM定义的按照优先级从高到低的顺序分为:Voice(语音流)、Video(视频流)、Best-effort(尽力而为流)、Back-ground(背景流)四个优先级队列,用于确保高优先级分类的报文优先抢占无线信道和发送

支持U-APSD模式的STA关联AP时可以指定某些AC具有触发属性,某些AC具有发送属性。STA休眠后,AP将需要发给STA的具有发送属性AC的报文缓存起来, 客户端结束休眠后,向AP发送具有触发属性AC的报文,AP收到后向STA发送为其缓存的具有发送属性AC的报文, STA休眠后, 若AP有需要发送给STA的没有发送属性AC的报文, 则会为其缓存, 并且按照传统的802.11的省电模式来缓存和接收, 另外, 所有的广播帧并且按照传统的802.11的省电模式来缓存和接收