多应用+插件架构,代码干净,支持一键云编译,码云点赞13K star,4.8-4.12 预售价格198元 广告
P2P架构中定义了三个组件,笔者将其称之为一个设备,两种角色。这三个组件分别是: * P2P Device:它是P2P架构中角色的实体,读者可把它当做一个Wi-Fi设备。 * P2P Group Owner:Group Owner(简称GO)是一种角色,其作用类似于Infrastructure BSS中的AP。 * P2P Client:另外一种角色,其作用类似于Infrastructure BSS中的STA。 相信对本书的读者对上面这三个组件的概念并不陌生。实际上,P2P技术模仿了Infrastructure BSS网络结构: 在组建P2P Group(即P2P Network)之前,智能终端都是一个一个的P2P Device。当这些P2P Device设备之间完成P2P协商后,那么其中将有一个并且只能有一个[^①]Device来扮演GO的角色(即充当AP),而其他Device来扮演Client的角色。 最终构成的这个P2P Group组织结构如图7-1所示: :-: ![](http://img.blog.csdn.net/20140319210846296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSW5ub3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 图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。 >[yinfo] 注意:“不支持P2P功能”更准确的定义是指不能处理P2P协议。在P2P网络中,GO等同于AP,所以Legacy Clients也能搜索到GO并关联上它。不过,由于Legacy Clients不能处理P2P协议,所以P2P一些特有功能在这些Legacy Clients中无法实现。 通过上述介绍读者会进一步发现P2P Group和Infrastructure BSS的相似性:P2P Device在构建P2P Group时,它将首先通过WSC来获取安全信息。然后,Client将利用协商好的安全设置信息去关联[^②]GO(即P2P Group中的AP)。 这部分内容和Infrastructure BSS中STA利用WSC先协商安全信息然后再关联至AP的流程完全一样。正是这种相似性,使得P2P能充分利用现有的一些技术规范。图7-2所示为P2P及其依赖的技术项: :-: ![](http://img.blog.csdn.net/20140319210901890?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSW5ub3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 图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之前,需要先通过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所特有的,也是其核心。本章将主要围绕它进行介绍。首先来看P2P Discovery。 >[info] 提示: > 1、P2P Group Operation讲得是GO如何管理一个Group,也就是GO的工作职责。这部分内容请读者自行学习参考资料[2]一节。 > 2、P2P PowerManagement和P2P设备的电源管理有关,用于节省不必要的电力损耗。由于篇幅关系,本章不拟讨论它。请感兴趣的读者自行学习参考资料[3]。 [^①]:假设这设备只组成一个P2PNetwork。