wpa_supplicant2

				版权声明:本文为博主原创文章,未经博主允许不得转载。					https://blog.csdn.net/gh201030460222/article/details/83067155				</div>
							            <div id="content_views" class="markdown_views prism-atom-one-dark">
						<!-- flowchart 箭头图标 勿删 -->
						<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg>
						<h1><a name="t0"></a><a id="wpa_supplicant_0" target="_blank"></a>wpa_supplicant整体通信架构</h1>

wpa_supplicant的启动flow目前网络上已经有一堆了,就不列举了,这里主要说一下启动时,interface有哪些,作用如何,以及整体上下的通信。

wpa_supplicant在启动时,会初始化三个interface,用于跟上下层进行通信,其中有driver interface、L2 interface、 control interface。

三个interface的作用如下:

1, init driver interface:处理kernel与wpa_supplicant之间的cmd跟event
2, init L2 interface: 处理EAPOL Frame与kernel通信(密码认证4次握手过程)
3, init control interface: 处理上层与wpa_supplicant cmd与event通信

以Android wpa_supplicant为例:
当启动wpa_supplicant时,会创建3个socket,分别为:/data/system/wpa_supplicant/wlan0、/data/misc/wifi/sockets/wlan0、/data/misc/wifi/sockets/p2p0,其中/data/misc/wifi/sockets/wlan0与/data/misc/wifi/sockets/p2p0是同级关系,只是功能不一样,这里只说明一下wlan0即可。
此时,
control interface ---->> /data/system/wpa_supplicant/wlan0
L2\driver interface ---->> /data/misc/wifi/sockets/wlan0(/data/misc/wifi/sockets/p2p0)
当上层的WifiMonitor去连接到wpa_supplicant时,会创建/data/misc/wifi/sockets/wpa_xxx1与/data/misc/wifi/sockets/wpa_xxx2两个sockets,这两个socket都连接到/data/system/wpa_supplicant/wlan0。
其中一个用于上层往wpa_supplicant发送命令。另一个用于监听wpa_supplicant发上来的events。
而内部则是创建两个socket, L2 socket与 driver socket,连接到/data/misc/wifi/sockets/wlan0(/data/misc/wifi/sockets/p2p0),driver socket用于wpa_supplicant与kernel driver进行命令、消息的监听,L2 socket用于ap连接的四次握手处理。

wpa_supplicant整体通信架构

在这里插入图片描述

        </div>
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet">
            </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值