Wi-Fi Direct (P2P)原理及功能介绍

目录

  • Wi-Fi Direct (P2P)介绍
    • Wi-Fi Direct P2P 概述
    • P2P-GO(P2P Group Owner)
    • 工作流程
  • wifi-Direct使用
    • windows11 wifi-direct
    • Openwrt
    • wifi的concurrent mode
  • Linux环境下的配置工具
  • 必联wifi芯片P2P支持
  • REF


Wi-Fi Direct (P2P)介绍

Wi-Fi Direct P2P 概述

  • 定义:Wi-Fi Direct P2P 是一种允许支持相应硬件的设备无需中间接入点,直接通过 Wi-Fi 相互连接的技术。
  • 特点
    • 便捷性:设备之间可以快速、直接地建立连接,无需依赖传统的无线路由器或接入点,方便在没有网络基础设施的环境中使用。
    • 高速性:能够提供比蓝牙等其他短距离通信技术更高的数据传输速率,适用于大文件传输、高清视频流媒体等对带宽要求较高的应用。
    • 安全性:采用了与传统 Wi-Fi 网络相似的安全机制,如 WPA2 加密等,确保设备之间通信的安全性。
    • 兼容性:不同制造商的符合 Wi-Fi Direct 标准的设备之间可以相互连接和通信,具有较好的兼容性。

P2P-GO(P2P Group Owner)

  • 定义:在 Wi-Fi Direct P2P 网络中,P2P-GO 是指 P2P 组的所有者,也被称为软接入点(Soft-AP)。
  • 作用
    • 网络管理:负责管理 P2P 组内的设备连接、数据传输和网络资源分配等。其他设备需要通过与 P2P-GO 建立连接来加入 P2P 组并进行通信。
    • 服务提供:可以提供网络接入、文件共享、打印服务等功能,使其他设备能够访问和使用这些服务。
    • 设备发现:在 P2P 组形成过程中,P2P-GO 通常会参与设备发现和协商过程,确定哪些设备可以加入 P2P 组以及它们的角色和权限。

工作流程

  1. 设备发现:支持 Wi-Fi Direct P2P 的设备在开启该功能后,会自动搜索附近的其他 P2P 设备。设备可以通过发送探测请求和接收探测响应来发现其他设备的存在。
  2. P2P 组形成:在发现其他设备后,设备之间会进行协商,确定哪个设备将成为 P2P-GO。这可以通过自动协商或手动指定的方式进行。一旦确定了 P2P-GO,其他设备就可以向 P2P-GO 发送连接请求,请求加入 P2P 组。
  3. 连接建立:P2P-GO 收到连接请求后,会对请求进行验证和授权。如果请求合法,P2P-GO 会与请求设备建立连接,并为其分配一个唯一的 IP 地址。连接建立后,设备之间就可以开始进行数据传输和通信。
  4. 数据传输:在 P2P 组内,设备之间可以通过 TCP/IP 协议或其他应用层协议进行数据传输。P2P-GO 会负责转发数据帧,确保数据能够在组内的设备之间正确传输。
  5. P2P 组拆除:当设备之间的通信结束或需要断开连接时,设备可以向 P2P-GO 发送拆除连接的请求。P2P-GO 收到请求后,会释放相关的网络资源,并拆除与该设备的连接。如果 P2P 组内的所有设备都断开连接,P2P 组将自动解散

wifi-Direct使用

windows11 wifi-direct

使用IPCONFIG /ALL可查看设备是否支持p2p.

image-20250106095209898

win11可通过wifi-direct连接支持p2p的显示器或打印机等设备。

image-20250106095131592

Openwrt

Openwrt平台下, iw命令查询Supported interface modes:字段, 可显示当前wifi网卡支持的模式。P2P-client、P2P-GO表明其支持wifi-direct。

iw list
Wiphy phy0wiphy index: 0max # scan SSIDs: 32max scan IEs length: 465 bytesmax # sched scan SSIDs: 0max # match sets: 0Retry short limit: 7Retry long limit: 4Coverage class: 0 (up to 0m)Device supports AP-side u-APSD.Available Antennas: TX 0 RX 0Supported interface modes:* IBSS* managed* AP* AP/VLAN* monitor* P2P-client* P2P-GOBand 1:Capabilities: 0x16eHT20/HT40SM Power Save disabledRX HT20 SGIRX HT40 SGIRX STBC 1-streamMax AMSDU length: 3839 bytesNo DSSS/CCK HT40Maximum RX AMPDU length 32767 bytes (exponent: 0x002)Minimum RX AMPDU time spacing: 8 usec (0x06)HT Max RX data rate: 72 MbpsHT TX/RX MCS rate indexes supported: 0-7Frequencies:* 2412 MHz [1] (20.0 dBm)* 2417 MHz [2] (20.0 dBm)* 2422 MHz [3] (20.0 dBm)* 2427 MHz [4] (20.0 dBm)* 2432 MHz [5] (20.0 dBm)* 2437 MHz [6] (20.0 dBm)* 2442 MHz [7] (20.0 dBm)* 2447 MHz [8] (20.0 dBm)* 2452 MHz [9] (20.0 dBm)* 2457 MHz [10] (20.0 dBm)* 2462 MHz [11] (20.0 dBm)* 2467 MHz [12] (20.0 dBm) (no IR)* 2472 MHz [13] (20.0 dBm) (no IR)* 2484 MHz [14] (20.0 dBm) (no IR)valid interface combinations:* #{ managed } <= 2, #{ IBSS, AP, P2P-client, P2P-GO } <= 1,total <= 2, #channels <= 1, STA/AP BI must matchHT Capability overrides:* MCS: ff ff ff ff ff ff ff ff ff ff* maximum A-MSDU length* supported channel width* short GI for 40 MHz* max A-MPDU length exponent* min MPDU start spacingmax # scan plans: 1max scan plan interval: -1max scan plan iterations: 0Supported extended features:* [ RRM ]: RRM* [ FILS_STA ]: STA FILS (Fast Initial Link Setup)* [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211* [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support* [ DEL_IBSS_STA ]: deletion of IBSS station support* [ SCAN_FREQ_KHZ ]: scan on kHz frequency support* [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support

wifi的concurrent mode

wifi的共存模式,有以下几种:

  • station mode + station mode

  • station mode + ap mode

  • station mode + p2p mode

  • p2p mode + ap mode

以上各模式中的station,ap,p2p在驱动中都需要对应的网络接口的,对于p2p mode + ap mode, 加载驱动后就会出现wlan0,p2p0两个网络接口。

image-20250106113014713

Linux环境下的配置工具

工作模式使用的工具
STAwpa_supplicant
APhostapd
P2Pwpa_cli

必联wifi芯片P2P支持

aic8800d_linux_sdk_V3.0_2024_0712_e2a932c1\USB\driver_fw\drivers\aic8800\aic8800_fdrv\Makefile

CONFIG_USB_NO_TRANS_DMA_MAP = n
CONFIG_GPIO_WAKEUP = n
CONFIG_CREATE_TRACE_POINTS = n
CONFIG_SUPPORT_REALTIME_CHANGE_MAC = y
CONFIG_USE_USB_ZERO_PACKET = y
CONFIG_DEBUG_FS = n
#使能P2P
CONFIG_STA_SCAN_WHEN_P2P_WORKING = y
CONFIG_SET_VENDOR_EXTENSION_IE = n
CONFIG_VENDOR_GPIO = n
CONFIG_FWLOG_EN = n
CONFIG_FOR_IPCAM = n
CONFIG_5M10M = n

REF

什么是 Wi-Fi Direct 以及如何判断您的计算机是否支持它

[WiFi Direct:它的用途以及拥有它的设备](https://itigic.com/zh-CN/wifi-direct-what-it-is-used-for-and-what-devices-have-it/#:~:text=为此,您只需按照我们将要展示的一系列步骤进行操作,您就可以知道是否您可以连接其他设备或交换文件。 您要做的第一件事是转到开始,进入终端或命令提示符并执行以下命令: 执行后,将显示有关您的连接的非常完整的信息。 您将看到网卡上的数据、MAC,地址、IP、适配器型号……您还会看到(或没有)提及 WiFi Direct。 您将看到类似于下图中的内容,这证实了我们的设备是兼容的。)

wifi direct—深入理解Wi-Fi P2P - 张同光 - 博客园

linux环境的wifi配置工具及工作模式区分介绍_linux wifi p2p-CSDN博客

ap/p2p共存互通:

ps://www.cnblogs.com/ztguang/p/12649163.html)

linux环境的wifi配置工具及工作模式区分介绍_linux wifi p2p-CSDN博客

ap/p2p共存互通:

关于WIFI的工作模式–AP MODE/STATION MODE-CSDN博客

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

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

相关文章

树莓派-5-GPIO的应用实验之GPIO的编码方式和SDK介绍

文章目录 1 GPIO编码方式1.1 管脚信息1.2 使用场合1.3 I2C总线1.4 SPI总线2 RPI.GPIO2.1 PWM脉冲宽度调制2.2 静态函数2.2.1 函数setmode()2.2.2 函数setup()2.2.3 函数output()2.2.4 函数input()2.2.5 捕捉引脚的电平改变2.2.5.1 函数wait_for_edge()2.2.5.2 函数event_detect…

【数据库】四、数据库管理与维护

文章目录 四、数据库管理与维护1 安全性管理2 事务概述3 并发控制4 备份与恢复管理 四、数据库管理与维护 1 安全性管理 安全性管理是指保护数据库&#xff0c;以避免非法用户进行窃取数据、篡改数据、删除数据和破坏数据库结构等操作 三个级别认证&#xff1a; 服务器级别…

Observability:将 OpenTelemetry 添加到你的 Flask 应用程序

作者&#xff1a;来自 Elastic jessgarson 待办事项列表可以帮助管理与假期计划相关的所有购物和任务。使用 Flask&#xff0c;你可以轻松创建待办事项列表应用程序&#xff0c;并使用 Elastic 作为遥测后端&#xff0c;通过 OpenTelemetry 对其进行监控。 Flask 是一个轻量级…

Python双指针

双指针 双指针&#xff1a;在区间操作时&#xff0c;利用两个下标同时遍历&#xff0c;进行高效操作 双指针利用区间性质可以把 O ( n 2 ) O(n^2) O(n2) 时间降低到 O ( n ) O(n) O(n) 反向扫描 反向扫描&#xff1a; l e f t left left 起点&#xff0c;不断往右走&…

python无需验证码免登录12306抢票 --selenium(2)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 [TOC](python无需验证码免登录12306抢票 --selenium(2)) 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 就在刚刚我抢的票&#xff1a;2025年1月8日…

软件系统安全逆向分析-混淆对抗

1. 概述 在一般的软件中&#xff0c;我们逆向分析时候通常都不能直接看到软件的明文源代码&#xff0c;或多或少存在着混淆对抗的操作。下面&#xff0c;我会实践操作一个例子从无从下手到攻破目标。 花指令对抗虚函数表RC4 2. 实战-donntyousee 题目载体为具有漏洞的小型软…

解决nginx多层代理后应用部署后访问发现css、js、图片等样式加载失败

一般是采用前后端分离部署方式&#xff0c;被上一层ng代理后&#xff0c;通过域名访问报错&#xff0c;例如&#xff1a;sqx.com.cn/应用代理路径。 修改nginx配置&#xff0c;配置前端页面的路径&#xff1a; location / {proxy_pass http://前端页面所在服务器的IP:PORT;pro…

小程序textarea组件键盘弹起会遮挡住输入框

<textarea value"{{remark}}" input"handleInputRemark" ></textarea> 如下会有遮挡&#xff1a; 一行代码搞定 cursor-spacing160 修改后代码 <textarea value"{{remark}}" input"handleInputRemark" cursor-spacin…

1.CSS的复合选择器

1.1 什么是复合选择器 在CSS中&#xff0c;可以根据选择器的类型把选择器分为基础选择器和复合选择器&#xff0c;复合选择器是建立在基础选择器之上&#xff0c;对基础选择器进行组合形成的。 复合选择器可以更精准、更高效的选择目标元素&#xff08;标签&#xff09; 复…

【微服务】面试 2、服务雪崩

服务雪崩概念 主要内容&#xff1a;在微服务项目中&#xff0c;微服务间存在远程调用。若某一服务&#xff08;如服务 d&#xff09;出现故障&#xff0c;调用它的服务&#xff08;如服务 a&#xff09;会失败。若调用方持续向故障服务发起请求&#xff0c;由于服务连接数有限且…

计算机视觉算法实战——车道线检测

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​​​​ ​​​​​​​​​​​​ ​​​​​ 车道线检测是计算机视觉领域的一个重要研究方向&#xff0c;尤其在自动驾驶和高级驾驶辅助…

腾讯云AI代码助手编程挑战赛 - 腾讯云AI代码助手小试

作品简介 本项目基于腾讯云AI代码助手&#xff0c;对平台提供的AI问答应用进行了功能拓展。页面显示采用Vue框架&#xff0c;对话部分使用TDesign组件&#xff0c;模型为hunyuan。主要新增了TDesign页面主题模式改变、页面主题颜色随机切换、文件上传模拟等功能&#xff0c;虽未…

【Web安全】SQL 注入攻击技巧详解:UNION 注入(UNION SQL Injection)

【Web安全】SQL 注入攻击技巧详解&#xff1a;UNION 注入&#xff08;UNION SQL Injection&#xff09; 引言 UNION注入是一种利用SQL的UNION操作符进行注入攻击的技术。攻击者通过合并两个或多个SELECT语句的结果集&#xff0c;可以获取数据库中未授权的数据。这种注入技术要…

机器学习05-最小二乘法VS梯度求解

机器学习05-最小二乘法VS梯度求解 文章目录 机器学习05-最小二乘法VS梯度求解0-核心知识点梳理1-最小二乘法和梯度求解算法什么关系最小二乘法梯度求解算法两者的关系 2-最小二乘法可以求解非线性回归吗3-最小二乘法不使用梯度求解算法&#xff0c;给出一个简单的示例&#xff…

网络授时笔记

SNTP的全称是Simple Network Time Protocol&#xff0c;意思是简单网络时间协议&#xff0c;用来从网络中获取当前的时间&#xff0c;也可以称为网络授时。项目中会使用LwIP SNTP模块从服务器(pool.ntp.org)获取时间 我们使用sntp例程&#xff0c;sntp例程路径为D:\Espressif\…

HTTP-响应协议

HTTP的响应过程&#xff1f; 浏览器请求数据--》web服务器过程&#xff1a;请求过程 web服务器将响应数据-》到浏览器&#xff1a;响应过程 响应数据有哪些内容&#xff1f; 1.和请求数据类似。 2. 响应体中存储着web服务器返回给浏览器的响应数据。并且注意响应头和响应体之间…

【学习笔记】理解深度学习和机器学习的数学基础:数值计算

深度学习作为人工智能领域的一个重要分支&#xff0c;其算法的实现和优化离不开数值计算。数值计算在深度学习中扮演着至关重要的角色&#xff0c;它涉及到如何在计算机上高效、准确地解决数学问题。本文将介绍深度学习中数值计算的一些关键概念和挑战&#xff0c;以及如何应对…

JVM与Java体系结构

一、前言: Java语言和JVM简介: Java是目前最为广泛的软件开发平台之一。 JVM:跨语言的平台 随着Java7的正式发布&#xff0c;Java虚拟机的设计者们通过JSR-292规范基本实现在Java虚拟机平台上运行非Java语言编写的程序。 Java虚拟机根本不关心运行在其内部的程序到底是使用何…

计科高可用服务器架构实训(防火墙、双机热备,VRRP、MSTP、DHCP、OSPF)

一、项目介绍 需求分析&#xff1a; &#xff08;1&#xff09;总部和分部要求网络拓扑简单&#xff0c;方便维护&#xff0c;网络有扩展和冗余性&#xff1b; &#xff08;2&#xff09;总部分财务部&#xff0c;人事部&#xff0c;工程部&#xff0c;技术部&#xff0c;提供…

4.3.3 最优二叉树+二叉查找树

文章目录 基本概念哈夫曼方法应用&#xff1a;通信编码译码二叉查找树 基本概念 最优二叉树哈夫曼树 哈夫曼树&#xff1a;带权路径长度最短的树。 路径&#xff1a;一个结点到另一个结点的通路。 路径长度&#xff1a;路径上的分支数量。 树的路径长度&#xff1a;根到每个叶子…