WIFI Power Save 省电机制介绍 (PS-POLL APSD)

WIFI Power Save 省电机制介绍 (PS-POLL APSD)

省电机制分为四种类型

•Legacy Power Save

•APSD

•SM 通过临时关闭部分天线来实现省电目的

•PSMP

终端对省电机制的支持情况:

最常用的是Legacy和APSD两种省电模式;

Legacy PS-POLL

STA transmits a PS-Poll frame with Power management bit set to 0 to AP.ACK is optional. ACK is optional.As to PS-Poll frame received by AP, AP transmits Data frame for the AID present in PS-Poll frame.(PS-Poll帧的duration/ID字段携带AID)If in the last transmitted data frame transmitted by AP contains More Data field set to 1, STA follows the procedure present in stage ISTA goes to sleep mode until data from AP buffer is empty.

注意:PS-POLL不能用于改变STA的省电模式(active<一直醒>或者power save<可睡可醒>两种模式),所以PS-Poll frame中的 Power management bit set to 0 ,发送PS-POLL后的STA状态还是省电模式,AP还是会为STA缓存数据,所以要不断发送PS-POLL去不断触发下行数据,直到都缓存数据接收完毕;而不是只发送一次POLL即可。

Automatic Power-Save Delivery (APSD)

801.11e定义的省电机制增加版本,AP会自动将下行数据包缓存并逐步递交给处于省电模式的终端;此处的下行数据包必须是属于AP和客户端预先协商好的接入等级的数据包;

分为两种方式:

•Unscheduled APSD (U-APSD)

•Scheduled APSD (S-APSD)

U-APSD最为常用;S-APSD几乎没有实际使用;

下面重点介绍U-APSD:

首先AP必须在Beacon消息中广播自己是否支持APSD,如下图:**

其次AP和客户端都必须支持802.11e(WMM QOS),也就是支持不同接入等级的QOS flow;而且客户端必须在连接AP过程中,通过(Re)Association Request frames 消息中携带WME QOS Info指示自己希望在哪种接入等级的数据流上启用APSD的省电模式;只有属于此接入等级的下行数据流才能触发AP为其缓存数据包;如下图所示:

其中:

•Max SP Length由客户端自己指定,用来指示客户端在SP(服务周期SP)期间准备接收的最大BU数目

•BU( bufferable unit)表示MAC层的MSDU或者AMSDU

客户端发送一个数据帧,其中 Power Management subfield in the Frame Control field set to 1,用来告诉AP自己进入省电模式,AP开始为其缓存数据包当客户端醒来时候,会发送一个之前协商好的接入等级的数据包来触发AP开始递交缓存的数据包;这个触发数据包trigger frame可以是QOS-Null或者QOS-Data frame,但是所属的接入等级一定要正确;AP在接收到trigger frame后,开始Service Period (SP) 服务周期,递交数据包,但是一个服务周期能够最大递交的数据包个数取决于Max SP Length的大小;数据包里 EOSP(MAC帧头的QOS control IE) 被设置为1,代表SP结束;如果EOSP=1,但是more data 不等于0,说明缓存数据还未递交完成,客户端通过竞争信道可以再次发送trigger frame,触发下个服务周期,继续接收数据;

另外对于不属于指定接入等级的AP缓存数据包,客户端还是采用PS-POLL方式来提取缓存数据包;