什么是 AWDL(Apple 无线直连)?它是如何工作的? [英] What is AWDL (Apple Wireless Direct Link) and how does it work?

查看:23
本文介绍了什么是 AWDL(Apple 无线直连)?它是如何工作的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试找出 AWDL 是什么.在 iOS 上,如果您通过蓝牙使用 Apple 的点对点网络,那么 Apple 似乎创建了一个新的网络接口awdl0"来实现(我猜)IP-over-BT.

但是我找不到任何关于这项技术或这个界面的文档,它的行为方式,我们必须/不得使用它做的事情等等.谷歌出现空白:(.

特别是,我相信这意味着建立了一个 BT 连接,并且我在顶部运行了一个 IP 网桥,你可以使用它来进行点对点通信".Apple 自己的系统库存在一些错误,即此桥的设置速度不够快,如果您过早发送数据,它似乎会被操作系统丢弃.所以......如果我可以查询这个awdl0,我希望检查你准备好了吗?"并延迟 P2P 消息,直到操作系统满意.

<小时>

更新

更多信息:我可以让成对的 iOS 设备相互创建 awdl0 连接 - 但它们永远不会创建到 OS X 机器,无论 BT 和 Bonjour 是否开启,无论设备是否配对.<小时>

一些背景:

在 iOS5 中,Apple 永久禁用了 Bonjour/点对点网络的蓝牙部分,并发布了一份技术说明,指导每个人如果想继续使用蓝牙作为 iOS 设备之间的传输,就使用 DNS-SD.这很好,但这意味着如果您想要高性能 BT 并且想要它可靠,您必须使用 DNS-SD.

(GameKit 有时工作正常,但我们经常在现实场景中看到糟糕的性能,例如拥挤的公共场所 - 如果您使用 DNS-SD,这种情况就会消失)

DNS-SD 协议不包含告诉您硬件正在使用什么的信息.但它确实会告诉您网络接口(这就是我知道我们在 awdl0 上运行的方式)

DNS-SD 很棒,而且我们在 iOS 设备之间建立了高速、低延迟的点对点连接——GameKit 承诺的所有东西,但当其中有多个 wifi/BT 设备时通常无法交付范围.

解决方案

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

AWDL 是什么?AWDL(Apple 无线直连)是一种低延迟/高速 WiFi 点对点连接,Apple 用于您所期望的任何地方:AirDrop、GameKit(也使用蓝牙)、AirPlay,或许还有其他地方.它使用自己的专用网络接口工作,通常是awdl0".

虽然一些服务,如 Instant HotSpot、蓝牙网络共享(当然)和 GameKit 通过蓝牙 SDP 宣传他们的服务,但 Apple 决定通过 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 上广播、浏览和解析点对点连接(只是不太好).

您可以在此处找到更多信息和此处.

I'm trying to find out what AWDL is. On iOS, if you use Apple's peer-to-peer networking over BlueTooth, it seems Apple creates a new Network Interface "awdl0" to implement (I guess) IP-over-BT.

But I can't find any docs on this tech, or this interface, how it behaves, things we must / must not do with it, etc. Google comes up blank :(.

In particular, I believe it means "established a BT connection, and I'm running an IP bridge over the top, and you can use this to communicate peer-to-peer". Apple's own system libraries have bugs where this bridge isn't setup quickly enough, and if you send data too soon, it appears to get dropped by the OS. So ... if I can query this awdl0, I hope to check "are you ready yet?" and delay P2P messages until the OS is happy.


UPDATE

More info: I can get pairs of iOS devices to create awdl0 connections to each other - but they never get created to OS X machines, whether BT and Bonjour are on or not, whether the devices are paired or not.


Some background:

In iOS5, Apple permanently disabled the Bluetooth parts of Bonjour/Peer-to-peer networking, and published a technote instructing everyone to use DNS-SD if they wanted to keep using Bluetooth as a transport between iOS devices. This is fine, but it means you must use DNS-SD if you want high-performance BT, and you want it reliable.

(GameKit sometimes works fine, but we often see terrible performance in real-world scenarios, e.g. crowded public places - which goes away if you use DNS-SD)

DNS-SD protocol doesn't include info to tell you what the hardware is using. But it does tell you the Network Interfaces (which is how I know we're running on awdl0)

DNS-SD is awesome, and we have high-speed, low latency connections peer-to-peer between iOS devices - all the stuff that GameKit promises but often fails to deliver whenever there's more than a few wifi/BT devices in range.

解决方案

AWDL recently caught a lot of attention when it caused Wi-Fi issues in iOS 8 and OS X Yosemite devices.

What is AWDL? AWDL (Apple Wireless Direct Link) is a low latency/high speed WiFi peer-to peer-connection Apple uses for everywhere you’d expect: AirDrop, GameKit (which also uses Bluetooth), AirPlay, and perhaps elsewhere. It works using its own dedicated network interface, typically "awdl0".

While some services, like Instant HotSpot, Bluetooth Tethering (of course), and GameKit advertise their services over Bluetooth SDP, Apple decided to advertise AirDrop over WiFi and inadvertently destroyed WiFi performance for millions of Yosemite and iOS 8 users.

How does AWDL work? Since the iPhone 4, the iOS kernels have had multiple WiFi interfaces to 1 WiFi Broadcom hardware chip.

  • en0 — primary WiFi interface
  • ap1 — access point interface used for WiFi tethering
  • awdl0 — Apple Wireless Direct Link interface (since iOS 7?)

By having multiple interfaces, Apple is able to have your standard WiFi connection on en0, while still broadcasting, browsing, and resolving peer to peer connections on awdl0 (just not well).

You can find more info here and here.

这篇关于什么是 AWDL(Apple 无线直连)?它是如何工作的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆