Wi-Fi P2P 基本概念学习笔记

P2P架构中定义了三个组件: “一个设备,两个角色”

P2P Device: 这个是P2P架构中的实体,可以将其当作一个Wi-Fi设备即可。

P2P Group Owner:  Group Owner(GO),一种角色,与infrastructure BSS中的AP类似。

P2P Group Client: Group Client(GC), 另一种角色,其作用与infrastructure BSS中的STA类似。

实际上,P2P技术模仿了infrastructure BSS网络结构。在组件P2P Group( P2P Network)之前,智能终端都是一个一个的P2P Device。当这些P2P Device设备之间完成P2P协商后,其中将有且只有一个P2P Device作为GO(充当AP),而其他P2P Device则作为Client角色。

Wi-Fi P2P 基本概念学习笔记

此图展示了一个典型的P2P Group结构,与infrastructure BSS结构类似,一个P2P Group只能有一个 GO,一个GO可以支持一个或者多个client连接。

由于GO的功能与AP类似,所以周围不支持P2P功能的STA也能发现并关联到GO,这个STA被称为Legacy Client。

注意:

“不支持P2P功能”更准确的定义是指不能处理P2P协议,在P2P网络中,GO等同于AP,所以Legacy client可以搜索并进行关联,但由于Legacy Client不支持P2P协议,所以P2P的一些特有功能在这些Legacy Client中无法实现。

Wi-Fi P2P 及其所依赖的技术项:

Wi-Fi P2P 基本概念学习笔记

为了保证传输速率,Wi-Fi P2P要求 P2P Device必须支持802.11g及其以上的规范, 安全部分必须支持WPA2,由于其工作的一个重要的场景是: 设备之间共享媒体数据,所以P2P Device还必须支持WMM(Wi-Fi MultiMedia,一种源于802.11e的Qos服务,主要针对实时音视频数据的传输)。

P2P Client 在关联到GO之前,需要先通过WSC来协商安全信息,所以WSC也是P2P的依赖技术项。

Wi-Fi P2P 需要实现以下三种技术项:

P2P Discovery(必选): Wi-Fi P2P 所特有的,也是核心。

P2P Group Operation(必选): 一个GO如何管理Grouup

P2P PowerManagement(必选): P2P device电源管理,用于节省不必要的电力损耗。

Managed P2P Device Operation(可选):在企业环境中IT部门如何统一配置和管理P2P设备

 

由于P2P Discovery是Wi-Fi P2P 的核心技术,所以下文会重点讲此内容:

P2P Discovery 的作用: 使多个P2P Device能够互相发现并构建一个Group,

 

P2P Discovery主要由4个子技术组成:

Device Discovery: 用于P2P设备搜索周围其他支持P2P的设备

Service Discovery: 可选项, 在Device Discovery的基础上,P2P还支持搜索指定的服务。

Group Formation: 创建一个P2P Group组,并协商哪个P2P Device作为GO,其余作为GC

 P2P Invitation: 用于**一个Persistent Group,或者邀请一个GC加入到已经存在的组

 

P2P Group 分为Persistent Group(永久组)及 Temporary Group(临时组)。

Persistent Group: 在这种Group中,Go由指定的设备扮演,而且安全配置信息及Group信息一旦生成,后续就不会再发生改变(除非用户重新设置)。常用于固定用途的设备,例如打印机等,这样的话,除了第一次使用时,通过P2P连接到打印机时相对麻烦点外(需要使用WSC协商安全配置信息),后续使用时,由于P2P设备已经保存相关安全设置信息,所以会使用非常方便。

Temporary Group: 当有文件要传给一个同事时,双方手机都打开手机的Wi-Fi P2P功能,建立一个Group,然后传输文件,最后关闭Group。在这个过程中,GO与GC的角色分配是由Group Formation决定,这一次的GO可能是你的设备,下一次可能是别人的设备。

对于这种类型的Group,在建立过程中,所涉及的安全配置信息及Group信息都是临时的。每一次组件Group,这些安全配置信息都将发生改变。

 

Device Discovery简介:

P2P Device Discovery虽然也是利用802.11中的Probe Request和Probe Response帧来搜索周围的P2P设备,但其步骤却比infrastructure BSS中的无线网络搜索要复杂的多。例如:

一个P2P Device除了自己要发送Probe Request帧外,还要接收来自其他设备的Probe Request帧并回复Probe Response帧。而在infrastructure BSS中,只有AP会发送Probe Request帧。

 

为加快搜索速度,P2P为Device Discovery定义了两个状态和两个阶段

两个状态: Search State、Listen State

Search State: 在该状态下,P2P Device将在2.4GHz的1、6、11频段上分别发送Probe Request帧(注意: P2P Device Discovery时发送的Probe Request必须添加P2P IE,以便于同非P2P的Probe Request区分),这几个频段被称为Social Channels。

Listen State:在该状态中,P2P Device将随机在Social Channels(1、6、11)中选择一个频段(被选中的频段被称为Listen Channel),监听Probe Request帧并回复Probe Response帧,值得指出的是,Listen Channel一旦选择好后,在整个P2P Discovery阶段就不能改变,在此阶段,P2P Device只处理包含P2P IE信息的Probe Request帧。

两个阶段: Scan Phase、Find Phase

Scan Phase: 扫描阶段,这一阶段和前面章节介绍的无线网络扫描一样,P2P Device会在各个频段上发送Probe Request帧(主动扫描)。P2P Device在这一阶段中不会处理来自其他设备的Probe Request帧,这一阶段完毕后,会进入Find Phase。

Find Phase: 查找阶段,在这一阶段,P2P Device将在Search State和Listen State之间来回切换,Search State中,P2P Device将发送Probe Request帧,而在Listen State中,它将接收其他设备的Probe Request帧并回复Probe Response帧。

 

Wi-Fi P2P 基本概念学习笔记