您的当前位置:首页正文

安卓系统下关于WiFi-Direct的研究

2020-12-29 来源:步旅网


毕业设计(论文)

中文题目 安卓系统下关于WiFi-Direct的研究

英文题目:A Study of WiFi-Direct

on Android System

学 院: 专 业: 学生姓名: 学 号: 指导教师:

理学院 理科试验班

龚强 10274003 陈一帅

2014 年 6 月 3 日

北京交通大学毕业设计(论文)任务书

题 目:安卓系统下WiFi-Direct的应用研究 适合专业:

通信工程专业

指导教师(签名): 提交日期: 年 月 日

学院:理学院 专业: 理科试验班 学生姓名: 龚强 学号: 10274003 毕业设计(论文)基本内容和要求: 技术原理: - 研究WiFi-Direct技术原理,了解WiFi-Direct技术和wifi-adhoc, wifi-tethering技术的本质区别,理解为什么工业界会提出WiFi-Direct技术。 - 行业现状: - - 调研WiFi-Direct技术目前的操作系统,设备支持情况。 研究安卓系统下WiFi-Direct的现状; 系统设计: - 编程实现安卓中的WiFi-Direct应用,实现两个手机终端之间通过WiFi-Direct通信; - 使用数据库编程实现groupowner对于peer的管理;在多个设备组成一个group的情况下编程实现手机两两之间通信; - 使用eclipse编程实现apk。 了解WiFi-Direct节点通信协议过程 1

北京交通大学毕业设计(论文)任务书

毕业设计(论文)重点研究的问题: 使用数据库来实现group对于peers的管理,使得peers之间能互相通信; 编写程序使得用户界面清晰明了,生成一个使用的apk程序,使得在wifi的环境下手机之间快速分享资源。 毕业设计(论文)应完成的工作: 论文书写格式规范; 查阅各种中外文献,加深对WiFi-Direct技术原理和行业现状的了解; 理解WiFi-Direct在安卓平台下的局限,应用编程技术加以改进; 使用eclipse编程软件编程整合实现apk应用程序; 用户界面做到简单,大气而且人性化,便于用户使用。 2

北京交通大学毕业设计(论文)任务书

参考资料推荐: 1. 2. WiFi_P2P_Technical_Specification_v1.2; 泰凯文. 基于Wi-Fi Direct的音视频共享系统的研究与实现[D].北京邮电大学,2013. 3. Lombera, I.M.; Moser, L.E.; Melliar-Smith, P.M.; Yung-Ting Chuang, \"Peer management for iTrust over Wi-Fi Direct,\" Wireless Personal Multimedia Communications (WPMC), 2013 16th International Symposium on , vol., no., pp.1,5, 24-27 June 2013 4. Conti, M.; Delmastro, F.; Minutiello, G.; Paris, R., \"Experimenting opportunistic networks with WiFi Direct,\" Wireless Days (WD), 2013 IFIP , vol., no., pp.1,6, 13-15 Nov. 2013 5. Camps-Mur, D.; Garcia-Saavedra, A.; Serrano, P., \"Device-to-device communications with Wi-Fi Direct: overview and experimentation,\"Wireless Communications, IEEE , vol.20, no.3, pp.96,104, June 2013 其他要说明的问题:

3

北京交通大学毕业设计(论文)开题报告

题 目: 安卓系统下关于WiFi Direct的应用研究 学院: 理学院 专业: 理科试验班 学生姓名: 龚强 学号: 10274003 文献综述: 1 WiFi Direct技术介绍 2010年10月,Wi-Fi Alliance(Wi-Fi联盟)发布Wi-Fi Direct白皮书,白皮书中介绍了这种技术的基本信息、特点和功能。该技术允许无线网络中的设备无需通过无线路由器即可相互连接,特别是,与蓝牙技术类似,允许无线设备以点对点形式互连,而且在传输速度与传输距离方面比蓝牙有大幅提升。 按照定义,Wi-Fi Certified Wi-Fi Direct设备是支持对等连接的设备,这种设备既支持基础设施网络,也支持P2P连接。Wi-Fi Direct设备能够作为典型的站点(STA)加入基础设施网络,而且必须支持Wi-Fi Protected Setup加入者功能。 Wi-Fi Direct设备通过组建小组(以一对一或一对多的拓扑形式)来建立连接,小组的工作形式与基础设施BSS类似。由一部Wi-Fi Direct设备负责整个小组,包括控制哪部设备加入、小组何时启动和终止等。这种设备对于传统客户设备而言就是一部接入点,能够提供基础设施接入点所提供的部分服务。 最初,Wi-Fi Alliance®联盟将这一新标准原名为“Wi-Fi peer-to-peer”,而最终定名为WiFi Direct,面向各种Wi-Fi设备,如电脑、手机、电脑外设、家电等等。符合该1

北京交通大学毕业设计(论文)开题报告

标准的设备无需热点和路由器,就可以方便的和其他设备实现直接连接,传输数据或共享应用。Wi-Fi Direct可以支持一对一直连,也可以实现多台设备同时连接,并且Wi-Fi Direct标准将会支持所有的Wi-Fi设备,从11a/b/g至11n,不同标准的Wi-Fi设备之间也可以直接互联。 2 国内外的研究情况: 2.1 WiFi Direct应用现状 针对WiFi Direct规范,WiFi-alliance中的几大公司分别提出了不同的解决方案:Intel公司提出了my WiFi技术;TI提出使用IVA-HD加速器作为编码器的WiFi display技术;Broadcom提出了集合WiFi与H.264编码技术的5G WiFi display 技术方案。类似技术还有苹果公司的Airplay mirroring。 2.2 WiFi Direct与蓝牙技术的比较 说到直连技术,就不能不提到蓝牙。在之前很长一段时间,蓝牙技术是无线设备间直连的事实标准。在WiFi Direct规范出现之前,蓝牙技术被认为是最适合无线个人区域网的技术。但在WiFi Direct出现之后,这种情况变得复杂起来。 蓝牙4.0和WiFi Direct都是为了在无线设备之间快速传输图片,文件和其他数据实现的。现在的智能手机、平板电脑、笔记本电脑等设备,大都配有蓝牙和WiFi接口,这两种技术并行发展还是一枝独秀,现在下结论还为时尚早。WiFi 2

北京交通大学毕业设计(论文)开题报告

Direct在传输速率以及传输距离远胜于蓝牙4.0,同时在兼容性上也比蓝牙4.0出色。但是蓝牙在耳机等领域耕耘多年,WiFi Direct想插足绝非易事。但是WiFi Direct在视频、远距离传输上的优势也让蓝牙望尘莫及。此外,原有设备上对蓝牙和WiFi的支持已经固定,两种技术都没有给用户提出一种过渡到对方的方案,而连接方式尚不足成为更新设备的理由,给两种技术留下了很大的成长空间。 3 WiFi Direct技术细节 3.1 Wi-Fi Direct标准的应用场合 Wi-Fi Direct标准的原名是Wi-Fi peer to peer,即P2P版本的Wi-Fi,又称为Wi-Fi对等技术。符合Wi-Fi Direct标准的设备叫做Wi-Fi对等设备。Wi-Fi Direct标准旨在让符合Wi-Fi Direct标准的设备在无需连入Wi-Fi热点的情况下,简单方便地与其他Wi-Fi设备建立直接连接,传输数据或共享应用。目前市面上大量应用的传统Wi-Fi设备如电脑,手机等等都不能主动发起,但是大部分可以被Wi-Fi Direct设备邀请建立点对点的连接。 Wi-Fi对等技术充分利用了传统Wi-Fi技术的优势:包括性能、安全性、易用性和普及性,并增加了优化消费者使用方式的特点:消费者在使用时无需接入路由设备。现在,用户无需先接入Wi-Fi热点就可直接连接Wi-Fi设备了。举个例子,使用这种技术,Android手机等移动设备可以与笔记本电3

北京交通大学毕业设计(论文)开题报告

脑直接相连,无论此时是否存在可用的Wi-Fi热点;Android手机用户可以看到提供不同服务的Wi-Fi设备清单,根据自身需要选择提供相应功能(如打印功能)的设备进行Wi-Fi P2P连接,实现打印文件的目的。 3.2 Wi-Fi Direct的功能特性 获得Wi-Fi Direct认证的设备扩大了 Wi-Fi技术的覆盖范围。一方面,Wi-Fi Direct设备之间可以建立P2P的连接;另一方面,Wi-Fi Direct设备可以兼容传统的Wi-Fi设备,向传统设备发出邀请从而建立P2P的连接,连接效果与网线连接无异。Wi-Fi Direct与Wi-Fi技术相比,在如下方面做了改进: 1)随时随地建立连接:Wi-Fi Direct设备间或Wi-Fi Direct与传统Wi-Fi设备可以随时随地建立P2P连接,无需考虑连入Wi-Fi热点或WLAN。 2)服务可见:Wi-Fi Direct设备在用户建立连接前帮助用户确认存在哪些可用设备以及该设备所提供的服务,用户根据自身的需要与提供相应服务的设备建立连接。 3)安全与易用性:Wi-Fi Direct 采用 WPS (Wi-Fi Protected Setup, Wi-Fi保护设置)机制提供更安全的加密方式,同时简化了设备间建立安全连接的过程。连接方式包括两种:PBC (Push Button Configuration)模式和 PIN (Personal Identity 4

北京交通大学毕业设计(论文)开题报告

Number,个人认证码)模式。目前市面上大部分的Wi-Fi Direct设备上都装有WPS按钮,WPS按钮的作用是建立Wi-Fi Direct设备间的安全连接。用户只需同时按下两台设备上的WPS按钮即可建立Wi-Fi Direct设备间的P2P连接,这种方式称之为PBC模式。 P1N模式同样适用于两台Wi-Fi Direct设备建立P2P连接,也适用于Wi-Fi Direct设备与Wi-Fi设备间建立P2P连接。用户在自己设备上通过输入要连接设备的PIN完成验证,通常情况下PIN码会显示在设备上。 4)节能特性:理论上能够将设备的电池使用时间延长15%到40%。 3.3 Wi-Fi Direct关键机制 所有的Wi-Fi Direct设备必须能够负责整个小组,同时能够协调哪台设备能够成为小组管理者,甚至一定要具备设备发现和电源管理的机制,同时还能够提供可选功能,例如:服务发现,邀请机制。表1-1即为Wi-Fi Direct所定义的关键机制。 表1-1 WiFi Direct的关键机制 关键机制 设备发现 服务发现 小组建立 5

强制 √ √ 可选 √ 北京交通大学毕业设计(论文)开题报告

邀请机制 客户发现 能源管理 --P2P-PS与WMM-PS --缺席通知 --机会节能 3.3.1 设备发现 P2P- √ √ √ √ √ √ 设备发现用于确定其他WiFi Direct设备并建立连接。这种功能采用的扫描技术与发现基础设施接入点时使用的扫描技术类似。用户可以选择已经发现的设备进行连接。如果目标尚未加入小组,则将组建新的小组。如果目标已经加入小组,正在搜索的WiFi Direct设备将试图加入已存在的小组。WPS用于获取证书,并验证正在进行搜索的WiFi Direct。 设备发现组要包括2个阶段:Scan和Find阶段,如图1-1所示。 图1-1 设备发现 6

北京交通大学毕业设计(论文)开题报告

在Scan阶段,设备通过扫描所有支持的信道收集周围设备或网络的信息。 Scan阶段采用IEEE 802.11-2007中定义的扫描过程。在Scan阶段,设备依次向所有信道发出探测请求帧,同时在Scan阶段的设备应该响应探测请求帧。 Find阶段用于确保2个处在搜索状态的设备到达同一个信道,这时互相通信的前提条件。Find阶段包括两个状态:Listen和Search。处在Listen状态的设备应该只对含有P2P信息成分或者WPS信息成分的请求进行应答。 在Search状态的设备应该向每一个信道发送一个或多个探测请求,而处在此状态的设备是不能对任何请求进行响应的。 7

北京交通大学毕业设计(论文)开题报告

3.3.2 服务发现 服务发现是可选的特性,其目的在于获取发现的设备可以提供什么样的服务,如Bonjour、UPnP、Web服务等。如果设备1已经成功地发现了设备2,即设备发现阶段已经结束,那么设备1可以在任意时刻执行服务发现过程,如图2-3所示:同时,如果已经开始了服务发现,则关键机制中的小组建立过程必须要等到服务发现过程完毕才能开始工作。 图1-2服务发现 8

北京交通大学毕业设计(论文)开题报告

当设备1向设备2进行服务发现过程时,请求帧会询问设备2提供哪种服务类型,设备2会针对自身所提供的服务协议类型通过响应帧进行回答。服务协议类型如表1-2进行规定。 9

北京交通大学毕业设计(论文)开题报告

表1-2 服务协议类型 值 0 1 2 3 4-254 255 3.3.3 小组建立 在小组建立的过程当中,将决定哪台设备将成为小组管理者,成为小组管理者的设备将决定小组是永久性(多次重复使用)还是临时(设备间仅进行一次连接)的小组。 小组管理者的协商是一个三步帧交换过程,假如设备1要与设备2进行小组管理者的协商,设备1首先会向设备2发送小组管理者协商请求帧,请求帧包括Group Owner Intent,这个值用来表示设备想成为小组管理者的意愿值(用xl表示);设备2收到设备1的请求帧(太多这种问题。。。)之后,会向设备1发送小组管理者协商响应帧,响应帧同样包括设备2成为小组管理者的意愿值(用x2表示),设备1会对>d和x2的数值大小进行比较,决定哪台设备将成为小组管理者,并向设备2发送协商结果。小组管理者的协商算法如图1-3所示。 图1-3 小组管理者协商算法 10

服务协议类型 所有的服务协议类型 Bonjour UPnP WS-Discovery Reserved Vendor Specific 北京交通大学毕业设计(论文)开题报告

在小组管理者协商之后,会进行小组的特征协商工作,小组管理者会制定小组的规范。首先确定小组是永久型还是临时型。接着设备间会进行WPS信息的交换,从而完成加密工作。图1-4描述了小组建立过程。 目前WPS常见的连线模式有2种,分别是PIN及PBC。 图1-4 小组建立过程 11

北京交通大学毕业设计(论文)开题报告

3.3.4 邀请机制 Wi-Fi Direct提供此机制目的是以邀请的方式使其他Wi-H Direct设备进入己经存在的小组。 > 客户发现 使用户针对某类特定的设备或设备类型进行连接。提供了对附近的Wi-Fi Direct设备分类的功能,方便快速找到所需的应用。 > 能源管理 能源管理功能并不是所有小组都有的,如果小组中存在传统的Wi-Fi设备,则不能使用能源管理功能。 能源管理机制目的在于降低小组各个设备角色的能源消耗,同时保持客户发现的功能。包括三种具体的节能机制: (1) P2P-PS 与 P2P-WMM-PS:以标准的 Wi-Fi Power Save 和 WMM-Power Save规范为基础,帮助小组管理者实现节能的目标。 (2) 缺席通知:当小组成员离开时告知小组其他成员。 (3) 机会节能:允许小组管理者进入休眠状态。但为了保证关键机制设备发现的正常使用,仍会定期进入可用状态。 12

北京交通大学毕业设计(论文)开题报告

主要参考文献:

1.

泰凯文. 基于Wi-Fi Direct的音视频共享系统的研究与实现[D].北京邮电大学,2013.

2.

Conti, M.; Delmastro, F.; Minutiello, G.; Paris, R., \"Experimenting opportunistic networks with WiFi Direct,\" Wireless Days (WD), 2013 IFIP , vol., no., pp.1,6, 13-15 Nov. 2013 3.

Camps-Mur, D.; Garcia-Saavedra, A.; Serrano, P., \"Device-to-device communications with Wi-Fi Direct: overview and experimentation,\" Wireless Communications, IEEE , vol.20, no.3, pp.96,104, June 2013 4.

Asadi, A.; Mancuso, V., \"WiFi Direct and LTE D2D in action,\" Wireless Days (WD), 2013 IFIP , vol., no., pp.1,8, 13-15 Nov. 2013 5.

Pyattaev, A.; Johnsson, K.; Andreev, S.; Koucheryavy, Y., \"3GPP LTE traffic offloading onto WiFi Direct,\" Wireless Communications and Networking Conference Workshops (WCNCW), 2013 IEEE , vol., no., pp.135,140, 7-10 April 2013 6.

Xiaoxiao Liu; Huang, J.S.; Zujue Chen, \"The human positioning system based on the WiFi Direct and Precision Time Protocol,\" Transportation, Mechanical, and Electrical Engineering (TMEE), 2011 International Conference on , vol., no., pp.1580,1584, 16-18 Dec. 2011 7.

Zhuo Li; Qilian Liang; Xiuzhen Cheng; Znati, T., \"Outage performance evaluation over Rayleigh fading channels of WiFi Direct networks in Smart Grid application,\"Innovative Smart Grid Technologies - Asia (ISGT Asia), 2012 IEEE , vol., no., pp.1,5, 21-24 May 2012 8.

Hayoung Yoon; JongWon Kim, \"Collaborative streaming-based media content sharing in WiFi-enabled home networks,\" Consumer Electronics, IEEE

13

北京交通大学毕业设计(论文)开题报告

Transactions on , vol.56, no.4, pp.2193,2200, November 2010 14

北京交通大学毕业设计(论文)开题报告

二、研究方案: 基本研究方法:WiFi Direct协议研究 数据库 JAVA编程 研究内容:应用JAVA编程以及数据库的应用实现WiFi Direct中group owner对于peer的管理,使得能够实现一定范围内每个手机终端之间都能快速地分享消息以及资源。Group_owner在peer加入小组之后就会要求peer向Group_owner发送一个消息,然后Group_owner调用函数获取每一个peer的mac以及ip地址,并且将它们整合到数据库中,之后再将包含了所有连入这个group的peer的mac和ip的一个list分发给每一个peer,此时peer之间就可以依据某种通信方式进行连接。每当有新的peer加入进来的时候owner就会更新一次list,保证它的实时性。这样就能针对当前许多关于WiFi Direct应用只能同时实现2个终端通信的现状做出改进。 整体设计框架: 数据库的设计与编写 数据库嵌入socket通信 多人情况下mac/ip分发的调试 用户界面的设计 多人通信的调试 15

北京交通大学毕业设计(论文)开题报告

毕业设计(论文)进度安排: 序号 1 2 毕业设计(论文)各阶段内容 阅读相关文献,提出方案 开始编程,用数据库实现Owner对peer的管理 3 调试多人情况下的消息传输情况 4 调试多人情况下的资源分享情况 5 完善代码,设计用户界面 5.1-5.20 4.21-5.1 4.1-4.20 时间安排 3.1-3.10 3.11-3.31 备注 16

北京交通大学毕业设计(论文)开题报告

6 做好结题准备 5.21-6.10 指导教师意见: 填写说明:查阅资料是否全面,提出的研究方案和计划进度是否可行(方案还要再具体一点),还有什么需要注意和改进的方面,是否同意按学生提出的计划进行等。 指导教师签名: 审核日期: 年 月

17

摘要

WiFi-Direct是由WiFi 联盟推出的、基于WiFi、旨在提供手机间直接通信的新技术。由于WiFi比蓝牙、2G网络等有更大的带宽和信道容量,传输范围也更大,使得WiFi-Direct在机会式网络及D2D领域中有很大的潜力,在未来终端直连领域中有着不可忽视的作用。

本文首先介绍WiFi-Direct技术核心和Android系统对其的支持,包括节点扫描、D2D Group形成、节点通信过程的具体技术细节,然后介绍Android系统对WiFi-Direct的编程接口支持。在此基础上,对Android系统下WiFi-Direct技术的性能进行了评估,并实现了一个Android手机D2D通信中间件。具体贡献如下:

1)

对比蓝牙、基于WiFi热点手机直连技术,评估了Android系统下WiFi-Direct技术的性能,包括待机功耗、传输速度等。发现WiFi-Direct耗能比基于WiFi热点的应用技术耗能低,传输速度明显优于蓝牙。

2)

针对目前已有WiFi手机直连文件传输应用无法进行真正的D2D通信功能的问题(它们不能进行D2D的通信,而只能与Group Owner通信,然后由Group owner将一个节点发送的内容广播到所有节点),基于Android手机平台,设计、实现了一套D2D通信中间件。利用该中间件,加入D2D小组的手机节点能够进行D2D的通信。

3)

基于该中间件,我们实现了一个应用WiFi-Direct的手机文件互传的原型系统,测试验证了我们的中间件的有效。

最后,我们讨论了在上述探索过程中发现的WiFi-Direct的问题,展望了下一步的工作。

关键字: WiFi-Direct, 终端直连, 机会式网络

Abstract

WiFi-Direct is a new technology defined by the WiFi Alliance aimed at enhancing direct communication between devices through WiFi. Because of its faster speed and wider coverage than traditional wireless D2D communication like bluetooth, it will have a great impact on Device-to-device communication. Though it have lots of drawbacks like its unstableness, but its strength on speed and coverage still give this new technology great potential in opportunistic network and Device-to-device communication.

In this article, We have a brief introduction on its core technology including device scanning, D2D group formation, communication process between devices and the surpport of Android. Based on these technology above, we evaluated the performance of WiFi-Direct compare to other D2D technology and implemented a D2D middleware for WiFi-Direct. Specific contribution are as follows:

1) Assessments on WiFi-Direct compared to bluetooth, WiFi hotspot technology especially in power-saving and communication speed. We find that WiFi-Direct have better performance in power-saving than WiFi hotspot technology and faster speed than bluetooth, but its speed is slightly slower than WiFi hotspot technology.

2) At present, revelevent apps on the market cannot be really D2D(All the members have to go through the group owner while they transfer files, and the group owner would broadcast those file to everymember in the group.) To solve this problems, we implemented a D2D middleware based on Android for WiFi-Direct. It enables real D2D communicaton among groups.

3) Base on the middleware above, we implemented a file transfer application and proved its functionality.

In the end, we discussed some problems that still existing in WiFi-Direct system. At last we did some prospects of the future work on WiFi-Direct.

Index Terms: WiFi-Direct, D2D, opportunistic network

目录

1:绪论 ......................................................................................................................... 1 1.1 背景 ......................................................................................................................... 1 1.2 问题 ......................................................................................................................... 2 1.3 本文的工作 ............................................................................................................. 3 1.4 论文的构成 ............................................................................................................. 3 2 WiFi-Direct核心技术 ................................................................................................. 4 2.1 拓扑结构 ............................................................................................................ 4 2.2 关键机制 ............................................................................................................. 5 2.2.1 WiFi-Direct的扫描过程 ............................................................................... 5 2.2.2 服务发现过程 .............................................................................................. 7 2.2.3 小组建立过程 .............................................................................................. 9 2.3 节点通信 ............................................................................................................. 9 3 Android 对Wi-Fi Direct的支持 ............................................................................... 11 3.1 简介 ................................................................................................................... 11 3.2 Android WiFi-Direct编程接口 .......................................................................... 11 3.2.1 类 ................................................................................................................ 11 3.2.2 接口 ............................................................................................................ 12 4 相似技术分析与WiFi-Direct性能对比 .................................................................. 12 4.1 无线Ad Hoc网络 ............................................................................................. 12 4.2 Bluetooth ........................................................................................................... 13 4.3 手机热点分享 ................................................................................................... 14 4.4 LTE D2D ............................................................................................................. 14 4.5 WiFi Direct与各种类似技术的细节比较 ........................................................ 15 4.5.1 与Ad Hoc的比较 ...................................................................................... 15 4.5.2 与蓝牙的比较 ............................................................................................ 16 4.5.3 与基于热点的手机互联技术的比较 ........................................................ 16

4.5.4 与LTE D2D技术的比较 ............................................................................ 17 4.6 WiFi-Direct性能评估 ........................................................................................ 17 4.6.1待机功耗 .................................................................................................... 17 4.6.2 WiFi-Direct与茄子快传和蓝牙的速度对比 ............................................. 18 5 无线D2D通信中间件 ............................................................................................. 19 5.1 需求 ................................................................................................................... 19 5.2设计 ................................................................................................................... 21 5.2.1 小组管理者形成各小组成员的MAC/IP映射表 ...................................... 21 5.2.2 MAC/IP映射表的分发 .............................................................................. 23 5.2.3小组成员形成自身映射表 ........................................................................ 23 5.3实现 ................................................................................................................... 24 5.3.1 主要模块 .................................................................................................... 24 5.3.2 模块功能 .................................................................................................... 24 6 原型系统实现 .......................................................................................................... 26 6.1介绍 ................................................................................................................... 26 6.2 测试 ................................................................................................................... 28 6.3 讨论 ....................................................................................................................... 34 6.3.1 多人小组建立时间的问题 ............................................................................ 34 6.3.2功耗问题 ........................................................................................................ 35 6.3.3 WiFi-Direct在D2D环境下应用时的干扰问题 ............................................ 36 7 结论 .......................................................................................................................... 36 8 参考文献 .................................................................................................................. 37 9 外文原文与翻译 ...................................................................................................... 38 9.1 外文原文 ........................................................................................................... 38 9.2 翻译 ................................................................................................................... 45

北京交通大学毕业设计(论文) 第 1 页

1:绪论

1.1 背景

随着多媒体技术的迅速发展,人们在视频,音乐等多媒体方面的需求越来越大。年轻人经常会聚集在一起观看图片、听歌或者欣赏视频,而通过无线来进行图片共享、即时聊天、视频共享就变得很符合人们的需求。

在日常的学术交流或者会议中,人们也经常要进行成果演示或者汇报工作,大致步骤是通过数据线将手提电脑与投影仪进行连接,将电脑上的内容投影到屏幕上。这种传统的方式受限于投影仪、幕布以及有线连接。如果能以无线的方式将笔记本甚至手机与投影仪连接起来,直接在幕布上进行展示,这样做既能对现有的设备进行合理的利用,节约不必要的而投入;同时摆脱了对线的依赖,极大地方便了用户的使用。

WiFi Direct的出现满足了人们在无线直连方面的需求。随着WiFi技术的发展,WiFi-Alliance成员又开发出了一种新的规范,称为Wi-Fi-Direct(又称为WiFi P2P技术),极大地拓展了用户对WiFi的使用。WiFi-Direct认证设备拥有了一种全新的功能:用户无需使用传统的WiFi基础设施网络就可以在WiFi客户端设备之间创建直接连接。获得WiFi联盟对等规范认证的设备将带有WiFi认证的WiFi-Direct认证标志。

今天,全球约10%的人口正在使用WiFi与他人进行连接。目前全

1

北京交通大学毕业设计(论文) 第 2 页

球共有10亿多部WiFi设备正在投入使用,截止到2013年全球出厂的WiFi设备达到将近15亿部。WiFi技术被广泛应用于家庭、数码相机、电视、游戏设备以及手机等。

WiFi-Direct设备可以建立与现有的传统的WiFi设备的直接连接。通过此种方式,成千上万中传统通过WiFi认证的设备将具备直接连接功能。与此同时,智能手机中Android的市场占有率最近稳居第一,基本上所有的Android手机都包含WiFi模块,也提供了硬件支持。

1.2 问题

虽然WiFi Direct的软硬件底层技术已经普及,WiFi-Direct技术的应用却至今不愠不火。这是因为两方面的原因:

1)作为一项新技术,其无线底层的一些核心设计尚不完善,用户体验不佳;

2)Android提供的编程接口非常低级,没有提供D2D通信的高层应用接口。

在这两方面,国外已有一些研究者进行了一些测量和编程工作。但国内对此的研究还刚刚起步,研究和应用都存在很大的空白,这极大地阻碍了我国无线通信产业界的发展。特别是,在5G网络的研究中,D2D技术是一项非常核心的技术,而WiFi-Direct技术正是一项很有潜力的D2D底层无线技术。因此,对其的研究是十分必要和紧迫的。

2

北京交通大学毕业设计(论文) 第 3 页

1.3 本文的工作

针对上述问题,我们展开了对Android编程以及WiFi-Direct的全面钻研,并认真地在Android平台上进行了研究和开发工作。我们阅读了大量WiFi-Direct相关论文,掌握了WiFi-Direct研究的最新发展趋势。然后,编程实践,在Android平台下,利用Android WiFi Direct应用编程接口,设计实现了一个WiFi-Direct的应用层MAC/IP地址同步机制,并通过JAVA编程实现该机制,解决了WiFi-Direct在应用层D2D通信的根本问题。主要工作为:

1)调查研究WiFi-Direct的底层协议和核心算法,包括节点扫描、D2D Group形成、节点通信过程,对其底层设计进行了研究。研究评估了Android系统目前对WiFi-Direct的编程接口支持。

2)设计实验,评估了Android系统下WiFi-Direct技术相对于蓝牙、WiFi热点手机直连技术的各项性能,包括功耗、传输速度等,证明WiFi-Direct功耗比基于WiFi热点的技术功耗降低1/3左右,而传输速度比蓝牙快9倍。

3)调研发现了目前市面上常见的Android手机直连文件传输应用的重大缺陷,即:不能进行组内D2D之间的通信。接着,基于Android Wi-Fi Direct底层编程接口,设计、实现了一个手机D2D通信的中间件(Middleware)。利用该中间件,节点加入D2D小组后,能够直接通信。最后,基于该中间件,我们实现了一个手机文件互传的原型系统,并利用该系统,验证了我们中间件的有效。

1.4 论文的构成

第一章为绪论,主要介绍当前的背景,以及需求;

3

北京交通大学毕业设计(论文) 第 4 页

第二章介绍了WiFi-Direct的技术特点,关键机制,通信模块; 第三章介绍了Android系统对于WiFi-Direct的支持;

第四章介绍了与WiFi-Direct类似的无线D2D技术,并且拿WiFi-Direct与其做了性能上的比较;

第五章介绍了WiFi-Direct组内通信时存在的问题,设计了一套解决该问题的中间件;

第六章介绍了Android中WiFi-Direct的原型系统,并将中间件嵌入其中,测试了中间件的性能。接着讨论了WiFi-Direct仍然存在的一些问题;

第七章为对本文做出了结论; 第八章为参考文献; 第九章为外文原文翻译。

2 WiFi-Direct核心技术

2.1 拓扑结构

WiFi-Direct终端之间建立连接都是以小组的形式来实现的。小组建立的拓扑结构包含两种即点对点的形式以及一对多的形式,而每一个小组中只能有一个小组的管理者。每当有设备要加入小组或者小组终结的情况都是由小组管理者来控制的。而小组当中的非管理者成员被称为客户端,它们统一由小组管理者来管理。 图2.3-1为WiFi-Direct的示例拓扑图

4

北京交通大学毕业设计(论文) 第 5 页

图2.1-1 WiFi-Direct的拓扑结构

2.2 关键机制

2.2.1 WiFi-Direct的扫描过程

WiFi-Direct的设备发现过程可以找到附近能够连接的设备。WiFi-Direct的设备发现过程主要有2个阶段:Scan和Find。设备发现使用的是请求帧和请求返回帧要进行设备间的信息交换。设备只有在如下几种状态下才能响应请求帧:

(1) 设备是小组管理者; (2) 设备处在Listen状态;

(3) 设备已与一个路由的接入点在发来请求帧的信道相连,此时设备

5

北京交通大学毕业设计(论文) 第 6 页

就会回应不能成为小组成员;

当WiFi-Direct设备加入一个组之后只有小组管理者会继续发送信标帧。 Listen状态:

当WiFi-Direct设备没有在任何一个组里面的时候,它们就会停留在Listen的状态来使得它们变得可发现。在该状态下时,设备会停留在某一个信道上等待其他机器发来请求帧,而这个信道是从信道1、6、11中选出来的。如果刚开始选择了某一个信道来进行设备发现,那么这个作为Listen的信道会持续该状态直到设备发现过程结束。 Scan状态

Scan状态下使用的是定义在IEEE Std 802.11-2007中的扫描过程。该扫描过程会发现周围的设备或者小组,然后选择最佳的一个信道来进行小组的建立。在Scan状态下设备通过收集周围设备在所有支持信道的信息来进行扫描。处于Scan状态下的设备不会回应请求帧。 Find状态

Find状态是为了是的2台同时处于search状态的设备到达同一个信道上后方便它们相互之间的通信。系统会让设备分别在Listen状态和发送请求帧状态之间来回循环,以使得2台设备能够有一台在Listen的状态,而另外一台设备则处于发送请求帧的状态。这样它们就能在1、6、11其中的一个信道上相遇,为之后的建立连接做好准备。 下图2.2.1-1是扫描的过程

6

北京交通大学毕业设计(论文) 第 7 页

图2.2.1-1 WiFi-Direct的扫描过程

2.2.2 服务发现过程

服务发现过程是设备之间在发现对方的设备之后通过选择性的帧交换来进行的,服务发现过程的目的是获取对方设备能提供哪些服务,如Bonjour、UPnP、Web服务等。如果设备1已经成功地发现了设备2,那么设备1可以在任何时刻执行服务发现过程,如图1-2所示:而之后的小组建立过程是在服务发现过程进行完之后才进行的。

7

北京交通大学毕业设计(论文) 第 8 页

图2.2.2-1 WiFi-Direct的服务发现过程

8

北京交通大学毕业设计(论文) 第 9 页

2.2.3 小组建立过程

在小组建立的过程中,将决定进行连接的两台设备哪台是小组管理者,而且成为小组管理者的设备还将决定小组是永久型还是临时的小组。

小组管理者的协商要进行3步帧的交换过程。设备1会先向设备2发送一个管理者协商请求帧,请求帧包括的就是小组管理者意愿值,小组管理者的形成过程如图1-3所示。

图2.2.3-1 WiFi-Direct的小组协商过程

2.3 节点通信

WiFi-Direct的通信模块分为上层应用层、中间信息处理层以及下层传输层,以下是这三层通信模块的具体介绍:

1)上层应用层,设计为人机接口功能,为用户操作的各项功能提供承托平台,包含用户管理模块、消息管理模块、通知管理模块和文件管理模块。该层以简洁流畅的人机界面设计呈现给用户,便于用户快速调

9

北京交通大学毕业设计(论文) 第 10 页

用所需功能,使用应用。

2)中间信息处理层,设计为信息处理功能,用于对传输信息进行诸如加密解密、CRC校验、数据压缩处理等功能。同时,该层还包含自定义的通信协议和网络发现服务协议的封装和解析还原功能。

3)下层传输层,设计为应用的信息传输功能,包含网络发现服务模块和传输管理等模块。通过合理选择TCP、UDP传输方案,将各种上层协议封装好的数据信息传输小组内其他设备,同时对接收的数据信息通过观察者模式告知上层应用框架,分发消息。底层硬件管理层,设计为Wi-Fi Direct管理功能,用于向wpa_supplicant进程发送相应命令,调用Wi-Fi Direct的各项功能,监听Wi-Fi Direct驱动通过wpa_supplicant发出的各种事件,再通过Android Intent广播机制告知上层框架。因此,操作Android系统底层Wi-Fi Direct功能的底层硬件管理模块是很关键的部分。

底层硬件管理层主要用于对本地Wi-Fi Direct硬件的调用和通信,是整个系统的核心也是上层部分功能实现的底层硬件基础,用于加载、激活底层Wi-Fi Direct硬件驱动,按需求操作Wi-Fi Direct各项功能,以及接收底层Wi-Fi Direct驱动的传出事件并通知上层应用执行相应处理。Android操作系统对Wi-Fi Direct功能的硬件驱动支持出现在Android 4.0及后续版本,由于Android系统为了维持API的稳定性以及对硬件访问权限的控制,Wi-Fi Direct的激活和关闭方式不同于传统的Wi-Fi操作,必须通过发送Action为Settings.ACTION_WIRELESS_SETTINGS的Intent,打开Wi-Fi设置界面启动或关闭Wi-Fi Direct功能,对于系统的独立性和便捷性、及用户体验都有极大的影响。为了能够实现直接激活和关闭Wi-Fi Direct底层硬件功能,本层采用Java反射机制,直接解析Android应用程序框架层中的wifip2pManager类,访问相应功能API。

10

北京交通大学毕业设计(论文) 第 11 页

3 Android 对Wi-Fi Direct的支持

3.1 简介

Android 4.1以上的系统对WiFi-Direct都有很好的支持,而且其他4.1一下的系统只需要升级到4.1以上也能享用WiFi-Direct这个功能,因为在硬件上没有额外的要求。它更多的是一种软件上的技术,这样就能满足不同的品牌的手机终端之间都能够通过WiFi-Direct很好地进行通信。

3.2 Android WiFi-Direct编程接口

3.2.1 类

Android为WiFi Direct提供了相应的类和接口,最主要的类有: 1. WifiP2pManager,这个类主要提供了管理设备连接的应用接口; 2. WifiP2pInfo这个类,主要提供的是关于Wi-Fi p2p 小组内的连接

信息;

3. WifiP2pDevice这个类代表的是Wi-Fi p2p的具体设备; 4. WifiP2pDeviceList代表的是Wi-Fi p2p中的设备列表;

5. WifiGroup代表的是Wi-Fi p2p中的小组。

11

北京交通大学毕业设计(论文) 第 12 页

3.2.2 接口

Android中为WiFi-Direct提供了许多接口,包括

1. WifiP2pManager.ActionListener能实现对设备连接、取消连接、创

建小组,移除小组、发现设备等的监听。

2. WifiP2pManager.ConnectionInfoListener能实现对当前连接情况的

信息的监听,

3. WifiP2pManager.GroupInfoListener能实现对当面小组信息的监

听。

除此之外安卓的API还提供了对于WiFi-Direct的意图进行处理,每当WiFi-Direct的连接情况发生改变或者用户扫描了附近的设备或者WiFi-Direct的功能被开启或者设备的具体信息发生改变如名字等意图的情况出现是,我们都能通过注册RECEIVER来对于这些情况做出应对。

4 相似技术分析与WiFi-Direct性能对比

4.1 无线Ad Hoc网络

Ad Hoc无线网络又称移动自组网、多跳网络或对等网,最初起源于20世纪70年代的美国军事研究领域,是一种特殊的在不借助中心管理的情况下,可以在有限范围内实现多个移动终端的临时互联,它为局域网内的移动通信网络提供了一种灵活的互联方式。Ad Hoc无线网络组网灵活、快捷、不受有线网络的影响,可广泛应用于军事通信、发生地震或水灾后的营救等无法或不便预先敷设网络设施的场合,具有广阔的发展

12

北京交通大学毕业设计(论文) 第 13 页

前景。

Ad Hoc无线网络具有自身的特殊性,在组件实际使用的无线网络时,必须充分考虑网络的应用规模和扩展性,以及应用的可靠程度及实时性的要求,选择合适的网络拓扑结构。另外,由于Ad Hoc网络自身结构的特殊性,设计和组建网络时应充分考虑Ad Hoc无线网络的特点,有助于我们最大程度地发挥整个网络的工作性能。

WiFi Ad Hoc网络方面存在大量的研究。WiFi联盟曾经也对它寄予了厚望。可是,因为WiFi Ad Hoc网络设计的技术、协议过分复杂,而实际生活中对其的需求并不大,所以至今未得到主流手机操作系统的支持,限制了它的普及和发展。

4.2 Bluetooth

蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。在2012年最新提出的蓝牙4.0将传统蓝牙技术、高速技术、低耗能技术集为一体。蓝牙4.0标准中对蓝牙进行了巨大的改进,较之以前的版本蓝牙4.0变得更加省电,成本更低,延迟更短,距离更远。功耗几乎降低了90%。蓝牙技术变得越来越成熟,在家庭娱乐、安全保障、物联网、医疗等领域有着成熟的应用。

13

北京交通大学毕业设计(论文) 第 14 页

蓝牙是一种大家耳熟能详的手机D2D通信协议,可是,蓝牙设计的重心在降低功耗上,在速率上要求不高。即使是4.0版本,其最高速度也仅24Mbps,而WiFi direct技术,随着WiFi技术的版本演进,有着不断增加的速度。比如目前得到广泛普及的802.11n WiFi技术,就具有数百兆Bit/s的传输速度。

4.3 手机热点分享

目前,以快牙为代表的各种手机文件互传的应用,都是基于手机热点分享,其实质一个手机作为热点,然后其他的手机加入到这个网络当中来,然后手机之间通过WiFi在这个网络中互相传递信息。该方案的好处是兼容性强,不支持WiFi Direct的手机也能实现手机文件互传和局域网内的信息交流和资源分享,但有着以下缺点:

1)手机只能通过用户手工扫描的方法,发现并加入附近热点,不能像蓝牙似的,扫描出周围的所有节点,然后建立点对点的通信。

2)即使有多台设备同时加入一个热点,目前的程序也存在如下重大限制,即:这些设备之间依旧不能互相通信,相反,任意一台终端只能先发送文件到作为热点的节点,然后由该热点节点对文件进行转发,让组内的所有成员都收到这个文件。因此,我们称之为:不具备D2D的真正通信功能。

4.4 LTE D2D

D2D(Device-to-Device)通信是由3GPP组织提出的一种在通信系统的控制下,允许LTE终端之间在没有基础网络设施的情况下,利用小区资源直接进行通信的新技术。它能够提升通信系统的频谱效率,在一定程度上解决无线通信系统频谱资源匮乏的问题。与此同时,它还可以

14

北京交通大学毕业设计(论文) 第 15 页

有效降低终端发射功率,减小电池消耗,延长手机续航时间。

随着无线通信系统的不断演进,移动通信系统的频谱资源已逐渐满足不了无线通信的发展需求。为减小带宽供给和带宽需求之间的差异,如何有效地利用已有带宽成为现阶段亟待解决的问题。

在3GPP提出的LTE-A研究项目中,需要在LTE的基础上提供新的技术来满足IMT-Advanced的要求,提供更高的数据速率和系统容量。IMT- Advanced将提供高达100MHz的带宽来实现高速率传输,但这些带宽并不是连续的,采用载波聚合技术可以同时利用几段非连续频谱达到提高传输速率的目的。这些不断演进的系统允许利用D2D通信来提高频谱利用率,此外,D2D还带来多方面的好处:提高通信速率、减低蜂窝小区基站的负载、减少电池消耗、提高无线网络的QoS、提高网络基础设施的鲁棒性、提供一定区域内点对点数据传输服务。

LTE D2D的一大特点是:网络援助/指导的D2D,即无线网络能够在邻居发现,节点互联等各个阶段,介入节点之间的D2D通信过程。与此相对应的是:类似蓝牙,WiFi Direct是节点之间自组织的一个过程,不需要网络的干预,由此减少了对网络的依赖,简化了应用编程接口。

4.5 WiFi Direct与各种类似技术的细节比较

4.5.1 与Ad Hoc的比较

在Ad Hoc的网络中,终端如果已经连接到Ad Hoc的网络中了,那么它就不能同时保持对外部的因特网的连接,而WiFi-Direct在协议上的处理使得手机在通过WiFi-Direct进行点对点的通信的时候还能保持对互

15

北京交通大学毕业设计(论文) 第 16 页

联网的连接,同时,Ad Hoc的功能在这种机会式的D2D连接或通信的应用场景下显得过于复杂,同时功耗也比较大。在目前终端的条件下难以得到大规模的应用,Ad Hoc的一整套体系在实际的D2D的应用中显得过于累赘。

4.5.2 与蓝牙的比较

WiFi-Direct与蓝牙二者有一脉相承的感觉,虽然它们在技术上有着很大的差别,但是它们的在扫描、匹配、连接、终端控制、文件传输等方面都有着十分相似的地方。但WiFi-Direct相对于蓝牙支持更大的范围以及更快的发送速率,这样WiFi-Direct的应用前景就显得更加的广泛,WiFi-Direct的理论最大速度为250Mbps,是蓝牙理论速度的十倍,在以后智能终端的电池发展变化达到一定的程度的时候,WiFi-Direct在设备终端间的视频通信或者应用这一个领域必定具有独一无二的优势。而且WiFi-Direct对于现在的智能终端都有良好的支持。

4.5.3 与基于热点的手机互联技术的比较

WiFi-Direct与利用手机建立热点来进行资源传输的功能看起来很相似,但是二者在一些层面有着本质的区别。WiFi-Direct的协议就是专门针对P2P这个概念而提出的,我们能通过这个它来实现附近设备的扫描、连接、加入小组等功能。那么在未来我们就能应用WiFi-Direct去实现类似蓝牙在设备控制,终端互联等功能。然而利用热点功能来进行资源传输的应用比如快牙,他们之间只能扫描到对方建立的无线局域网,无法清晰地区分附近的每一台具体的设备。假如要扫描到附近的所有设

16

北京交通大学毕业设计(论文) 第 17 页

备,那么每台设备都建立一个热点,功耗是很大的。另一方面就算手机之间利用快牙等应用加入了一个群组,他们之间的资源分享都是通过建立热点的手机来进行分发,这个时候假如小组中的一个成员上传了一个资源到该小组中,那么这个资源会被建立热点的手机分发到每一个成员的手机中,很有可能有的小组成员并不需要该资源,但也被动地接收了,这就会造成资源的浪费,而WiFi-Direct由于能扫描到附近的所有设备,那么他们加入了一个小组之后,每一台设备都能有清晰的标识,组员之间仍能在组内实现仅限于2人之间的互传。更重要的是由于WiFi-Direct协议中定义了扫描、配对、连接等功能,使得WiFi-Direct未来能在终端间的设备控制方面能够大展身手,而不仅仅局限于文件传输。

4.5.4 与LTE D2D技术的比较

LTE-D2D是近年来提出的新技术,这个概念旨在通过终端之间的直连通信来提高网络系统中的频谱利用率以及传输效率。而WiFi-Direct能够利用它传输距离以及传输速度的优势在以后的4G或者5G的D2D领域得到广泛的应用。 因此,两者在技术架构上存在明显不同,在应用上是互补的关系。

4.6 WiFi-Direct性能评估

4.6.1待机功耗

我们选用一台华为智能机在相同的情况下测试WiFi-Direct与茄子快传(一款我们测试后发现性能优良的、基于WiFi热点的、非常流行的手机直连文件传输应用)的耗电差别。

17

北京交通大学毕业设计(论文) 第 18 页

我们对比手机分别使用WiFi-Direct处于待机状态以及茄子快传建立热点之后待机状态的耗电情况。我们分别测试了5组、每组10分钟的耗电的数据,发现这2个应用的组耗电情况存在差异,其每10分钟耗电对比结果如下图4.6.1-1所示:

图4.6.1-1 快传与WiFi-Direct每10分钟耗电对比

由上图可知,使用茄子快传是的每10分钟耗电约为3%;而使用WiFi-Direct时的每10分钟耗电只有2%,所以WiFi-Direct比茄子快传省电1/3。

4.6.2 WiFi-Direct与茄子快传和蓝牙的速度对比

由于现在市面上配备有蓝牙4.0的智能手机很少,所以我们基于我们手机的蓝牙3.0功能进行测试。

测试的是这三种方式在传输同一段视频的时间对比,选用的是一个13M的视频文件,测试得到的结果如下图4.6.2-1:

18

北京交通大学毕业设计(论文) 第 19 页

图4.6.2-1 茄子快传、WiFi-Direct、蓝牙的速度对比

由上图可知在传输13M大小的文件时,蓝牙的耗时在90秒左右,而WiFi-Direct的耗时在10秒左右,茄子快传的耗时在5秒左右,这说明WiFi-Diret与茄子快传的速度分别是蓝牙的9倍和18倍,证明了它们相对应蓝牙在速率上的优势。这里我们发现WiFi-Direct在速度上略逊于茄子快传。经过初步分析后我们发现这可能跟茄子快传采用特殊的应用层传输机制有很大的关系,我们后续将继续这方面的研究,改进WiFi-Direct的传输速度。

5 无线D2D通信中间件

5.1 需求

19

北京交通大学毕业设计(论文) 第 20 页

我们调研了目前市面上常见的Android手机直连文件传输应用,发现它们的一个重大缺陷,即:不能进行D2D之间的通信,而只能由手机与被选举为AP或Group Owner通信,然后由AP或Group Owner将收到的内容广播到所有节点。

我们首先以WiFi Direct为背景对此问题进行说明。WiFi-Direct在安卓系统的4.1以上的版本是支持的,但是在应用时我们发现安卓系统提供的API在非小组管理者的成员的功能上以及数据的路由上有严重的缺失,即:小组成员的MAC地址和IP地址之间没有直接联系。具体来说,每当设备终端启动WiFi-Direct的功能或应用的时候,每个终端都会广播自己的MAC标识、名称等。在手机进行WiFi-Direct的扫描之后会看到附近的许多具有该功能的设备,而且它们的MAC地址互相之间能被看到,但是在建立完连接,形成小组之后小组管理者的IP地址时每一个成员都知道的,而且安卓提供的API也有相应的调用语句来得到小组管理者的IP地址,但是其他小组成员的IP地址我们无法互相知道,那么很多时候小组成员之间相互不知道对方的IP地址,那么当他们需要互相传输文件的时候就被迫的通过小组管理者来进行传输。而且在我们在JAVA语言的函数中只能得到关于WiFi适配器的信息,而不能得到关于WiFi-Direct的适配器的信息,底层的LINUX内核也无法提供任何的帮助,Unix的地址解析协议也只是短期性地进行更新,也没法提供可靠的帮助。

尽管客户端的IP地址是由小组管理者通过DHCP过程进行分配的,但是android的API里面并没有提供这样的接口让我们来获得在WiFi-Direct的小组内给个组员的IP。那么由于这种缺陷使得小组范围内只有客户端能给小组管理者发送数据,而小组管理者却并不知道各个组员的IP,而其他的组员更加没法得到对方的IP。由于WiFi-Direct在应用层的这种缺陷,所以在接下来我们将提出一种机制使得加入WiFi-Direct小组

20

北京交通大学毕业设计(论文) 第 21 页

的成员之间都能知道互相的IP地址,这个IP地址指的是加入小组后小组管理者为每一台机器提供的IP地址。

上述问题在快传等基于WiFi热点的手机文件互联应用中同样存在。具体表现为手机间不能进行D2D之间的通信,而只能由手机与被选举为AP通信,然后由AP将收到的内容广播到所有节点。我们尚未联系到这些应用的开发者,向其咨询为何其不支持该项功能。

5.2设计

5.2.1 小组管理者形成各小组成员的MAC/IP映射表

每当WiFi-Direct设备进行扫描的时候,都能扫描到附近设备的名字,MAC地址等,这个时候我们在程序中建立一个数据库,然后在数据库中建立一个包含mac/ip地址的一个表。当设备扫描完成的时候,我们就将它扫描到的设备的MAC地址存储到数据库里面,只是这个时候IP地址的那一列为空,因为此时设备之间仅仅进行了扫描还没有进行连接,小组管理者还没有进行DHCP的操作,所以此时IP为空。

接下来每当有设备进行连接的时候都会选出一个小组管理者,由于这个小组管理者接下来会充当类似AP的角色,所以它的IP地址的后三位为001,所以我们只需在建立连接后让非小组管理者的成员先提取出自己的MAC地址,然后发送到192.168.49.1,也就是小组管理者。然而在调试过程中我们会发现,这个非小组管理者的成员提取出来的MAC地址与小组管理者扫描到的该成员的MAC地址并不一致。因为当一台手机设备比如小组管理者既要与WLAN相连,又要在WiFi-Direct中充当角色的时候,它就需要2个MAC实体,而这两个MAC实体并不要求是物理实体,也可以使2个虚拟MAC的单一物理层实体。所以由于这

21

北京交通大学毕业设计(论文) 第 22 页

个原因,本人在调试的时候会发现,我们利用JAVA的API得到的MAC会与设备之间扫描到的MAC可能会有1位地址时不一样的,比如在调试过程中用到的某台手机在WLAN的时候使用的MAC为:00:66:4b:11:e3:08,但是我们发现在WiFi-Direct设备扫描得到的该手机的MAC为00:66:4b:11:e3:09,最后的08变成了09。但是这种变化的规律在不同的安卓手机之间是不一样的,比如在调试的过程中用到的NEXUS 4手机的MAC是在倒数第4位发生了变化,而用到的三星手机是在MAC地址的顺数第二位发生了变化,所以这个并不具有一致的规律型。但是我们要形成一个WiFi-Direct环境下的MAC/IP的映射表,那么就必须使得设备从JAVA的API得到的MAC地址与扫描到的MAC地址进行匹配。所以接下来我们要介绍一种字符串匹配的算法——levenshtein。

Levenshtein距离又称为编辑距离,指的是一个字符串变化到另一个字符串所需要的最少编辑次数。比如从字符串“abc”变化到“abd”需要的次数为1 ,那么它们的编辑距离就是1,从字符串“a”变化到“abc”需要的次数为2,那么它们的编辑距离就是2。所以对于上面的MAC地址进行匹配的时候,由于他们最多只有一位会发生变化,所以当小组中的成员向小组管理者发送自己的MAC地址的时候,小组管理者会进行如下的操作

1:得到小组成员发来的MAC地址;

2:从该数据流提取出发来MAC地址的小组成员的IP地址;

3:将该MAC与小组管理者扫描到的MAC地址进行一一匹配,一旦发现又匹配得到的编辑距离小于等于1那么就更新匹配得到的MAC地址对应的IP地址;

所以进行完上面的操作之后我们就能对每一个加入该小组的成员的MAC和IP地址进行匹配和存储。

22

北京交通大学毕业设计(论文) 第 23 页

5.2.2 MAC/IP映射表的分发

当小组管理者更新了它的MA/IP映射表之后就得告诉其他的成员当前小组中小组成员的IP地址更新情况,这个时候我们将创建一个JSON的对象,将小组管理者中的MAC/IP的表中的数据取出来,放到这个JSON对象里面,然后小组管理者就能已字符串的形式将这些更新好的MAC/IP的数据发送出去。在这个发送的过程中有一些药注意的地方是,小组管理者只会将更新了的数据发送给连接进来的成员,而那些IP地址仍然为空的成员则不会存在于这个JSON的对象中。然后我们通过数据库语言得到目前小组管理者组内的所有组员的IP地址,然后调用发送函数依次为每一个组员发送由小组管理者数据库中数据组成的JSONLIST。

5.2.3小组成员形成自身映射表

小组成员收到小组管理者发来的JSON的数据之后,它们就从这些数据中将对象一个一个地提取出来,然后进行自己的数据库的更新,在更新的过程中,小组成员首先会做的事情是观察自己的数据库中有没有发过来的这个MAC地址,如果没有则表示该成员并没有扫描到该MAC地址的设备,那么它就不会进行更新,而当小组管理者发过来的MAC地址与小组成员本身的列表中的MAC能匹配的话,小组成员就会对这个MAC地址的设备进行IP地址的更新。这样每当有一个新的成员加入到某个小组的时候,小组管理者就能更新该成员的IP地址,然后分发给每一个成员之后就能进行使得每一个成员都能实时的更新出当前小组中每一台设备的MAC与IP地址。之后各个成员之间进行通信就只需使用TCP当中的Socket编程即可,不论是传送什么类型的文件都能顺利地进

23

北京交通大学毕业设计(论文) 第 24 页

行了。

5.3实现

5.3.1 主要模块

设计这套中间件主要用到了4个模块:数据库定义模块、发送字符串Message_sengding模块、接收字符串的Message_received模块、处理字符串的Message_handling模块

5.3.2 模块功能

Dbforwifi:这里定义一个数据库,里面会写到数据库创建的流程以及数据库的表的创建流程,还会封装一些在其他的模块里面要用到的一些函数,比如get_mac_from_ip、get_ip_from_mac、插入语句、更新语句、得到数据库中所有成员的IP地址等。还有一个重要的环节是在数据库中定义了一个macmatch()的函数,这个函数就是针对之前的提到了MAC地址变化的问题,这个macmatch的函数的具体操作是让传递进来的MAC地址与成员本身数据库中存在的所有MAC地址依次进行匹配,当发现该MAC地址与数据库中的MAC地址(也就是设备扫描到的MAC地址)有一个匹配得到的编辑距离小于等于1时,我们就返回数据库中得到的匹配的MAC地址,然后再对该MAC地址的那一行进行更新等具体的操作。

Message_handling: 这个模块主要是用来处理小组管理者以及小组成员之间来进行MAC/IP的同步的一些方法。具体的有从数据库提取出所有成员的MAC/IP的信息,然后创建一个JSONLIST将每一个成员的

24

北京交通大学毕业设计(论文) 第 25 页

MAC/IP信息当成是其中的一个小的对象插入进去,然后将整个的JSON的对象转换成字符串,然后小组管理者就能发送它当前最新的数据库状态了。还有一些函数是属于非小组管理者的成员来如何对小组管理者发过来得JSONLIST做出相应的操作,每当非小组管理者收到小组管理者发过来的JSONLIST的时候,他们都对一次提取出JSONLIST中的每一个小的对象然后将它们的MAC/IP信息更新到自己的数据库中,每当有新的成员加入的时候,每一个非小组管理者成员都能收到小组管理者发过来的信息,让自己的数据库与小组管理者的数据库得到同步。这边同步的时候我们调用的是数据库中的更新方法,因为可能有一个小组成员之前属于这一个小组,进行一定的操作之后呢,它又离开了这个小组,那么当它再次加入的时候,小组管理者就可能给它分配与以往不同的IP地址,这个时候我们的小组管理者会从它发过来的MAC地址的信息中提取出最新的IP地址,然后分发给当前存在组里的组员,这样小组中每一个成员的IP地址就得到了及时的更新。

Message_sending:主要是用来发送一些关于MAC/IP或者JSONLIST的字符串信息,统筹起来都是使用流的方式来进行发送。这个模块提供了2个子函数,一个是setmessage()函数用来设置要发送的字符串;一个是setup(string string)函数,用来设置要发送的目的IP地址和端口。一般在设备连接发生变化的时候调用该模块。

Message_received:主要是用来处理小组管理者以及小组成员收到来自对方的关于MAC/IP的信息是如何调用函数来进行处理。一般在MAC/IP地址同步的整个过程中只存在两种不同的字符串信息,一个是新加入成员给小组管理者发送的自身的MAC,另一种是小组管理者分发给每一个成员的MAC/IP的一个JSON的字符串,我们可以在这里做一个简单的判断,当用户收到的字符串的长度为17的时候,我们判定信息是一个MAC地址,接着根据收到的数据流提取出发送该字符串的手机的

25

北京交通大学毕业设计(论文) 第 26 页

IP地址,然后进行小组管理者的数据库的更新。

当收到的字符串的长度大于17的时候我们收到的是小组管理者发过来的JSON的字符串,也就是当前小组管理者数据库当中各个成员的最新的MAC/IP的信息。这个时候我们就会调用message_handling中的decode_membership的函数,这样就能依次的取出JSON字符串当中的MAC/IP信息,然后根据这些信息依次更新自己的数据库。这样就能方面以后在向组内的成员发送数据流时从自己的数据库中提取出对方的IP地址信息。

6 原型系统实现

6.1介绍

我们设计的安卓WiFi-Direct原型系统主要包括了5个模块: 1. WiFiDirectActivity的主Activity模块, 2. BROADCASTRECEIVER模块, 3. DeviceDetailFragment和

4. DeviceListFragmet两个UI模块, 5. FileTransferService文件传送模块 以下是各模块的具体介绍:

WiFiDirectActivity:这个是整个程序的主ACTIVITY,它的功能主要包括实例化一个数据库来处理MAC/IP的信息,注册一个BROADCASTRECEIVER用来对于WiFi-Direct的一些状态进行监听,比如设备进行扫描操作时,设备连接时,设备状态改变时等。并且还有对

26

北京交通大学毕业设计(论文) 第 27 页

于关乎用户界面的2个Fragment的一些操作,比如扫描成功时显示相应的语句,显示设备的详细状态等。

BROADCASTRECEIVER:主要是针对设备发现,设备连接,设备信息变化以及设备是否使能WiFi-Direct功能等做出相应的变化。比如但启动设备发现功能是,就会更新Fragment,提示用户发现成功与否。设备连接时显示正在连接到MAC地址为XX:XX:XX:XX的设备。在这个模块中我们还有一个关键的逻辑:每当设备两台设备建立连接之后在BROADCASTRECEIVER的这个模块中就会针对这个设备连接的INTENT做出响应,通过INTENT.getAction()的操作来获得当前意图所在进行的操作,当发现意图的动作为WiFi_P2p_Connection_Changed的时候,我们就能够判断出来设备的连接情况发生了变化,在进一步的操作中我们能通过调用JAVA中的NETWORK的接口的信息判断到设备此时是否已经与其他的设备建立了连接,加入现在的设备仍然在连接当中,那么刚才这两台设备之间必定是进行的连接操作,这个时候我们调用扫描到的Wifip2pDevice的信息得到当前设备的扫描列表,然后依次将扫描到的各台设备的MAC地址插入到数据库中,这时每一个MAC地址对应的IP地址为空,只是进行了本机数据库的一个插入扫描到的各机器的MAC的操作。 然后我们调用Utils中的语句得到本机在WiFi-Direct的环境下的IP地址,然后判断本机是否为小组管理者,这个时候得判断只需要判断IP地址的后三位就行,因为小组管理者要行使类似AP的功能,所以它的IP地址的结尾一定为“.1”。在完成判断之后加入自身不是小组管理者,那么我们就会给小组管理者发送自身的MAC地址,由于小组管理者的IP地址是所有的设备都知道的,所以只需调用message_sending模块来进行字符串的发送就好。至于假如判断得到的结果是本身是小组管理者,那么就只需等待其他小组成员发过来的消息就好了,在这里不用做其他多余的操作。

27

北京交通大学毕业设计(论文) 第 28 页

FileTransferService:该模块主要用来发送数据流,每当用户点击发送图片的按钮,这时便会启动发模块,然后就会根据前面INTENT传送过来得IP地址和端口号、选择数据的URI来进行Socket的连接、输出流的发送等操作。

DeviceDetailFragment:该模块会写到一些按钮的监听器,以及点击这些按钮后的相关操作,比如连接按钮,取消连接按钮,发送文件按钮等。

DeviceListFragment:该模块会显示扫描到的设备的相关信息,扫描到的每一台设备都会在该模块中显示出来,并且点击它们之后就能显示出每一台设备的详细信息,比如设备的名称,设备的MAC地址等具体信息。

6.2 测试

首先我们将自主设计的中间件嵌入到Android的WiFi-Direct的原型系统中,然后使用了2台手机来进行该机制的测试,一台是华为手机,另一台是谷歌NEXUS 4。最开始进行的扫描操作,点击右上角的扫描按钮,得到了如下的界面:

28

北京交通大学毕业设计(论文) 第 29 页

Discovery Initiated表示的是扫描成功,然后我们的界面上就会显示扫描到的设备。

在完成扫描的操作之后我们进行连接操作的测试,点击扫描到的手机,下面就会弹出CONNECT的按钮,点击该按钮即进行连接操作。

29

北京交通大学毕业设计(论文) 第 30 页

在进行完连接的操作之后,中间件在后台自动地运行,首先成员会判断自己的角色,非小组管理者成员会发送自身的MAC地址到小组管理者,小组管理者收到MAC地址后,更新自身的数据库中的数据,然后将整个数据库发送给小组成员,小组成员自动进行MAC/IP地址映射表的更新。

接下来我们文件传输的测试,我们用到的是图片的互传来进行对该机制的测试,我们点击下图中的Launch按钮代表的是我们要从手机中选取一张图片来进行传输。

30

北京交通大学毕业设计(论文) 第 31 页

而文件的访问采用的是启用一个GET_CONTENT的INTENT来进行物件的选取,然后启用一个GET_DATA的INTENT来得到用户选取的文件的URI,选取图片之后应用会启动FileTransferService,在这个FileTranferService中会调用嵌入的中间件中的函数,比如根据INTENT传送过来得MAC地址,我们调用中间件里面的get_ip_from_mac,就能得到对方在小组中的IP地址,然后进行Socket连接,接着会启用一个CONTENT_RESOLVER来得到前面URI解析出来的文件,然后送到输出流中,最后就通过Socket来进行文件的发送。 文件选取的界面如下:

31

北京交通大学毕业设计(论文) 第 32 页

选取完图片之后我们得到的文件传输界面如下,下方的文字提示正在发送某图片。

32

北京交通大学毕业设计(论文) 第 33 页

而在另端的机器中我们会有一个ServerSocket进行accept的操作,将传递过来得数据流取出,然后我们启用一个INTENT.VIEW的意图来进行图片的查看。得到的查看界面如下。

33

北京交通大学毕业设计(论文) 第 34 页

反之亦然,我们转换这2台机器的角色另一台机器也能收到对方传过来的图片。以上测试表明我们设计的中间件很好地起到了同步WiFi-Direct组内成员MAC/IP的功能。

6.3 讨论

6.3.1 多人小组建立时间的问题

在我们的实验中,在WiFi-Direct的实际应用中,2人小组的建立一般

34

北京交通大学毕业设计(论文) 第 35 页

都比较顺利。根据WiFi-Direct的协议标准的流程,我们通过调用android提供的关于WiFi-Direct的API如WiFiP2Pmanager.DiscoverPeers(),这个时候每一台设备都会请求wpa_supplicant来进行扫描和发现的操作,在设备发现完成之后wpa_supplicant就会提示“P2P Device Found”的事件,然后就会启动获取对方信息的操作,之后就能完成建立连接,选择小组管理者等操作。在实际的操作中我们发现2人的小组建立一般都比较顺利,大多在几秒钟以内都能完成。但是在3人甚至多人的情况下,小组建立完成的时间就会发生很大的变化。假如现在A与B形成小组,在设备C加入的过程中,可能因为A与B还未完成WPS功能、A与B未扫描到C、A与B正在协商的过程中收到C的协商请求等原因而造成不同程度的延迟,在应用过程中发现最长可能超过2分钟。

6.3.2功耗问题

对于手机来将功耗一直都是一个很大的问题,而在应用WiFi-Direct的时候也不可避免,因为WiFi-Direct的带宽和信道容量都挺高,所以在以后应用它来进行视频等比较大的文件的传输的时候可能会有限制,更加值得注意的是,在非小组管理者的成员与小组管理者进行通信的时候,他们是进行直接的数据传输,但是在非小组管理者的成员之间进行数据通信的时候靠的是小组管理者来进行一个数据传递的服务,那么这个制度在某种程度上就增加了小组管理者的这台设备的功耗,比如现在我们有三台手机终端A、B、C,他们之间建立了一个小组来进行通信,设备A为这个组的小组管理者,那么假如现在小组成员B要和C进行通信,比如B向C传输一首歌曲,或者分享一张图片,那么这个数据的流向是B先传送到小组管理者A,小组管理者A进行数据的接收,然后小组管理者A再将这些数据传送给小组成员C。那么在整个的过程

35

北京交通大学毕业设计(论文) 第 36 页

中,小组管理者对于一个自己本身不要利用的数据进行了收和发的2次工作,所以这必将增加它的功耗,尤其是在进行大文件传输的时候,以现在的手机锂电池的状况必定会对手机提出很大的挑战。

6.3.3 WiFi-Direct在D2D环境下应用时的干扰问题

由于在WiFi-Direct中我们使用的信道一般只有三个:信道1,信道6,信道11。所以说假如我们在一定的区域范围内,有许多人通过WiFi-Direct来进行通信的话,可能会有好几个小组,那么每一个小组在同一个信道的话,那么小组太多必定会造成干扰,那么这个时候就可能需要更高层的网络来进行协调,规定一定距离范围内小组的个数以及每个小组所能容纳的成员的个数,这样才能保证通信质量,减少干扰。

7 结论

本文首先调查研究了WiFi-Direct的底层协议和核心算法,在此基础上设计实验,评估了Android系统下WiFi-Direct技术相对于蓝牙、WiFi热点手机直连技术的各项性能,包括功耗、传输速度等,证明WiFi-Direct功耗比基于WiFi热点的技术功耗低30%,传输速度比蓝牙快近9倍。

然后调研发现了目前市面上常见的Android手机直连文件传输应用的重大缺陷,即:不能进行D2D之间的通信,而只能由手机与被选举为AP或Group Owner通信,然后由AP或Group Owner将收到的内容广播到所有节点。然后,基于Android Wi-Fi Direct底层编程接口,设计、实现了一个手机D2D通信的中间件(Middleware)。利用该中间件,节点

36

北京交通大学毕业设计(论文) 第 37 页

加入D2D小组后,能够直接通信。

接着基于该中间件,我们实现了一个手机文件互传的原型系统,并利用该系统,验证了我们中间件的有效性。

最后,本文讨论了在研究过程中发现的一些WiFi-Direct值得注意的问题,展望了下一步的工作。

本文的工作是十分有益的。在研究方面,本文的工作有助于国内学术界和技术界对WiFi-Direct技术的理解、消化和利用,有助于推动5G研究中D2D部分的研究;在实际系统研发方面,本文开发的D2D中间件能够大大扩展目前流行的WiFi手机文件互传应用的功能,D2D应用能为广大Android手机用户服务,具有真实实用价值。

8 参考文献

1. 泰凯文. 基于Wi-Fi Direct的音视频共享系统的研究与实现[D].北京邮

电大学,2013.

2. Conti, M.; Delmastro, F.; Minutiello, G.; Paris, R., \"Experimenting

opportunistic networks with WiFi Direct,\" Wireless Days (WD), 2013 IFIP , vol., no., pp.1,6, 13-15 Nov. 2013

3. Camps-Mur, D.; Garcia-Saavedra, A.; Serrano, P., \"Device-to-device

communications pp.96,104, June 2013

4. Asadi, A.; Mancuso, V., \"WiFi Direct and LTE D2D in action,\" Wireless

Days (WD), 2013 IFIP , vol., no., pp.1,8, 13-15 Nov. 2013

5. Pyattaev, A.; Johnsson, K.; Andreev, S.; Koucheryavy, Y., \"3GPP LTE

traffic offloading onto WiFi Direct,\" Wireless Communications and

37

with Wi-Fi Direct: overview and

experimentation,\" Wireless Communications, IEEE , vol.20, no.3,

北京交通大学毕业设计(论文) 第 38 页

Networking Conference Workshops (WCNCW), 2013 IEEE , vol., no., pp.135,140, 7-10 April 2013

6. Xiaoxiao Liu; Huang, J.S.; Zujue Chen, \"The human positioning system

based on the WiFi Direct and Precision Time Protocol,\" Transportation, Mechanical, and Electrical Engineering (TMEE), 2011 International Conference on , vol., no., pp.1580,1584, 16-18 Dec. 2011

7. Zhuo Li; Qilian Liang; Xiuzhen Cheng; Znati, T., \"Outage performance

evaluation over Rayleigh fading channels of WiFi Direct networks in Smart Grid application,\"Innovative Smart Grid Technologies - Asia (ISGT Asia), 2012 IEEE , vol., no., pp.1,5, 21-24 May 2012

8. Hayoung Yoon; JongWon Kim, \"Collaborative streaming-based media

content sharing in WiFi-enabled home networks,\" Consumer Electronics, IEEE Transactions on , vol.56, no.4, pp.2193,2200, November 2010

9 外文原文与翻译

9.1 外文原文

DEVICE-TO-DEVICE

COMMUNICATIONS WITH WIFI DIRECT: OVERVIEW AND EXPERIMENTATION

DANIEL CAMPS-MUR, NEC NETWORK LABORATORIES ANDRES GARCIA-SAAVEDRA AND PABLO SERRANO,

UNIVERSIDAD CARLOS III DE MADRID

38

北京交通大学毕业设计(论文) 第 39 页

ABSTRACT

Wi-Fi Direct is a new technology defined by the Wi-Fi Alliance aimed at enhancing direct device to device communications in Wi-Fi. Thus, given the wide base of devices with Wi-Fi capabilities, and the fact that it can be entirely imple- mented in software over traditional Wi-Fi radios, this technology is expected to have a significant impact. In this article we provide a thorough overview of the novel functionalities defined in Wi-Fi Direct, and present an experimental eval- uation that portrays the performance to be expected in real scenarios. In particular, our results quantify the delays to be expected in practice when Wi-Fi Direct devices discover each other and establish a connection, and the performance of its novel power saving protocols. To the best of the authors’ knowledge this is the first article in the state of the art that provides a wide overview and experimental evaluation of Wi-Fi Direct.

INTRODUCTION

More than a decade after its initial design, the IEEE 802.11 standard [1], has become one of the most common ways to access the Internet. However, to continue with its striking success the Wi-Fi technology needs to evolve and embrace a larger set of use cases. Given the wide adoption of Wi-Fi in many kinds of devices, a natural way for the technology to progress is to target device-to-device connectivity, i.e. without requiring the presence of an Access Point (AP), traditionally provided by other technologies [2]. This is the purpose of the Wi-Fi Direct technol- ogy that has been recently developed by the Wi- Fi Alliance [3].

Direct device to device connectivity was already possible in the original IEEE 802.11 standard by means of the ad hoc mode of opera- tion. However, this never became widely deployed in the market and hence presents sev- eral drawbacks when facing nowadays require- ments, e.g. lack of efficient

39

北京交通大学毕业设计(论文) 第 40 页

power saving support or extended QoS capabilities. Another relevant technology in the Wi-Fi device to device com- munications space is 802.11z, also known as Tunneled Direct Link Setup (TDLS) [4], which

enables direct device to device communication but requires stations to be associated with the same AP.

Unlike the previous technologies, the Wi-Fi Direct technology takes a different approach to enhance device to device connectivity. Instead of leveraging the ad-hoc mode of operation, Wi-Fi Direct builds upon the successful IEEE 802.11 infrastructure mode and lets devices negotiate who will take over the AP-like functionalities. Thus, legacy Wi-Fi devices may seamlessly con- nect to Wi-Fi Direct devices (as explained in detail below). By taking this decision, Wi-Fi Direct immediately inherits all the enhanced QoS, power saving, and security mechanisms (e.g., [5, 6]) developed for the Wi-Fi infra- structure mode in the past years.

Wi-Fi Direct being a recent specification, its deployment is still on a very early stage. There is however an initial open source implementation, available in [7], which we have used to evaluate experimentally the performance of this technolo- gy in realistic scenarios. In the following, we review the main contributions of the article.

Firstly, we provide an overview of the Wi-Fi Direct specification, focusing on its novel func- tionalities and illustrating three representative group formation procedures. We then present an experimental evaluation of the delay associated with these group formations, based on a popular open source implementation of Wi-Fi Direct [7], and compare its performance against the expect- ed figures from simulations, discussing the observed discrepancies. Finally, we implement a novel power saving protocol (the “Notice of Absence”) and assess the resulting performance trade-offs in various realistic environments.

This article is organized as follows. The sec- tion below provides a detailed

40

北京交通大学毕业设计(论文) 第 41 页

overview of Wi-Fi Direct. The section following that presents an experimental evaluation of Wi-Fi Direct that analyzes the performance of its group formation procedures and of its power saving protocols. Finally, the last section concludes the article.

WI-FI DIRECT: A TECHNICAL OVERVIEW

In a typical Wi-Fi network, clients discover and associate to WLANs, which are created and announced by Access Points (APs). In this way, a device unambiguously behaves either as an AP or as a client, each of these roles involving a dif- ferent set of functionality. A major novelty of Wi-Fi Direct is that these roles are specified as dynamic, and hence a Wi-Fi Direct device has to implement both the role of a client and the role of an AP (sometimes referred to as Soft-AP). These roles are therefore logical roles that could even be executed simultaneously by the same device, for instance by using different frequen- cies (if the device has multiple physical radios) or time-sharing the channel through virtualiza- tion techniques (similar to [8] or [9]). In order to establish a communication, then, P2P devices have to agree on the role that each device will assume. In the following we describe how this communication is configured, by first introduc- ing the general architecture and then summarizing the main specified procedures, namely device discovery, role negotiation, service discovery, security provisioning and power saving. ARCHITECTURE

Wi-Fi Direct devices, formally known as P2P Devices , communicate by establishing P2P Groups, which are functionally equivalent to tra- ditional Wi-Fi infrastructure networks. The device implementing AP-like functionality in the P2P Group is referred to as the P2P Group Owner (P2P GO), and devices acting as clients are known as P2P Clients. Given that these roles are

41

北京交通大学毕业设计(论文) 第 42 页

not static, when two P2P devices discover each other they negotiate1 their roles (P2P Client and P2P GO) to establish a P2P Group. Once the P2P Group is established, other P2P Clients can join the group as in a traditional Wi-Fi net- work. Legacy clients can also communicate with the P2P GO, as long as they are not 802.11b- only devices and support the required security mechanisms (discussed later). In this way, legacy devices do not formally belong to the P2P Group and do not support the enhanced functionalities defined in Wi-Fi Direct, but they simply “see” the P2P GO as a traditional AP.2

The logical nature of the P2P roles supports different architectural deployments, two of them illustrated in Fig. 1. The upper part of the figure represents a scenario with two P2P groups. The first group is created by a mobile phone sharing its 3G connection with two laptops; for this first group, the phone is acting as P2P GO while the two laptops behave as P2P Clients. In order to extend the network, one of the laptops establishes a second P2P Group with a printer; for this second group, the laptop acts as P2P GO. In order to act both as P2P Client and as P2P GO the laptop will typically alternate between the two roles by time-sharing the Wi-Fi interface; later we introduce the NoA protocol that can be used for this purpose. The lower part of Fig. 1 illustrates the case of a laptop accessing the Internet through a legacy infrastructure AP while at the same time streaming content to a TV set by establishing a P2P Group, where the laptop acts as P2P GO (see [10] for more illustrative examples).

Like a traditional AP, a P2P GO announces itself through beacons, and has to support power saving services for its associated clients. The P2P GO is also required to run a Dynamic Host Con- figuration Protocol (DHCP) server to provide P2P Clients with IP addresses. In addition, only the P2P GO is allowed to cross-connect the devices in its P2P Group to an external network (e.g., a 3G network or an infrastructure WLAN as shown in Fig. 1), and for

42

北京交通大学毕业设计(论文) 第 43 页

this cross-connection bridging is not allowed. Therefore, the connec- tion must be done at the network layer, typically implemented using Network Address Transla- tion (NAT).

Finally, Wi-Fi Direct does not allow transfer- ring the role of P2P GO within a P2P Group. In this way, if the P2P GO leaves the P2P Group then the group is torn down, and has to be re- established using some of the specified proce- dures.

GROUP FORMATION

There are several ways in which two devices can establish a P2P Group, depending on, e.g., if they have to negotiate the role of P2P GO, or if there is some pre-shared security information available. Here we first describe the most com- plex case, which we denote as the Standard case, to afterwards highlight a couple of simplified cases which we denote as the Autonomous and Persistent cases. These three group formation cases are illustrated in Fig. 2.

Standard — In this case the P2P devices have first to discover each other, and then negotiate which device will act as P2P GO. Wi-Fi Direct devices usually start by performing a traditional Wi-Fi scan (active or passive), by means of which they can discover existent P2P Groups3 and Wi-Fi networks. After this scan, a new Dis- covery algorithm is executed, which we describe next. First, a P2P Device selects one of the so- called Social channels, namely channels 1, 6, or

11 in the 2.4 GHz band, as its Listen channel. Then, it alternates between two states: a search state, in which the device performs active scan- ning by sending Probe Requests in each of the social channels; and a listen state, in which the device listens for Probe Requests in its listen channel to respond with Probe Responses. The amount of time that a P2P Device spends on each state is randomly distributed, typically between 100 ms and

43

北京交通大学毕业设计(论文) 第 44 页

300 ms, but it is up to the each implementation to decide on the actual mechanism to e.g. trade-off discovery time with energy savings by interleaving sleeping cycles in the discovery process. An example operation of this discovery algorithm is illustrated in the first part of Fig. 2.

Once the two P2P Devices have found each other, they start the GO Negotiation phase. This is implemented using a three-way handshake, namely GO Negotiation Request/Response/Confir- mation, whereby the two devices agree on which device will act as P2P GO and on the channel where the group will operate, which can be in the 2.4 GHz or 5 GHz bands. In order to agree on the device that will act as P2P GO, P2P devices send a numerical parameter, the GO Intent value, within the three-way handshake, and the device declaring the highest value becomes the P2P GO. To prevent conflicts when two devices declare the same GO Intent, a tie- breaker bit is included in the GO Negotiation Request, which is randomly set every time a GO Negotiation Request is sent.

Once the devices have discovered each other and agreed on the respective roles, the next phase is the establishment of a secure communi- cation using Wi-Fi Protected Setup, which we denote as WPS Provisioning phase and describe later, and finally a DHCP exchange to set up the IP configuration (the Address config. phase in the figure).

Autonomous — A P2P Device may autonomously create a P2P Group, where it immediately becomes the P2P GO, by sitting on a channel and starting to beacon. Other devices can discov- er the established group using traditional scan- ning mechanisms, and then directly proceed with the WPS Provisioning and Address Configura- tion phases. Compared to the previous case, then, the Discovery phase is simplified in this case as the device establishing the group does not alternate between states, and indeed no GO Negotiation phase is required. An exemplary frame exchange for this case is

44

北京交通大学毕业设计(论文) 第 45 页

illustrated in the middle part of Fig. 2.

Persistent — During the formation process, P2P devices can declare a group as persistent , by using a flag in the P2P Capabilities attribute pre- sent in Beacon frames, Probe Responses and GO negotiation frames. In this way, the devices forming the group store network credentials and the assigned P2P GO and Client roles for subse- quent re-instantiations of the P2P group. Specifi- cally, after the Discovery phase, if a P2P Device recognizes to have formed a persistent group with the corresponding peer in the past, any of the two P2P devices can use the Invitation Proce- dure (a two-way handshake) to quickly re-instan- tiate the group. This is illustrated in the lower part of Fig. 2, where the Standard case is assumed as baseline, and the GO Negotiation phase is replaced by the invitation exchange, and the WPS Provisioning phase is significantly reduced because the stored network credentials can be reused.

9.2 翻译

WiFi设备直连通信:综述与实验

DANIEL CAMPS-MUR, NEC NETWORK LABORATORIES ANDRES GARCIA-SAAVEDRA AND PABLO SERRANO,

UNIVERSIDAD CARLOS III DE MADRID

摘要

WiFi-Direct是由Wi-Fi联盟提出的一种新技术,旨在提升设备在WiFi层面的直接通信,由于WiFi设备的广大基础,该技术能得到广泛的应用,因此它将在未来产生重大的影响。在本篇论文中我们将对WiFi-Direct进行一次深入的概述,并且对WiFi-Direct在实际场景下的表现做

45

北京交通大学毕业设计(论文) 第 46 页

出评估。我们会对实际场景下的设备发现、连接等的延迟进行量化,然后对该技术的省电机制进行评估。据作者所知,本篇是第一篇对WiFi-Direct进行综述和实验性测量的文章。 介绍

在IEEE 802.11标准提出十年之后,它已经成为接入互联网的一种普遍方式,然而要延续这样的成功,Wi-Fi技术需要持续演进来适应更多的情况。考虑到许多的设备都具有WiFi功能,所以很自然的技术演进方式就锁定在设备之间的互连,也就是不需要接入点的参与,这就是WiFi-Direct最近被Wi-Fi联盟提出的目的。

在IEEE 802.11标准中,设备之间的直连已经通过ad hoc模式得到了实现,然而由于该模式缺少省电和服务质量等的支持,ad hoc模式没有得到广泛的应用。在802.11z标准中,还有一种相关的设备直连的技术:通道直连链路建立。它能实现设备间的直接通信,但是需要基站与接入点同时参与。然而,WiFi-Direct技术采用了不同的方式来实现设备直连。WiFi-Direct采用的是IEEE 802.11的基础建设模式,让设备之间来协商,并且选出一个来实现类似接入点的功能。因此继承设备能无缝地接入到WiFi-Direct的连接中。正是采用这样的方式,WiFi-Direc很快继承了传统Wi-Fi基础建设模式中节能模式、安全管理的机制。

WiFi-Direc作为一种新技术,它的应用还停留在很初级的阶段。我们采用一个开源的应用来评估该技术在实际应用场景下的表现。接下来我们来回顾一下本文的主要贡献。

首先我们对WiFi-Direc技术进行了详细的概述,主要针对WiFi-Direc中小组建立的3个关键机制。接着我们测试了小组建立过程中的延迟。并且与仿真的表现做出对比,讨论它们之间的差异。最后我们实现了一种新的节能协议(缺席通知),并且评估了在不同实际环境下的性能权衡。

46

北京交通大学毕业设计(论文) 第 47 页

本文的结构如下。下面的部分提供了Wi-Fi直连的详细介绍,分析了它在小组建立过程和节能协议中的表现,最后对本文做出了结论。

WiFi-Direct:技术综述

在典型的Wi-Fi网络中,客户端发现然后连接到由接入点启用的WLAN。在这种方式下,设备有时充当客户端的角色,有时充当接入点的角色,每一种角色都涉及到不同的功能。WiFi-Direct的新颖之处在于设备的角色是不定的,因此WiFi-Direct必须要实现客户端以及接入点的功能。一个设备可能同时具有着2种功能,比如在不同的频率环境中或者时分信道下。为了建立通信连接,P2P设备必须承担不同的功能。接下来我们将介绍该标准中的主要结构并汇总主要的几个过程:设备发现,角色协商,服务发现,安全配置以及节能管理。

结构

WiFi-Direct设备通过建立P2P小组来进行通信,这个小组跟传统Wi-Fi基础设施网络在功能上是一样的,实现类似接入点功能的设备被称为小组管理者,而扮演客户端角色的设备被称为小组客户端。这些角色都不是固定的,都是通过设备之间进行扫描协商之后才确定的。一旦小组建立完成,其他的设备可以像加入传统WiFi网络一样加入到小组中来。不支持WiFi-Direct的传统设备不能加入到WiFi-Direct小组中来,它们将附近的小组管理者当做其他接入点一样地来看待。

47

北京交通大学毕业设计(论文) 第 48 页

Figure 1. Example of Wi-Fi direct supported topologies and use cases P2P角色的逻辑支持不同的机构部署,在Fig.1中,上面的部分代表了2个小组的场景,第一个小组是由一台手机与2台电脑组成的,手机作为小组管理者,它与2台电脑分享它的3G连接;另一个小组是其中的一台电脑同时与一台打印机建立的小组,在这个小组中电脑的角色为小组管理者,打印机为客户端,为了让该电脑同时扮演管理者和客户端的角色,它会在不同的时间段在这两个场景下扮演它的角色。后面我们将介绍NoA协议可以达到此目的。下面的部分描述的是一台电脑同时通过接入点上网,而且还与另一台电视建立P2P的连接,并且是作为小组管理者。

就像传统的接入点一样,设备是通过信标帧来宣布自己是小组管理者,因此它必须为客户端提供节能的支持,小组管理者同时需要运行DHCP服务,为每一台接入小组的设备提供一个IP地址,而且,在P2P

48

北京交通大学毕业设计(论文) 第 49 页

的小组中只有小组管理者被允许同时与外部因特网建立连接,所以这个P2P的连接必须在网络层完成,特别用到的是网络地址翻译的机制。

最后,WiFi-Direct不允许小组之间小组管理者的传递,如果小组管理者离开了这个小组,那么这个小组直接就消失了,如果要重新建立连接必须重复之前的一些扫描,连接,协商等过程。

小组形成

设备之间建立P2P小组有很多的方式,比如它们已经协商了小组管理者,或者设备之间已经分享了一些安全方面的信息。这里我们将描述最复杂的情况,我们称之为标准情况,接着我们将强调2中简单的情况:自主和永久的情况。一下是这3中小组成立情况的描述

49

北京交通大学毕业设计(论文) 第 50 页

标准:在这种情况下设备必须扫描发现对方,然后协商出小组管理者。WiFi-Direct设备通常会先进行一次传统的Wi-Fi扫描,扫描当前存在的P2P小组及周围的WiFi网络。之后,一种新的发现机制被执行,这在后面会有描述。首先设备从2.4GHz带宽的无线信道中选取1、6、11信道中的一个,然后会在2中状态下徘徊:Scan状态和Listen状态。在Scan状态,设备会主动的发出扫描的请求帧,并发送到1、6、11信道。在Listen状态,设备会在各个信道中等待请求帧,然后对收到的请求帧发出回应。在这两种状态的时间一般在100-300ms之间,而这取决于实际的机制,比如:平衡扫描时间与节能机制中的睡眠设定。扫描发现的具体例子在Fig.2中都有阐明。

一旦2台设备扫描发现到了对方,他们就会进行一个小组管理者协商的过程。这个过程是通过3次握手完成的:小组协商请求、反馈、确认。在这个过程中设备之间选出小组管理者以及传输的信道。为了选出小组管理者,设备之间都会发送一个小组管理者的意图值,在上面的3次握手中,它们会对各自的意图值进行比较,意图值较高的成为小组管理者,而假如2台设备的意图值相同,则会通过随机的形式选出小组管理者。

在选出小组管理者之后,下一个过程是启动一个建立安全连接的WPS过程,接着设备之间进行DHCP的过程,为客户端分配IP地址。

自主:一台P2P的设备通过停留在某个信道上并且发送信标帧来自主地创建一个P2P小组,然后变成小组管理者。其他连接进来的设备扫描发现之后忽略小组管理者的协商过程而直接进入到WPS过程,然后进行DHCP的操作。与之前的标准情况对比,这个自主过程主要是没有了小组协商的过程。这个过程的典型帧交换过程在Fig.2中有阐明。

永久:在小组形成的过程中,设备之间通过设定小组形成过程中信标帧的标识位来形成永久性小组。通过这种方式建立的小组,设备会存

50

北京交通大学毕业设计(论文) 第 51 页

储网络的证书为之后设备的重新加入做准备。那么在设备进行完发现过程之后,如果设备被认为之前与该小组建立过连接,那么设备间可以使用邀请机制(2次握手)来快速地重新建立小组。这个过程在Fig.2中也有阐述。在这个图中标准的流程被假定为基准线,小组协商过程被邀请过程取代,而且WPS过程也被缩减因为网络证书能被重新启用。

51

因篇幅问题不能全部显示,请点此查看更多更全内容