WIFI P2P架构
WI-FI P2P
- 定义
- 架构
- 3个组件
- 组织结构
- 技术标准
- P2P Discovery
- Device Discovery(扫描)
- 流程
- p2p probe 管理帧
- Group Formation(组网)
- GO Negotiation(GON)流程
- P2P Public Action管理帧
- Provision Discovery(PD)流程
- PD帧
- 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

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

相关文章:
WIFI P2P架构
WI-FI P2P定义架构3个组件组织结构技术标准P2P DiscoveryDevice Discovery(扫描)流程p2p probe 管理帧Group Formation(组网)GO Negotiation(GON)流程P2P Public Action管理帧Provision Discoveryÿ…...
架构师之中台思维_系统发展之路_结果和抽象之间平衡的艺术
父文章 如何成为一名架构师,架构师成长之路_golang架构师成长之路_个人渣记录仅为自己搜索用的博客-CSDN博客 任何系统的发展都是如此. 1. 业务增长 2. 烟囱增长 _ 结果优先 _ 太快去抽象抽象不好 3. 太多的烟囱, 3.1 抽象复用为平台 3.2 面对更多新的业务,提供不同的枚举值…...
23届非科班选手秋招转码指南
1.秋招情况介绍 1.1自我介绍 我是一名23届非科班转码选手,本硕均就读于某211院校机械专业,秋招共计拿下12份offer,包括大疆创新、海康威视、联发科技、理想汽车、中电28、阳光电源等各行业、各种性质企业的意向。主要的投递岗位为嵌入式软件…...
《传感器技术》考试学习笔记
文章目录一、选择题二、简答题1.什么是传感器?传感器的共性是哪些?2.差动变气隙式传感器电感传感器的灵敏度推导过程是什么(推导公式)?与单极性进行比较它们的优缺点是哪些?3.霍尔传感器如何进行微位移测量…...
第十五章 opengl之高级OpenGL(模板测试)
OpenGL模板测试模板函数物体轮廓模板测试 当片段着色器处理完一个片段后,模板测试就会开始执行。类似于深度测试,模板测试也可能会丢弃片段。被保留的片段会进入深度测试,可能会丢弃更多的片段。 模板测试是根据模板缓冲来进行的。一个模板缓…...
【C语言蓝桥杯每日一题】—— 单词分析
【C语言蓝桥杯每日一题】—— 单词分析😎前言🙌单词分析🙌总结撒花💞😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者…...
Web2:Tomcat
二.Web2:Tomcat 1.Tomcat的配置 2.Tomcat的工作方式 3.Tomcat服务器的虚拟映射 4.Tomcat部署到IDEA中使用 二.Web2:Tomcat 1.Tomcat的配置 ①安装下载Tomcat 配置好JAVA_HOME启动时保证端口号8080不被占用 ②下载后的目录结构 bin 启动或关闭to…...
C++语法规则2(C++面向对象)
继承 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。 当创建一个类时,您不需要重新编写新的数据成员和成…...
第八批国家药品集中采购-(附药品集采目录明细下载)
2023年3月2日,‘国家组织药品联合采购办公室’发出了《全国药品集中采购文件》,宣告了第八批国家组织药品集中采购工作正式开展,其公告中还包含三个附表分别为‘采购品种目录’、‘各地区首年约定采购量’、‘各采购品种首年约定采购量’&…...
政府工作报告连提9年科技创新 企业研发如何“又快又好”
今年的政府工作报告, “科技创新” 这一描述连续出现7次,这也是自2015年开始, “科技创新” 这一概念在全国“两会”政府工作报告中连续九年被提到。政府工作报告指出,科技政策要聚焦自立自强,完善新型举国体制&#x…...
GM8773C 是一款 1:2 DSI 桥接芯片,可实现 4 路进 8 路出转换器功能、视频分离器功能。
GM8773C 是一款 1:2 DSI 桥接芯片,可实现 4 路进 8 路出转换器功能、视频分离器功能。芯片内集成了一个 4 路单一链路的 MIPI DSI 接收器和 8 路双链路 MIPI DSI 发送器。 接 收 器 每 路 可 以 支 持 到 2.0Gbps/lane , 可 以 最 高 支 持 到…...
Java常用包名和说明
包名主要功能java.applet提供了创建applet需要的所有类java.awt.*提供了创建用户界面以及绘制和管理图形、图像的类java.beans.*提供了开发Java Beans需要的所有类java.io提供了通过数据流、对象序列以及文件系统实现的系统输入、输出java.lang.*Java编程语言的基本类库java.ma…...
dva01-初识
背景 React 本身只是一个 DOM 的抽象层,使用组件构建虚拟 DOM。如果开发大应用,还需要解决一个问题。 通信:React 只提供了一种传参手段,后续数据变化非常麻烦,无法适用于大应用。数据流:每次要更新数据&…...
信捷 XDH Ethercat A_WRITE指令
本指令修改指令轴的当前位置。 什么时候需要用本指令呢?换句话说,用本指令后,坐标原点修改了偏移了。如果在回原点后,往前走了一段距离x,如果是用绝对模式执行把位置修改成0,那么下一次开始每次做绝对运动A_MOVEA&…...
Spring Cloud ( Eureka集群的搭建 )
操作步骤: 添加主机映射创建Eureka服务 导入依赖编写启动类编写yml复制服务实例测试一、添加主机映射 以 Windows系统为例,如果要构建集群,需要修改 hosts 文件,为其添加主机名的映射。 打开C:\Windows\System32\drivers\etc\h…...
Python re 模块
正则表达式是一种小型、高度专业化的编程语言。适用于任何语言,在 Python 中通过 re 模块实现。正则模式被编译成一系列的字节码,然后由 C 语言编写的匹配引擎执行。给字符串模糊匹配 正则用于匹配字符串,匹配字符串可以完全匹配和模糊匹配&…...
为什么越来越多的人开始学习大数据
因为根据国内的发展形势,大数据未来的发展前景会非常好,前景好需求高,自然会吸引越来越多的人进入大数据行业 我国市场环境处于急需大数据人才但人才不足的阶段,所以未来大数据领域会有很多的就业机遇。 2022年春季,…...
【C++】C++核心编程(二)---引用
1.基本语法 作用:给变量起别名 语法:数据类型 &别名 原名(int &b a,其中别名与原名的数据类型必须一致) 注意事项: 引用必须初始化引用在初始化后,就不可以再改变了 代码演示&am…...
原型设计模式
介绍 原型模式 在Java中,原型模式是一种创建型设计模式,它允许通过复制一个现有对象来创建一个新对象,而不是通过创建新的对象来初始化一个对象,原型模式是一种基于克隆的设计模式,通过复制现有对象的数据来创建新的对象. 原型模式需要实现Cloneable接口并重写Object类中的c…...
JVM结构-类加载(类加载子系统,类加载的角色,类加载的过程,类加载器分类,双亲委派机制,类的主/被动使用)
JVM 结构-类加载2.1类加载子系统2.2类加载的角色2.3类加载的过程2.3.1加载2.3.2链接2.3.3初始化2.4类加载器分类2.4.1 引导类加载器2.4.2扩展类加载器2.4.3应用程序类加载器2.5双亲委派机制2.6类的主动/被动使用2.1类加载子系统 类加载器子系统负责从文件系统或者网络中加载 cl…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
