深入理解Wi-Fi P2P

上传人:油条 文档编号:2776340 上传时间:2017-07-27 格式:DOCX 页数:20 大小:1.04MB
返回 下载 相关 举报
深入理解Wi-Fi P2P_第1页
第1页 / 共20页
深入理解Wi-Fi P2P_第2页
第2页 / 共20页
深入理解Wi-Fi P2P_第3页
第3页 / 共20页
深入理解Wi-Fi P2P_第4页
第4页 / 共20页
深入理解Wi-Fi P2P_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《深入理解Wi-Fi P2P》由会员分享,可在线阅读,更多相关《深入理解Wi-Fi P2P(20页珍藏版)》请在金锄头文库上搜索。

1、本章主要内容: 介绍 Wi-Fi P2P 相关知识; 介绍 Android 中 WifiP2pService、wpa_supplicant 的相关代码。7.1 概述承接第 6 章介绍的 WSC,本章将继续介绍 Wi-Fi Alliance(Wi-Fi 联盟)推出的另外一项重要技术规范 Wi-Fi P2P。该规范的商品名为 Wi-Fi Direct,它支持多个 Wi-Fi 设备在没有 AP 的情况下相互连接。在 Android 平台的 Wi-Fi 相关模块中,P2P 的功能点主要集中在: Android Framework 中的 WifiP2pService,其功能和 WifiService类似

2、,用于处理和 P2P 相关的工作。 wpa_supplicant 中的 P2P 模块。和 WSC 一样,本章的分析拟采用如下方法: 首先将介绍 P2P 所涉及的基础知识。 然后再分析和 P2P 相关的模块,包括 Settings、WifiP2pService以及 WPAS。下面,先来认识一下 P2P。7.2 P2P 基础知识介绍WFA 定义的 P2P 协议文档全名为“Wi-Fi Peer-to-Peer(P2P) Technical Specification”,目前的版本为 1.1,全长 160 页。P2P 技术使得多个Wi-Fi 设备在没有 AP 的情况下也能构成一个网络(P2P Netw

3、ork,也被称之为 P2P Group)并相互通信。Wi-Fi P2P 技术是 Wi-Fi Display(也称之为 Miracast,详情请参考作者的一篇博文 http:/ Miracast 应用场景中,一台支持 P2P 的智能手机可直接连接上一台支持 P2P 的智能电视,智能手机随后将自己的屏幕,或者媒体资源传送给电视机去显示或播放。显然,借助 P2P 技术,Wi-Fi 设备之间的直接相连将极大拓展 Wi-Fi 技术的使用场景。注意:根据笔者自己的判断,随着支持越来越多的设备支持 P2P 和Miracast,智能终端设备之间的多屏共享和互动功能将很快得以实现。另外,恰逢本章撰写之际,Goo

4、gle 发布了 Android 4.3。在这次发布盛会上,Google 推出了 ChromeCast 设备。目前,ChromeCast 的技术实现细节还不清楚,据说有可能是 Google 自己定义的 Google cast 协议(可参考 P2P 的架构。7.2.1 P2P 架构介绍1P2P 架构中定义了三个组件,笔者将其称之为一个设备,两种角色。这三个组件分别是: P2P Device:它是 P2P 架构中角色的实体,读者可把它当做一个Wi-Fi 设备。 P2P Group Owner: Group Owner(简称 GO)是一种角色,其作用类似于 Infrastructure BSS 中的

5、 AP。 P2P Client:另外一种角色,其作用类似于 Infrastructure BSS 中的 STA。相信对本书的读者对上面这三个组件的概念并不陌生。实际上,P2P技术模仿了 Infrastructure BSS 网络结构: 在组建 P2P Group(即 P2P Network)之前,智能终端都是一个一个的 P2P Device。 当这些 P2P Device 设备之间完成 P2P 协商后,那么其中将有一个并且只能有一个 1Device 来扮演 GO 的角色(即充当 AP),而其他 Device 来扮演 Client 的角色。最终构成的这个 P2P Group 组织结构如图 7-1

6、 所示:图 7-1 P2P Group 示意图图 7-1 展示了一个典型 P2P Group 的构成,其中: 和一个 Infrastructure BSS 类似,一个 P2P Group 中只能有一个GO。一个 GO 可以支持 1 个或多个(即图中的 1:n)Clients 连接。 由于 GO 的功能类似于 AP,所以周围那些不支持 P2P 功能的STA 也能发现并关联到 GO。这些 STA 被称之为 Legacy Clients。注意:“不支持 P2P 功能”更准确的定义是指不能处理 P2P 协议。在 P2P网络中,GO 等同于 AP,所以 Legacy Clients 也能搜索到 GO 并

7、关联上它。不过,由于 Legacy Clients 不能处理 P2P 协议,所以 P2P 一些特有功能在这些 Legacy Clients 中无法实现。通过上述介绍读者会进一步发现 P2P Group 和 Infrastructure BSS 的相似性: P2P Device 在构建 P2P Group 时,它将首先通过 WSC 来获取安全信息。 然后,Client 将利用协商好的安全设置信息去关联 2GO(即P2P Group 中的 AP)。这部分内容和 Infrastructure BSS 中 STA 利用 WSC 先协商安全信息然后再关联至 AP 的流程完全一样。正是这种相似性,使得 P

8、2P 能充分利用现有的一些技术规范。图 7-2 所示为 P2P 及其依赖的技术项:图 7-2 P2P 及其依赖的技术项由图 7-2 可知: 为了保证一定的传输速率,P2P 要求 P2P Device 必须支持802.11g 及以上的规范。其中,安全部分必须支持 WPA2。由于P2P 技术一个主要的应用场景就是设备之间共享媒体数据(例如前面提到的 Miracast 应用场景),所以 P2P Device 还必须支持WMM(Wi-Fi Multimedia 的缩写,它是一种源自 802.11e 的 QoS服务,主要针对实时视音频数据的传输)。 P2P Client 关联到 GO 之前,需要先通过

9、WSC 来协商安全信息,所以 WSC 也是 P2P 的依赖技术项。 在上述技术基础上,P2P 规范定义了一些特有的技术项,图 7-2列出了其中三种必须实现的技术项,它们分别是 P2P Discovery、P2P Group Operation 以及 P2P PowerManagerment。除了这三个必选技术项外,P2P 规范还定义了一个可选技术项,名为 Managed P2P Device Operation(该技术项定义了如何在企业级环境中由对应的 IT 部门来统一配置和管理 P2P 设备)。在如图 7-2 所示的技术项中,P2P Discovery 是 P2P 所特有的,也是其核心。本章

10、将主要围绕它进行介绍。首先来看 P2P Discovery。提示:1、P2P Group Operation 讲得是 GO 如何管理一个 Group,也就是 GO的工作职责。这部分内容请读者自行学习参考资料2一节。2、P2P PowerManagement 和 P2P 设备的电源管理有关,用于节省不必要的电力损耗。由于篇幅关系,本章不拟讨论它。请感兴趣的读者自行学习参考资料3。7.2.2 P2P Discovery 介绍4P2P Discovery 的目的很简单,就是使得多个 P2P Device 能够互相发现并构建一个 Group。根据规范,它包括四个主要技术子项: Device Disco

11、very:用于 P2P 设备搜索周围其他支持 P2P 的设备。 Service Discovery:该 Device Discovery 基础上,P2P 还支持搜索指定的服务。这部分功能属于可选项,笔者觉得它和第二章2.2.5.1“Apple Bonjour 技术介绍”中提到的 Bonjour 类似。 Group Formation:用于决定两个 P2P Device 谁来扮演 GO,谁来扮演 Client。 P2P Invitation:用于激活一个 Persistent Group(见下文解释),或者用于邀请一个 Client 加入一个当前已存在的 Group。提示:Group 分 Per

12、sistent(永久性) Group 和 Temporary(临时性)Group 两种。我们举二个简单例子来说明二者的区别:Temporary Group:当你有份文件要传给一个同事时,双方打开手机的Wi-Fi P2P 功能,建立一个 Group,然后传输文件,最后关闭 Wi-Fi P2P。在这个过程中,GO 和 Client 的角色分配由 Group Formation 来决定,这一次的 GO 可能是你的设备,下一次则可能是其他人的设备。对于这种 Group,在建立 Group 过程中所涉及的安全配置信息以及和Group 相关的信息(以后我们会见到它)都是临时的,即下一次再组建 Group

13、时,这些安全配置信息都将发生变化。Persistent Group:在这种 Group 中,GO 由指定设备来扮演,而且安全配置信息及 Group 相关信息一旦生成,后续就不会再发生变化(除非用户重新设置)。Persistent Group 中的 GO 多见于固定用途的设备,例如打印机等。如此,除了第一次通过 P2P 连接到打印机时相对麻烦一点(需要利用 WSC 协商安全配置信息)外,后续使用的话,由于P2P 设备将保存这些安全信息,所以下一次再使用打印机时就能利用这些信息直接和打印机进行关联了。由于篇幅关系,本章将仅介绍上述四个知识点中最为基础的 Device Discovery 和 Gro

14、up Formation,而 Service Discovery 和 P2P Invitation 的内容请读者学习完本章后再仔细研读 P2P 规范。1. P2P Device Discovery 介绍P2P Device Discovery 虽然也是利用 802.11 中的 Probe Request 和 Probe Response 帧来搜索周围的 P2P 设备,但其步骤却比 Infrastructure BSS中的无线网络搜索要复杂。举一个简单的例子,一个 P2P Device 除了自己要发送 Probe Request 帧外,还得接收来自其他设备的 Probe Request 帧并回复

15、 Probe Response 帧。而在 Infrastructure BSS 中,只有AP 会发送 Probe Response 帧。为了加快搜索速度,P2P 为 Device Discovery 定义了两个状态和两个阶段。(1) Device Discovery 工作流程介绍P2P Device Discovery 的工作流程包含两个状态和两个阶段。先来看两个状态,它们分别是: Search State:在该状态中,P2P Device 将在 2.4GHz 的 1,6,11 频段上分别发送 Probe Request 帧。这几个频段被称为 Social Channels。为了区别非 P2P

16、 的 Probe Request 帧,P2P Device Discovery 要求必须在 Probe Request 帧中包含 P2P IE。 Listen State:在该状态下,P2P Device 将随机选择在 1,6,11 频段中的一个频段(被选中的频段被称为 Listen Channel)监听 Probe Request 帧并回复 Probe Response 帧。值得指出的是,Listen Channel 一旦选择好后,在整个 P2P Discovery 阶段就不能更改。另外,在这个阶段中,P2P Device 只处理那些包含了 P2P IE 信息的 Probe Request 帧。再来看两个阶段,它们分别是: Scan

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号