您的位置:首页 > 游戏 > 游戏 > 武汉品牌策划设计公司排行_html个人网页完整代码模板_市场营销方案怎么写_广州网站优化多少钱

武汉品牌策划设计公司排行_html个人网页完整代码模板_市场营销方案怎么写_广州网站优化多少钱

2025/4/24 8:11:33 来源:https://blog.csdn.net/htt789/article/details/147269914  浏览:    关键词:武汉品牌策划设计公司排行_html个人网页完整代码模板_市场营销方案怎么写_广州网站优化多少钱
武汉品牌策划设计公司排行_html个人网页完整代码模板_市场营销方案怎么写_广州网站优化多少钱

NOA定义

NOA(Notice of Absence)是一种节能管理机制,允许 P2P 设备(如手机、智能家居设备)协商休眠和唤醒时间,以优化功耗和协调共存。由 GO 协调休眠,客户端被动适应

  1. NOA 的作用
    • 节能:P2P 设备(如 IoT 设备)可以周期性休眠,减少功耗。
    • 信道共享:协调多个 P2P 设备的活跃/休眠时间,避免冲突。
    • 共存优化:在 Wi-Fi 和 P2P 混合网络中,避免与普通 Wi-Fi STA 竞争信道

流程

休眠唤醒

A STA can be in one of two power states:
Awake: STA is fully powered.
Doze: STA is not able to transmit or receive and consumes very low power.

a AP can be in one of two power states:
Present:唤醒
Absent: 休眠

TBTT

Beacon帧会按预定的时间间隔发送,这个时间被称为目标信标传输时间(TBTT)。

NOA协商流程

GO发送beacon中携带P2P字段中告知GC asent和present时间窗。GC根据NOA窗口和自身PS决定休眠。

client1有数据业务:GO发送beacon(p2p-NOA),GC接收按照GO的时间窗口休眠唤醒;在唤醒期间向GO发包,到了NOA absent时间后则停止发包进入休眠;到了NOA present时间后唤醒继续发包。

client2没有数据业务:GO发送beacon(p2p-NOA)到GC,由于GC没有数据需要发送,无需等到NOA absent窗口再睡,可在接收到beacon后直接进入doze,达到进一步节省功耗效果。
在这里插入图片描述
GO:present由NOA时间和自身PS决定。
GC:awake由本身PS决定。如果GC没有数据要发送,则在接收beacon之后可继续睡下去而不用先醒然后等待noa窗口时间到了再睡,节省功耗。

beacon p2p-NOA

GO发送beacon,携带P2P字段,告知GC,一个TBTT 100ms;休眠窗口80ms;唤醒窗口20ms;
在这里插入图片描述
CTwindow:告知client还有多少单位时间可以发送数据给owner Opportunistic Power Save :当为1时,CTwindow才会生效
Duration:表示owner休眠时间
Interval:表示周期间隔时间

Count:表示当前是剩余到少次静默,255为持续静默
StartTime: go静默的开始时间,根据最近的TSF timer生成,每2的31次方us更新一次

wireshark

过滤P2P Action Frames

wlan.fc.type_subtype == 0x0d  # P2P Action Frame

NOA+数据业务

1.GO有数据要发送给GC,发送的beacon中携带DTIM
在这里插入图片描述

2.GC接收到包含dtim的beacon后,发送NULL data(ps=0),通知GO已经唤醒,可以收包了
在这里插入图片描述

3.GO接收到ps=0后开始发送缓存包,在NOA present窗口内持续发送。

4.GO到达absent时间窗后停止发包;此时GC也到达doze时间需要先发送一个null data(ps=1)通知GO,然后进入doze。GO接收到后进入absent。

5.GO到达present时间窗口唤醒;GC此时也达到awake时间,发送null data(ps=0)通知GO。
在这里插入图片描述

分析仪波形

在这里插入图片描述

wpas使用方式

设置GO NOA

wpa_cli -ip2p-dev-wlan0
# 设置 NOA(Count=无限,Duration=200ms,Interval=1s)
set p2p_noa 255 200 1000
# 启动 P2P GO
p2p_group_add

查看NOA状态

p2p_get_noa

常见问题

GO和GC时间窗口对不齐

1.GC端noa窗口规律性偏移:GC端对于GO发送的beacon tsf会进行硬件的偏差补齐。如果偏差补齐错误可能会导致GC端noa窗口与GO端对不齐,导致noa窗口规律性偏移。

2.GO端 absent窗口和noa窗口对不齐:GO的PS机制可能会导致GO在noa absent窗口期间无法进入休眠,排查GO休眠唤醒源,可能有host侧通知device侧的IPC通知消息一直发送等情况存在,导致休眠时间晚了GO一直在线。

数据不在窗口内发包导致丢包

GC睡眠模式跟随NOA,唤醒模式跟随PS;
1.GC在一个timer时间内没有接收到AP数据会进入休眠,等待DTIM。此时如果GO开始缓存数据,等到GC接收到DTIM唤醒的期间,数据一直缓存。DTIM count如果设置太大,GC在count个interval之后才会唤醒开始收数据,可能会导致GO端内存不足而丢包。

连接断开问题

1.客户端无法连接:NOA休眠时间太长

2.连接probe失败问题:GC进入休眠但是发送null data(ps=1)失败的情况(软件问题),此时GO认为GC仍然在线,GO进入absent后恢复present,此时GO发送probe(null data)探测GC是否在线,因为此时GC进入休眠无法回复,GO认为GC已离线,但其实GC仍在线只是进入了休眠。优化方案:在GC想进入休眠发送null data(ps=1)失败后,保持GC不进入休眠保持唤醒状态,配置其一直在线。

参考文档

https://pan.baidu.com/s/1Cn3J6lLfuSkWTA_sHkC_kw

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com