Многоадресный фоновый трафик IPv6 (часть 6) — Apple Bonjour
Введение
Изучив инфраструктуру нулевой конфигурации Microsoft ранее в этой серии, мы теперь переходим к Bonjour от Apple. Первоначальное название технологии Bonjour, Rendezvous, которое в конечном итоге было изменено из-за проблемы с товарным знаком, указывает на ее концептуальные корни в многоадресной передаче.
История Apple с нулевой конфигурацией насчитывает десятилетия. Несмотря на свои недостатки, протокол AppleTalk, который 25 лет назад поставлялся с оригинальными компьютерами Mac и LaserWriters, на самом деле работал на удивление хорошо. Вы подключили новый принтер, и он просто появился в вашей локальной сети AppleTalk. По мере того, как мир перешел на IP-сети с их многочисленными преимуществами, ребенок был выброшен вместе с водой из ванны, а пророческие преимущества AppleTalk в виде plug-n-play были утеряны. Одна из возможных реакций на путаницу аббревиатур и протоколов под эгидой Windows Rally (UPnP, DLNA, DPWS, SSDP, WS-Discovery, PnP-X, WCN, LLTD и т. д.): разве мы не должны были пытаться чтобы упростить процесс объединения устройств в сеть?
Bonjour — это AppleTalk для 21-го века, модернизированный, но в основе такой же простой минималистской философии. Повсеместно распространенный среди продуктов Apple (Mac, iPhone, iPad, iTunes и т. д.), возможности Bonjour присутствуют практически на всех производимых сегодня сетевых принтерах и доступны на платформе Windows (например, в комплекте с iTunes), телефонах Linux и Android..
Бетамакс войны редукс?
На данный момент и Microsoft, и Apple серьезно привержены своему видению сетей будущего с многоадресной передачей, в которых устройства и службы динамически приходят и уходят, беспрепятственно подключаются и находят все, что им нужно, без какого-либо вмешательства человека.. Производители хеджируют свои ставки и на сегодняшний день пытаются поддерживать оба метода сети с нулевой конфигурацией.
Возможно, было бы слишком далеко сравнивать такое положение дел с войнами Betamax и VHS в первые дни существования видеомагнитофонов — во-первых, эта конкретная война длится уже много лет. Но я предполагаю, что более легкий подход Apple станет гораздо более распространенным, хотя бы потому, что мобильные устройства, такие как смартфоны, продаются лучше, чем традиционные ПК, и если все, что вам нужно, это печатать с iPhone, нет ничего проще, чем подключить его к беспроводной сети. Локальная сеть, просмотр принтеров с поддержкой Bonjour и вперед. Подход UPnP / DLNA с более тяжелым весом, вероятно, также сохранится. Однако для этого требуется членство в отраслевом торговом форуме, а для того, чтобы устройство достигло статуса готовности к DLNA, требуются месяцы или годы, поэтому, вероятно, скорость проникновения в корпоративные локальные сети будет ниже (хотя для домашних сетей трудно сказать).
Протокол разрешения имен Bonjour: mDNS
В отсутствие центрального DNS-сервера многоадресная рассылка обеспечивает своего рода облегченную DNS в локальных сетях. Вместо выдачи одноадресного DNS-запроса на порт 53 на DNS-сервере хосты выдают запросы поиска имени на многоадресный адрес по локальной ссылке. LLMNR от Microsoft — это один подход, mDNS от Apple — другой. Википедия отмечает:
В 2000 году Билл Мэннинг и Билл Вудкок описали службу многоадресных доменных имен, которая породила реализации Apple и Microsoft. Обе реализации очень похожи. Multicast DNS от Apple (mDNS) — это открытая спецификация, в то время как Link-local Multicast Name Resolution (LLMNR) от Microsoft используется мало, и эта спецификация не является публикацией стандартов IETF. Последний был опубликован как информационный RFC 4795.
Два протокола имеют незначительные различия в подходе к разрешению имен. mDNS позволяет сетевому устройству выбрать доменное имя в локальном пространстве имен и анонсировать его, используя специальный многоадресный IP-адрес. Это вводит особую семантику для локального домена, что некоторые члены IETF считают проблемой. Текущий проект LLMNR позволяет сетевому устройству выбирать любое доменное имя, что некоторые члены IETF считают угрозой безопасности. mDNS совместим с DNS-SD, как описано в следующем разделе, а LLMNR — нет.
В каждом подходе есть плюсы и минусы. Потенциальной проблемой для mDNS, например, является использование им пространства имен .local. У компаний, использующих это имя внутри компании, могут возникнуть проблемы с использованием Bonjour.
Многоадресный адрес IPv6 ff02::fb используется для трафика mDNS.
Обнаружение службы Bonjour: DNS-SD
Обнаружение служб, как мы видели ранее с Microsoft SSDP и WS-Discovery, является третьим важным этапом нулевой конфигурации. В DNS-SD (обнаружение служб DNS) Apple нашла способ использовать тот же многоадресный DNS, который она уже использовала для локализованного разрешения имен, и расширить его для использования с обнаружением служб.
Википедия дает хороший обзор использования двойного именования и обнаружения служб mDNS:
Многоадресный DNS (mDNS) — это протокол, использующий API-интерфейсы, аналогичные одноадресной системе доменных имен, но реализованные по многоадресному протоколу. Каждый компьютер в локальной сети хранит собственный список записей ресурсов DNS (например, A, MX, SRV) и присоединяется к группе многоадресной рассылки mDNS. Когда клиент mDNS хочет узнать IP-адрес ПК по его имени, клиент mDNS отправляет запрос на хорошо известный многоадресный адрес; ПК с соответствующей записью A отвечает своим IP-адресом. Групповой адрес mDNS — 224.0.0.251 для IPv4 и ff02::fb для локальной адресации IPv6.
DNS-SD — это вторая половина решения Apple, построенная поверх системы доменных имен. Он используется в продуктах Apple, многих сетевых принтерах и ряде сторонних продуктов и приложений в различных операционных системах. Решение Apple использует сообщения DNS, в отличие от конкурирующей технологии Microsoft, SSDP, которая использует сообщения HTTP. Он использует записи DNS SRV, TXT и PTR для объявления имен экземпляров службы. Хосты, предлагающие услуги, публикуют сведения о доступных услугах: экземпляр, тип услуги, доменное имя и дополнительные параметры конфигурации. Типы услуг предоставляются неофициально в порядке очереди. Реестр типов услуг поддерживается и публикуется DNS-SD.org.
Принтеры и войны протоколов
На заднем плане, как мы обсуждали ранее, скрывается битва между двумя отраслевыми титанами за определение природы сети с нулевой конфигурацией. В нашем следующем примере принтер Konica Minolta BizHub пытается быть агностическим и рассылает свои сервисные предложения как по SSDP от Microsoft, так и по DNS-SD от Apple:

фигура 1