WMM-PS的U-APSD(5)

传统省电模式

传统省电模式接收数据过程如下图所示。每发送一个ps-poll才能得到一个data frame。影响了效率。

STA AP ps-poll data1 more data bit=1 ack 没有被AP收到 当STA没有正确ack时,AP不会清除缓存的这一包 ps-poll data1 more data bit=1 ack ps-poll data2 more data bit=0 ack STA接收到AP缓在存的所有包 STA AP

更有效的做法是:当从beacon的TIM帧中发现AP有缓存的包时,STA发送Null data power bit =0直接退出省电模式,这样AP再把缓存的包发给STA,避免了反复发ps-poll。

U-APSD信息协商

U-APSD全称Unscheduled Automatic Power Save Delivery,是802.11e引入的带有优先级的省电模式。主要针对是单播QoS-Data 和QoS-Null frame。

AP在Beacon,Probe response和Association respnse中会带WMM Information Element,其中QoS Info Field会被来声明自己支持U-APSD功能。
WMM Information Element

QoS Info field when sent from WMM AP
QoS Info field when sent from WMM AP
U-APSD: 为1时代表支持U-APSD功能。
Parameter Set Count: 可以初始化为任意值,通常为0,每当AC Parameter变化时,这个值会自加。

当STA连接AP时,在Assocication request中会带QoS Info field。这里会告诉AP,STA是否支持trigger-enabled和delivery-enabled,以及每个服务周期AP最多能给STA发多少个MSDU 和MMSDU。这为后面的U-APSD功能打下基础。

QoS Info field when sent from WMM STA
QoS Info field when sent from WMM STA
Max SP Length subfield: 一个服务周期中,AP可以发给STA 最多发送多少个MSDU 和MMSDU。如下表。
Max SP Length Usage
AC_XX U-APSD Flag: 1- 对应的AC trigger-enabled和delivery-enabled。 0- 对应的AC non trigger-enabled和 non delivery-enabled。

U-APSD省电流程

  1. 当AP为STA缓存了包时,会在beacon帧的TIM中置位,通知STA,这个与传统省电模式一样。
  2. STA发送Trigger Frame with power bit =0 开启一个服务周期。Trigger Frame可以是一个QoS的Data,也可以是QoS的NUll data。AP会根据QoS Control Field中的UP字段确定发送哪个AC的缓存包。当这个服务周期结束前,STA将一直处于Active状态,等待收包。STA收到AP缓存包时,检查QoS Control Field中的EOSP字段,为1代表当前服务周期结束。

QoS Control Field
QoS Control Field
EOSP:End of Service Period,为1代表结束。
UP:是上层的优先级,0~7。通过802.1D映射到AC(BK/BE/VI/VO)。

  1. AP根据UP得出STA请求的AC,然后将该AC的缓存包发给STA。AP至少要发一个包或是发 Max SP Length个包。
  • 比如当AP发现STA请求的AC中没有任何包时,这时至少要发一个QoS Null data(more data bit=0 EOSP=1)。
  • 当然也有可能本服务周期结束时,缓存的data还没有传完,这时最后一包的data会是more data bit=1, EOSP=1,等待STA后面再发Trigger Frame。
  • AP可能遇到STA要求的AC没有trigger-enabled和delivery-enabled,这时也会发QoS Null data(more data bit=0 EOSP=1)。

最后用下图描述一次U-APSD的过程。

AP STA beacon(TIM IE) 指示有缓存包,STA进入Active Mode trigger frame(UP=6 vo power bit=0) ack vo data1(more data=1 EOSP=0) ack vo data2(more data=1 EOSP=1) ack 服务周期结束STA,但data还没有收完。 trigger frame(UP=6 vo power bit=0) ack vo data3(more data=0 EOSP=1) ack data收完,服务周期结束,STA进入Sleep Mode。 AP STA
  • 7
    点赞
  • 24
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

毕恳真

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值