邓凡平WIFI学习笔记5: P2P

2023-05-16

P2P Device:它是P2P架构中角色的实体,可把它当做一个Wi-Fi设备。

·P2P Group Owner:Group Owner(GO)是一种角色,其作用类似于Infrastructure BSS中的AP。

·P2P Client:另外一种角色,其作用类似于Infrastructure BSS中的STA。

 

为了保证一定的传输速率,P2P要求P2P Device必须支持802.11g及以上的规范。其中,安全部分必须支持WPA2。

P2P Client关联到GO之前,需要先通过WSC来协商安全信息,所以WSC也是P2P的依赖技术项。

 

P2P Discovery的作用很简单,就是使多个P2P Device能够互相发现并构建一个Group。根据规范,它包括四个主要技术子项。

·Device Discovery:用于P2P设备搜索周围其他支持P2P的设备。

·Service Discovery:该Device Discovery基础上,P2P还支持搜索指定的服务。这部分功能属于可选项,笔者觉得它和2.2.5节中提到的Bonjour类似。

·Group Formation:用于决定两个P2P Device谁来扮演GO,谁来扮演Client

·P2P Invitation:用于激活一个Persistent Group(见下文解释),或者用于邀请一个Client加入一个当前已存在的Group

提示 GroupPersistent(永久性)GroupTemporary(临时性)Group两种。

 

·Scan Phase:扫描阶段。这一阶段和前面章节介绍的无线网络扫描一样,P2P Device会在各个频段上发送Probe Request帧(主动扫描)。P2P Device在这一阶段中不会处理来自其他设备的Probe Request帧。

·Find Phase:虽然从中文翻译来看,Scan和Find意思比较接近,但P2P的Find Phase却和Scan Phase大不相同。在这一阶段中,P2P Device将在Search State和Listen State之间来回切换。Search State中,P2P Device将发送Probe Request帧,而Listen State中,它将接收其他设备的Probe Request帧并回复Probe Response帧。

 

 

对Probe Request帧的要求。

·SSID IE必须设置为P2P Wildcard SSID,即"DIRECT-"。

·必须包含P2P IE。

P2P规范定义了两种类型的地址,一种是P2P Device Address,另外一种是P2P Interface Address。一个P2P Device在加入P2P Group前,将使用Device Address开展Device Discovery等工作。对一个P2P Device而言,其P2P Device Address是唯一的(作用等同于MAC地址)。而当P2P Device加入P2P Group后,它和Group中其他成员交互时将使用P2P Interface Address。

 

Action帧Frame Body的结构比较简单,仅包含Category和Action Detail两个部分,Action Detail随Category的不同而变化。常用的Category[7]如下。

·值为0,表示Spectrum Management,用于Spectrum Measurement。

·值为4,表示Public,P2P规范会使用这种类型的Action帧。

·值为5,表示Radio Management,它和Radio Measurement有关。

·值为127,表示Vendor Specific,它和具体的厂商有关。P2P规范也会使用这种类型的Action帧。

如上所述,P2P将使用Public Action和Vendor Specific这两种类型

首先是GO Intent属性,该属性代表发送设备扮演GO的渴望程度,其内部包含一个名为GO Intent的字段。该字段长1字节,目前使用的仅是该字节的前八位。

·第0位叫做"Tie Breaker"(意思为决胜因素),Tie Breaker的取值为随机的0或1。

·第1~7位为Intent值,取值为0~15。值越高,代表越想成为GO。15表示该发送设备必须充当GO的角色。Intent默认值为7。

·一般情况下,Device A和Device B的GO Intent都将使用默认值(值为7)。这种情况下,Tie Breaker的取值是关键,该字段值为1的Device A将成为GO。由于Tie Breaker为随机值,所以两个设备的Tie Breaker取值相同的几率非常低。

 

2.4GHz(Operating Class为81)包含1,6,11三个频道

5GHz(OperatingClass为124)包含4个频道,分别是149(0x95)、153(0x99)、157(0x9D)和161(0xA1)。

 

Provision Discovery包含PD Request和PD Response两次帧交换,其中起到决定作用的信息是WSC IE的Config Method属性Provision Discovery是为了加快Group Formation速度而设计的一种方法,它能在Group Formation正式开始前通知用户输入与WSC安全配置相关的信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

邓凡平WIFI学习笔记5: P2P 的相关文章

  • 【python】Notebook

    CONTENT 1 小Tips三元运算符平均数 np mean range 与 np arange 求最大 小值及索引值合并 list 为字符串剪切板模块 pyperclip将秒数转化为小时分钟秒 2 数学随机数 3 文件相关按分隔文件路径
  • 【Mac】Mac 系统读写 NTFS 格式硬盘

    查看磁盘 typename diskutil list 更新 etc fstab文件 sudo vim etc fstab 写入如下内容 xff1a LABEL 61 GRMCULXFRER none ntfs rw auto nobrow
  • 小米路由器青春版刷入其他固件

    小米路由器青春版搭载的是基于OpenWRT深度定制的智能路由器操作系统MiWiFi ROM xff0c 实质即嵌入式linux系统 小米路由器青春版自带的miwifi r1cl all 59371 2 1 26 bin及其以下版本中存在通过
  • 【数据结构】排序算法

    不稳定的排序算法 xff1a 快排 堆排 选择 希尔 排序算法时间复杂度空间复杂度稳定性冒泡 xff08 Bubble Sort xff09 O n 2 O 1 稳定快排 xff08 Quick Sort xff09 O n logn O
  • 【数据结构】POJ 1985 Cow Marathon(树的直径)

    链接 xff1a http poj org problem id 61 1985 题意 xff1a 有 n n n 个农场和 m m m 条路 xff0c 以及每条
  • 【C#】接口的基本概念

    目录 基本 什么是接口接口与抽象类的区别 抽象类接口实例 设计接口 基本 什么是接口 C 接口 interface 是 xff1a 用来定义一种程序的协定 实现接口的类或者结构要与接口的定义严格一致 有了这个协定 xff0c 就可以抛开编程
  • 部署Sonic编译服务器

    编译Sonic环境 部署Sonic编译环境编译准备开机自动挂载硬盘创建用户安装 Docker开始编译 部署Sonic编译环境 先给服务器安装 Ubuntu20 04 02 系统 xff0c Sonic编译 Github 链接 sonic b
  • 【闲聊STP/RSTP】

    闲聊STP RSTP xff08 Spanning Tree Protocol xff09 STP xff08 Spanning Tree Protocol xff09 xff0c 1998年IEEE提出的802 1D协议 xff0c 它是
  • 实现云弹性的一种方法—系统和混沌测试

    在当今数字技术时代 xff0c 停工就意味着停机 xff0c 构建弹性云结构势在必行 例如 xff0c 在新冠疫情期间 xff0c IT 维护团队不能再在本地重新启动数据中心的任何服务器 如果本地硬件出现故障 xff0c 这可能会导致访问所
  • 如何选择云数据库?

    无论你是在建立你的第一个还是第五十个应用程序 xff0c 选择一个数据库是最困难的选择之一 这将是你做出的第一个决定之一 xff0c 也可能是在你的应用程序中根深蒂固的一个决定 由于有大量优秀的数据库可用 xff0c 而且有大量现成的信息可
  • Hbase(一)入门

    Hbase xff08 一 xff09 一 Hbase概述1 简介2 Hbase数据模型3 Hbase简化架构4 写数据5 MemStore Flush6 读数据7 StoreFile Compaction 二 Hbase安装1 Hbase
  • 解决properties文件读取中文乱码

    版权声明 xff1a 本文为博主原创文章 xff0c 遵循 CC 4 0 BY SA 版权协议 xff0c 转载请附上原文出处链接和本声明 本文链接 xff1a https blog csdn net qq 39237513 article
  • gcc下载地址(Linux/windows安装)

    gcc官网 xff1a http gcc gnu org gcc镜像站点 xff1a https gcc gnu org mirrors html 各版本下载地址 ftp ftp mirrorservice org sites source
  • 树莓派系统镜像备份

    SD卡系统镜像备份 引言1 下载镜像备份脚本2 查看sd卡设备名称3 复制镜像4 压缩镜像 引言 SD卡系统镜像备份有多种方式 xff0c 最简单粗暴的是使用Win32diskImager工具 xff0c 将SD卡的镜像直接读取 xff0c
  • 不同版本mysql-connector-java的jar包下载地址

    jar包下载方式 官网地址 xff1a MySQL Download Connector J xff0c 如果你打不开官网 xff0c 在下面我为你准备了直接下载jar包的链接地址 在选择操作系统时 xff0c 此处选择platform i
  • 需要来自administrators的权限才能对此文件夹进行更改

    1 右键文件夹 xff0c 选择 属性 2 选择 安全 3 选择 高级 4 选择 更改 5 选择 高级 6 选择 立即查找 7 选择 Administrators xff0c 然后点击确定 8 再次点击 确定 9 选择 替换子容器和对象的所
  • 远程计算机或设备不接受连接解决方法

    当你的电脑浏览器不能正常上网时 xff0c 显示 点击网络诊断 xff0c 显示远程计算机或设备将不接受连接 解决办法 xff1a 1 点击左下角开始 xff0c 点击运行 xff0c 输入inetcpl cpl xff0c 点击确定 xf
  • Navicat 右键刷新没用

    Navicat 右键刷新没用 xff0c 点下方刷新图标才有用 右键刷新应该是刷新表结构 xff0c 下方刷新图标是刷新这张表的数据
  • leetcode 150. 逆波兰表达式求值

    题目描述 xff1a 给你一个字符串数组 tokens xff0c 表示一个根据 逆波兰表示法 表示的算术表达式 请你计算该表达式 返回一个表示表达式值的整数 注意 xff1a 有效的算符为 39 43 39 39 39 39 39 和 3
  • leetcode 239. 滑动窗口最大值

    题目描述 xff1a 给你一个整数数组 nums xff0c 有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧 你只可以看到在滑动窗口内的 k 个数字 滑动窗口每次只向右移动一位 返回 滑动窗口中的最大值 样例 xff1a 示例

随机推荐