关联帧有几个重要信息:
因为关联帧代表着会话的建立,因此,与会话相关的参数会放在关联帧.
不适合在一个会话中间动态调整的参数有:
1.Listen Interval
IPHONE6苹果手机为0x14即20,意思是告诉AP:"HELLO AP,当我进入省电休眠时,经过20个BEACON帧的时间周期,我会醒来,
向你主动获取一下这一段时间你所缓存的数据信息并取走有关数据.在这个周期内,请注意不要弄丢了我的数据.至于超过了这个周期嘛,
弄丢了就是我自己的错".
这里的疑问是:按这个协议,AP要为STA缓存帧,必然要有内存开销,那能够缓存多少,AP一定能够保证缓存这么久的数据吗?
事实上,AR9344的缺省实现成:为每个终端进入省电模式时准备了两个长度为50的队列,一用于管理帧缓存,另一个用于数据帧缓存.
超过就丢弃.显然,突发时,20个BEACON帧大约20*100=2秒,假如在2秒内突发超过50个报文,则数据帧队列有可能是不够的,
这个场景应该还是比较多见,特别是在终端时不是缓存一批视频数据的过程中.相比之下,管理帧应该足够.
所以,这个队列长度值得探讨.
另一个疑问是:有没有规定一个最大,比如苹果手机把这个值设得太大100,那有哪个AP能吃得消为每个终端缓存这么多数据?
AP究竟关不关注这个值呢?还是只用来作老化用? AR9344将老化时间设为终端LISTEN INTERVAL的4倍.
2. QOS信息
在这里,STA通知AC,哪一个AC队列是使能UAPSD机制的.对于不支持UAPSD机制的队列数据,STA只能使用旧的PS-POLL机制来获取.
不过,现在大多数终端,包括IPHONE6都还不支持UAPSD机制.捕包发现它们都将这个域置0.