WNM sleep mode
前言
WNM睡眠模式是non-AP STA的扩展省电模式,使得non-AP STA能够向AP发出信号,指示其可能睡眠指定的时间长度,期间无需在每个DTIM醒来侦听beacon,且不需要执行GTK/IGTK(group temporal key/integrity group temporal key)更新。从而STA能够在没有业务收发时降低功耗并保持关联。
WNM睡眠模式对于WNM STA是可选的功能。
WNM睡眠模式能力指示
实现了WNM 睡眠模式功能的STA有dot11WNMSleepModeImplemented=true,且同时满足dot11WirelessManagementImplemented=true。
而dot11WNMSleepModeActivated=true(同时dot11TFSActivated=true)则表示该STA支持WNM 睡眠模式,此时STA将Extended Capabilities element.WNM Sleep Mode字段设置为1。当dot11WNMSleepModeActivated为true时,dot11TFSActivated应为true。
IBSS(STA直接通信无需AP,也称ad hoc)中不支持WNM Sleep mode
帧格式
WNM sleep mode request
主要看WNM Sleep Mode Element。
字段 | 说明 |
---|---|
Action Type | |
WNM Sleep Mode Response Status | 只在response中有用,在request中预留 |
WNM Sleep Interval field | Action Type=1(退出)时该字段为预留;否则该字段STA指示了STA醒来接收Beacon的间隔,单位:DTIM数;该字段为0表示STA does not wake up at any specific interval; |
WNM sleep mode response
主要看WNM Sleep Mode Element。
字段 | 说明 |
---|---|
Action Type | |
WNM Sleep Mode Response Status | |
WNM Sleep Interval field | Action Type=1(退出)时该字段为预留;否则该字段STA指示了STA醒来接收Beacon的间隔,单位:DTIM数;该字段为0表示STA does not wake up at any specific interval; |
WNM Sleep流程
non-AP STA operation
non-AP STA发送WNM Sleep Mode Request帧,其中Action Type字段设置为“Enter WNM sleep mode”,并且应包括WNM Sleep Interval字段,以请求进入WNM Sleep mode。WNM Sleep Interval应小于BSS max idle period。
non-AP STA发送WNM Sleep Mode Request帧,其中Action Type字段设置为“Exit WNM sleep mode”,以请求退出WNM Sleep mode。
在WNM Sleep Mode下,对于组寻址帧,non-AP STA不需要每DTIM间隔唤醒一次;non-AP STA不参与GTK/IGTK更新,以不长于WNM Sleep Interval的间隔醒来检查相应的TIM bit或者是否有组播缓存。
STA以不长于WNM Sleep Interval字段指示的值的间隔唤醒,以检查是否设置了相应的TIM位或组寻址的通信量处于挂起状态。非AP STA不参与GTK/IGTK更新。
STA可同时进行WNM Sleep mode和PS mode。
当STA处于WNM Sleep mode和PS mode时,AP根据在AP和STA之间建立的业务过滤协议(traffic filtering agreement)缓存单播帧。
当STA处于WNM Sleep mode但不处于PS mode时,AP和STA之间的业务过滤协议和用于WNM睡眠间隔的定时器保持在原位,并且AP排队以非缓冲传送所有目的地到STA的匹配帧(即,由业务过滤协议匹配)。
AP operation
AP发送WNM Sleep Mode Response帧,其中Action Type字段设置为“Enter WNM sleep mode”,来响应STA进入WNM Sleep mode的请求。
AP发送WNM Sleep Mode Response帧,其中WNM Sleep Mode Response status字段设置为“Exit WNM sleep mode Accept, GTK/IGTK update required”,来响应STA退出WNM Sleep mode的请求。
当关联的STA进入WNM Sleep Mode,AP停止向non-AP STA发送所有单独寻址的mpdu。
当非AP STA处于WNM睡眠模式时,AP可以在任何时候出于任何原因对STA进行disassociate和deauthenticate。
AP不应在WNM Sleep Mode下对STA执行GTK/IGTK更新。
其他
关于WNM Sleep Mode下GTK/IGTK和TFS的处理,详见协议,本文不展开介绍。
参考
《802.11-2020》