[Spec] WiFi P2P Discovery

学习资料:Android Miracast 投屏


目录

学习资料:Android Miracast 投屏

P2P discovery

Introduction

 Device Discovery procedures

 Listen State

Search State

Scan Phase

Find Phase

总结


P2P discovery

Introduction


 

 P2P发现使P2P设备能够快速地找到彼此并形成一个连接。

P2P发现由以下主要组件组成:

  • 设备发现便于两个P2P设备到达一个公共通道上,并交换设备信息(例如,设备名称和设备类型)。
  • 服务发现是一个可选的特性,它允许P2P设备在形成连接之前发现可用的高级服务。
  • 组的形成用于确定哪些设备将成为P2P组的所有者,并形成一个新的P2P组。
  • P2P邀请用于调用持久性P2P组或邀请P2P设备加入现有的P2P组。

 Device Discovery procedures


P2P设备发现的目标是查找P2P设备,并快速确定将尝试连接到的P2P设备。

设备发现包括两个主要阶段:Scan和Find (从中文翻译的意思看是一个意思,下面看区别)

  •  带内设备发现使用探测请求帧(Probe Request Frame)和探测响应帧(Probe Response Frame)来交换设备信息。

 Listen State


  1.  不在P2P组中的P2P设备可以进入Listen State被发现。
  2. Listen State下,一个P2P设备活跃在一个给定的通道上,称为Listen Channel。这是一个从社交频道列表中选择的频道,应使用2.4 GHz频段中的频道1、6、11和DMG内60 GHz频段中的频道2作为社交频道。
  3. Listen Channel应在带内设备发现开始时选择,并在P2P发现完成之前保持不变。
  4. Listen State状态下的P2P设备,在接收到Probe Frame前不得发出任何帧数据。
  5. Listen State状态下只能响应包含P2P IE、P2P通配符SSID元素、通配符BSSID和作为广播地址或其P2P设备地址的目标地址的 Probe Request frames

Search State


Scan Phase


  1. Scan Phase使用在DMG外部操作时的IEEE 802.11-2012 [1]中定义的扫描过程,以及在DMG中操作时的IEEE 802.11-REVmc [11]中定义的扫描过程。P2P设备可以使用P2P设备来查找P2P设备或P2P组,并定位最佳的潜在操作通道,以建立P2P组。
  2. Scan Phase设备通过扫描所有受支持的通道来收集有关周围设备或网络的信息。
  3. Scan Phase的P2P设备不得响应探测请求帧。

Find Phase


 

  1.  查找阶段用于确保执行设备发现的两个P2P设备到达一个公共通道上,以启用通信。
  2. 这是通过在P2P设备在固定通道上等待探测请求或发现DMG信标帧(监听状态)或在固定信道列表(搜索状态)上发送探测请求或发现DMG信标帧的状态之间循环来实现的。通过将在听状态的每个周期中花费的时间随机化,帮助同一通道上的两个设备的收敛。通过将通道列表限制为一个称为社交通道的小集合,收敛时间最小化。
  3. 在查找阶段,P2P设备应在下面指定的监听和搜索状态之间交替使用。

总结


上面的spec文档翻译过来都模模糊糊说不清,下面说人话 !

1. P2P设备发现有两个阶段ScanFind

2. P2P设备工作状态有两个如下:

    Listen :不发送Probe Request Frame,只在收到probe后回复Probe Response Frame。

    Search:只发送Probe Request Frame,不回复Probe Response Frame

3. 在对方的Probe Response Frame,表明回复了我的Probe Request Frame即为发现了设备。

如图:

1. device 1 和device 2 都开始start Discovery,进入scan 阶段,在所有支持的channel上发送Probe Frame。

2. 进入Find阶段,两个device 随机切换Listen 和 search状态,时间间隔随机N*Intervals,在1/6/11三个channel上遇到了2回复了1的probe frame,表示device 1搜索到了device 2.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1064.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SC7514运算放大器(OPA)可pin对pin兼容AD8694

SC751X 系列轨至轨 CMOS 运算放大器针对低电压单电源运行进行了优化。轨至轨输入和输出、低噪声(5nV/√Hz) 和高速运行 (38MHz, 22V/μs) 使得运算放大器非常适合驱动模数 (A/D) 转换器。可pin对pin兼容AD8694。而且也适用于手机功率放大器 (PA) 控制环路和视频处理(75Ω 驱动能…

如何清除浏览器的 DNS 缓存 (Chrome, Firefox, Safari)

如何清除浏览器的 DNS 缓存 (Chrome, Firefox, Safari) Chrome Chromium Edge Firefox Safari clear DNS Cache, flush DNS cache 请访问原文链接:https://sysin.org/blog/clear-browser-dns-cache/,查看最新版。原创作品,转载请保留出处。…

macOS FreeBSD 如何刷新 DNS 缓存

macOS FreeBSD 如何刷新 DNS 缓存 全文:如何刷新 DNS 缓存 (macOS, Linux, Windows) Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, CentOS, Debian, Ubuntu, Windows) 请访问原文链接:https://sysin.org/blog/how-to-flush-dns-cach…

无迹卡尔曼滤波在目标跟踪中的作用(一)

在前一节中,我们介绍了扩展卡尔曼滤波算法EKF在目标跟踪中的应用,其原理是 将非线性函数局部线性化,舍弃高阶泰勒项,只保留一次项 ,这就不可避免地会影响结果的准确性,除此以外,实际中要计算雅各…

机器学习李宏毅学习笔记36

文章目录 前言Meta learning应用总结 前言 Meta learning(二)应用方向 Meta learning应用 回顾gradient descen Θ0(initial的参数)是可以训练的,一个好的初始化参数和普通的是有很大差距的。可以通过一些训练的任务…

2 Prometheus 简介

目录 1. 起源 2. Prometheus 架构 2.1 指标收集 2.2 服务发现 2.3 聚合和警报 2.4 查询数据 2.5 服务自治 2.6 冗余和高可用性 2.7 可视化 3. Prometheus数据模型 3.1 指标名称 3.2 标签 3.3 采样数据 3.4 符号表示 3.5 保留时间 4. 安全模型 5. Prometheus生态…

Dubbo【Dubbo实战(用户更新业务消费者实现、用户删除业务消费者实现、复习内容) 】(六)-全面详解(学习总结---从入门到深化)

目录 Dubbo实战_用户更新业务消费者实现 Dubbo实战_用户删除业务消费者实现 复习内容: Dubbo实战_用户更新业务消费者实现 在Consumer中调用更新用户业务 /*** 根据用户id修改用户名字* param users* return*/Integer updateUsers(User users);/*** 根据用户id查…

物种气候生态位动态量化与分布特征模拟----R语言

在全球气候快速变化的背景下,理解并预测生物种群如何应对气候变化,特别是它们的地理分布如何变化,已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟,不仅可以量化描述物种对环境的需求和适应性,预…

掌握Python的X篇_4_开发工具ipython与vscode的安装使用,作业

本篇将会介绍两个工具的安装及使用来提高Python的编程效率。 ipython:比python更好用的交互式开发环境vscode:本身是文本编辑器,通过安装相关的插件vscode可以作为python集中开发环境使用 掌握Python的X篇_4_开发工具ipython与vscode的安装使…

TipDM数据挖掘建模平台产品功能特点

TipDM数据挖掘建模平台是可视化、一站式、高性能的数据挖掘与人工智能建模服务平台,致力于为使用者打通从数据接入、数据预处理、模型开发训练、模型评估比较、模型应用部署到模型任务调度的全链路。平台内置丰富的机器学习、深度学习、人工智能算法,可覆…

Lecture 8 Deep Learning for NLP: Recurrent Networks

目录 Problem of N-gram Language Model N-gram 语言模型的问题Recurrent Neural Network(RNN) 循环神经网络RNN Language Model: RNN 语言模型Long Short-Term Memory Model (LSTM) 长短期记忆模型(LSTM)Gating Vector 门向量Forget Gate 忘记门Input G…

C#核心知识回顾——3.继承构造、拆装箱、多态

1.继承中的构造函数: 特点: 当申明一个子类对象时 先执行父类的构造函数,再执行子类的构造函数注意!!: 1.父类的无参构造很重要 2.子类可以通过base关键字代表父类调用父类构造 public class Mot…