WIFI P2P架构

定义

Wi-Fi Peer-to-Peer(P2P) Technical Specification
目的:多个设备在没有AP的情况下能够构成网络相互连接并通信。
p2p也是display的基础,用于智能终端多屏共享

架构

多个deivce通过p2p协议协商成为一个GO+多个client
在这里插入图片描述

3个组件

p2p device:即wifi设备
p2p group owner(GO):类似于AP
p2p client:类似于STA

组织结构

组建p2p group之前,智能终端都是p2p device
多个p2p device经过p2p协议协商之后,其中一个设备作为GO,其他设备作为client
其中不支持p2p功能的设备称为legacy client

技术标准

协议版本:802.11g及以上
安全要求:WPA2,WSC
共享媒体数据:WMM
P2P协议:
P2P Discovery(构建一个群组);
P2P Group Operation(管理一个群组);
P2P PowerManagerment;
Managed P2P Device Operation

P2P Discovery

目的:使多个devices相互发现并组成一个group

4个 技术项:
Device Discovery:扫描,搜索周围支持P2P的设备
Service Discovery:搜索指定的服务
Group Formation:组网,用于决定谁是GO谁是client
P2P Invitation:激活一个Persistent Group,邀请一个Client加入一个当前已存在的Group

在这里插入图片描述

Device Discovery(扫描)

两个设备,在discovery阶段,在同一时间,使用同一个信道,一个处于search state发送probe req,一个处于listen state接收probe resp,
在这里插入图片描述

管理帧:使用probe req和probe resp

状态:有search和listen两种状态
search state:在2.4GHz的1,6,11频段上分别发送Probe Request帧
listen state: 随机选择在1,6,11频段中的一个频段,监听Probe Request帧并回复Probe Response帧(Listen Channel一旦选择好后,在整个P2P Discovery阶段就不能更改

阶段:有scan和find两个阶段
Scan Phase:扫描阶段,在各个频段上发送Probe Request帧(主动扫描)
Find Phase:在Search State和Listen State之间来回切换

流程

P2P Discovery启动,进入Scan阶段,该阶段在各频段发送probe req;
Scan阶段完成后,Listen Channel确定1个,进入Find阶段;
Find阶段listen 和search阶段来回切换;
为避免一直同时处于相同状态,规定Listen State的时间规定100TU的随机整数倍(1-3);
如图所示当一端在search state发送probe req,一端在listen state接收并回复probe resp,则设备扫描成功。

p2p probe 管理帧

重点信息字段:SSID,WSC IE,P2P IE
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

日志关键打点

扫描入口函数“wpas_p2p_find”
扫描三种类型:
P2P_FIND_START_WITH_FULL:默认设置。表示先扫描所有频段,然后再扫描socialchannels
P2P_FIND_ONLY_SOCIAL:只扫描social channels
P2P_FIND_PROGRESSIVE:它和P2P_FIND_START_WITH_FULL类似,只不过在SearchState阶段将逐个扫描所有频段

type=0, use default full scan  //使用默认全频段扫描方式
starting search    //启动search
starting short listen state  //启动listen
NL80211_CMD_REMAIN_ON_CHANNEL   //wifi驱动固定在一个频段一段时间,listen
NL80211_CMD_FRAME //接收到req
NL80211_CMD_FRAME_TX_STATUS. //本机发送resp上报
**P2P-DEVICE-FOUND   //发现p2p设备,SSID为“DIRECT-”**
NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL  //取消频段固定

Group Formation(组网)

设备发现之后,开始构造一个P2P Group

GO Negotiation(GON)流程

在这里插入图片描述
GON流程包括GON Request、GON Response和GON Confirmation三次帧交换。双方交换一些信息,确认谁来扮演GO。主要包括GO Intent渴望程度等。

P2P Public Action管理帧

重点信息字段:P2P IE
在这里插入图片描述

Provision Discovery(PD)流程

目的:利用WSC交换安全配置信息

PD帧

PD Request接收者支持发送者设置的WSC配置方法,则它在PD Response帧中将设置相同的Config Method属性值,否则设置Config Method值为0
重点信息字段:WSC IE的Config Method属性
在这里插入图片描述

P2P状态机

在这里插入图片描述
scan
在这里插入图片描述
find listen
在这里插入图片描述

find search
在这里插入图片描述

Group Formation Procedure GON
在这里插入图片描述

Operational Phase P2P GO
在这里插入图片描述

Operational Phase P2P Client
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/htt789/article/details/129443033
P2P