什么是AWDL(Apple Wireless Direct Link)?它是如何工作的?

我试图找出AWDL是什么。 在iOS上,如果你使用苹果的蓝牙对等networking,似乎苹果公司创build了一个新的networking接口“awdl0”来实现(我猜)IP-over-BT。

但我找不到这个技术上的任何文档,或者这个界面,它如何performance,我们必须/不能用它做什么,等等。

特别是,我认为这意味着“build立了一个BT连接,而且我正在运行一个IP网桥,并且可以使用它来进行点对点通信”。 苹果公司自己的系统库存在一些错误,这个桥没有足够快的build立起来,而且如果你发送的数据太快,它似乎被操作系统丢弃。 所以…如果我可以查询这个awdl0,我希望检查“你准备好了吗?” 并延迟P2P消息,直到操作系统开心。


UPDATE

更多信息:我可以得到iOS设备对创buildawdl0连接到对方 – 但他们永远不会创build到OS X机器,无论是否BT和Bonjour是否在设备是否配对。


一些背景:

在iOS5中,苹果永久禁用了Bonjour /对等networking的蓝牙部分,并发布了一个技术说明,指示每个人使用DNS-SD,如果他们想继续使用蓝牙作为iOS设备之间的传输。 这很好,但这意味着如果您需要高性能的BT,并且希望它可靠,则必须使用DNS-SD。

(GameKit 有时可以正常工作,但是我们经常在真实世界的场景中看到可怕的performance,例如拥挤的公共场所 – 如果您使用DNS-SD,则会消失)

DNS-SD协议不包含告诉你硬件正在使用的信息。 但它告诉你networking接口(这是我知道我们在awdl0上运行)

DNS-SD非常棒,而且我们在iOS设备之间有高速,低延迟的点对点连接 – 这是GameKit承诺的所有东西,但是当范围内有超过几个WiFi / BT设备时,往往无法提供。

AWDL最近在iOS 8和OS X Yosemite设备中引起了Wi-Fi问题引起了很多关注。

什么是AWDL? AWDL(苹果无线直连)是苹果公司用于任何地方的低延迟/高速WiFi点对点连接:AirDrop,GameKit(也使用蓝牙),AirPlay以及其他地方。 它使用自己的专用networking接口,通常是“awdl0”。

尽pipeInstant HotSpot,Bluetooth Tethering(当然)和GameKit等一些服务通过蓝牙SDP宣传他们的服务,但是苹果决定通过WiFi宣传AirDrop,并无意中破坏了数百万优胜美地和iOS 8用户的WiFi性能。

AWDL如何工作? 自iPhone 4以来,iOS内核已经拥有了多个WiFi接口,以1个WiFi Broadcom硬件芯片。

en0 – 主WiFi接口ap1 – 用于WiFi共享的接入点接口awdl0 – Apple Wireless Direct Link接口(自iOS 7以来)

通过使用多个接口,Apple可以在en0上实现标准WiFi连接,同时仍然可以在awdl0上广播,浏览和parsing点对点连接(不太好)。

你可以在这里和这里find更多的信息。