• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

WIFIP2PGO与Clien的协商流程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

详见: P2P GO Client角色的协商

示例环境:两个P2P device,一个作为Group owner(arm 板子), 一个作为p2p client(小米9),以pbc方式连接

 

  

小结:

1. p2p建立连接的过程中,有两个设备: P2P连接发起端/P2P连接接受端

    双方通过协商来确定谁是Go,谁是Client

    协商过程类似于三次握手,在双方都初始化好P2P后,读取对方的协商信息,来确定自己的角色。

    在P2P GO/Client协商完成后,作为GO角色的设备后面就把自己切换到AP模式,而作为Client角色的设备就去连接GO的AP。

2. 在P2P连接接受端,当上层确认允许P2P连接时,会执行p2p_connect,此时会创建实际的P2P连接网口p2p-wlan0-x

3. 不同的商家实现P2P wlan口的方式不一样,其中p2p-dev-wlan0为虚拟的网口,在P2P扫描,协商阶段都是使用该网口。

    在p2p_group_add创建组后,会创建p2p-wlan0-0,他才是内核实际注册网口,实际上P2P连接就是p2p-wlan0-0。

4. 已保存群组时的协商

   在P2P连接完成后,若P2P连接断开后,再发起P2P连接,并不一定都需要P2P GO/Client的协商过程,这依赖双方是否都保存有P2P连接信息。

    作为GO时保存的信息如下:  p2p_supplicant.conf中网络节点内容

 1 network={
 2 ssid=”DIRECT-ZT-Android_7ab3”
 3 bssid=6e:fa:a7:dc:14:d6
 4 psk=”zT32EqmT”
 5 proto=RSN
 6 key_mgmt=WPA-PSK
 7 pairwise=CCMP
 8 auth_alg=OPEN
 9 mode=3
10 disabled=2
11 p2p_client_list=96:bd:db:15:b9:38
12 }
13 //ssid:GO的名称;
14 //bssid:GO自己的mac地址;
15 //psk:GO的密码;
16 //p2p_client_list:所连接的Client的mac地址;

作为Client时保存的信息如下:

 1 network={
 2 ssid=”DIRECT-H0-Android_dd11”
 3 bssid=96:bd:db:15:b9:38
 4 psk=03e45fa923d8fbaf
 5 proto=RSN
 6 key_mgmt=WPA-PSK
 7 pairwise=CCMP
 8 auth_alg=OPEN
 9 disabled=2
10 }
11 //ssid:所连接GO的名称;
12 //bssid:所连接GO的mac地址;
13 //psk:所连接GO的密码,已加密;

   Intent:作为GO的优先级

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go 学习之旅 - 基础知识的学习发布时间:2022-07-10
下一篇:
go 命令发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap