Что такое AWDL (Apple Wireless Direct Link) и как он работает?
Я пытаюсь выяснить, что такое AWDL. На iOS, если вы используете одноранговую сеть Apple через BlueTooth, кажется, что Apple создает новый сетевой интерфейс "awdl0" для реализации (я думаю) IP-over-BT.
Но я не могу найти какие-либо документы по этой технологии, или этот интерфейс, как он себя ведет, вещи, которые мы должны/не должны делать с ним, и т.д. Google выглядит пустым: (.
В частности, я считаю, что это означает, что "установлено соединение BT, и я запускаю IP-мост сверху, и вы можете использовать это для обмена одноранговым узлом". У собственных системных библиотек Apple есть ошибки, когда этот мост не настроен достаточно быстро, и если вы отправляете данные слишком рано, он, похоже, будет удален ОС. Итак... если я могу запросить этот awdl0, я надеюсь проверить "вы еще готовы?" и задерживать сообщения P2P до тех пор, пока ОС не будет счастлива.
UPDATE
Дополнительная информация: я могу получить пары устройств iOS для создания awdl0-соединений друг с другом, но они никогда не создаются для компьютеров OS X, будь то BT и Bonjour, включены ли устройства или нет.
Некоторая предыстория:
В iOS5 Apple навсегда отключила части Bluetooth в сети Bonjour/Peer-to-peer и опубликовала техническую информацию, в которой каждому было предложено использовать DNS-SD, если они хотят продолжать использовать Bluetooth в качестве транспорта между устройствами iOS. Это нормально, но это означает, что вы должны использовать DNS-SD, если хотите высокопроизводительный BT, и вы хотите, чтобы он был надежным.
(GameKit иногда отлично работает, но мы часто видим ужасную производительность в реальных сценариях, например, в массовых общественных местах, которые уходят, если вы используете DNS-SD)
Протокол DNS-SD не содержит информации, чтобы сообщить вам, что использует оборудование. Но он говорит вам о сетевых интерфейсах (так я знаю, что мы работаем на awdl0)
DNS-SD - это потрясающе, и у нас есть высокоскоростные соединения с низкой задержкой между одноранговыми устройствами iOS - все, что есть в GameKit promises, но часто не удается доставить, когда там больше нескольких Wi-Fi/BT устройств в диапазоне.
Ответы
Ответ 1
AWDL недавно привлек большое внимание, когда он вызвал проблемы Wi-Fi в устройствах iOS 8 и OS X Yosemite.
Что такое AWDL?
AWDL (Apple Wireless Direct Link) - это беспроводная одноранговая связь с низкой задержкой/высокой скоростью. Apple использует везде, где вы ожидаете: AirDrop, GameKit (который также использует Bluetooth), AirPlay и, возможно, в других местах. Он работает с использованием собственного выделенного сетевого интерфейса, обычно "awdl0".
Хотя некоторые сервисы, такие как Instant HotSpot, Bluetooth Tethering (конечно) и GameKit рекламируют свои услуги по Bluetooth SDP, Apple решила рекламировать AirDrop через Wi-Fi и непреднамеренно разрушила производительность WiFi для миллионов пользователей Yosemite и iOS 8.
Как работает AWDL?
Начиная с iPhone 4, ядра iOS имели несколько интерфейсов Wi-Fi для 1 чипа Wi-Fi Broadcom.
en0 - основной интерфейс WiFi
ap1 - интерфейс точки доступа, используемый для подключения Wi-Fi
awdl0 - Интерфейс Apple Direct Direct Link (с iOS 7?)
Имея несколько интерфейсов, Apple может иметь стандартное WiFi-соединение на en0, при этом все еще широковещательно, просматривая и разрешая одноранговые соединения на awdl0 (просто не очень хорошо).
Здесь вы можете найти более подробную информацию и здесь.