Interested Article - Zeroconf
- 2020-02-25
- 1
Zeroconf или Zero Configuration Networking — набор технологий, которые автоматически создают IP -сеть без конфигурации или специальных серверов.
Также известен как A utomatic P rivate IP A ddressing ( APIPA ), позволяя необученным пользователям соединять компьютеры, сетевые принтеры и другие устройства вместе и получать работающую сеть. Без Zeroconf или чего-нибудь подобного пользователь должен либо установить специальные сервисы , например DHCP и DNS , или настраивать всё вручную.
Идеология Zeroconf применялась в утилите Rendezvous от фирмы Apple Computer , когда компания переходила с AppleTalk на IP .
Решённые проблемы
Zeroconf решает три проблемы:
- Выбор сетевого адреса для устройства
- Нахождение компьютеров по имени
- Обнаружение сервисов, например принтеров
Выбираемый адрес
Как IPv4 , так и IPv6 описывают способы автоматического выбора IP-адреса. Согласно , IPv4 использует адреса 169.254.* ( link-local ).
Microsoft ссылается на это как Automatic Private IP Addressing (APIPA) или «Internet Protocol Automatic Configuration» (IPAC).
Поиск по именам
Существует два способа разрешения имен. Apple Computer использует Multicast DNS (mDNS), а Microsoft — Link-Local Multicast Name Resolution (LLMNR).
Эти протоколы имеют мало различий. mDNS выбирает имя в пространстве «.local» и объявляет его на некоторый мультикаст-адрес. Это приводит к специальной семантике для пространства имен .local, что считается проблемой для некоторых членов IETF . Текущий черновик LLMNR позволяет устройству выбрать любое доменное имя, что рассматривается как недостаток в безопасности некоторыми членами IETF . mDNS совместим с DNS-SD как описано ниже, а LLMNR не совместим. Детальные различия обсуждаются .
Поиск сервисов
Протокол Apple
Облегченный протокол (DNS-SD) используется в продукции Apple, многих сетевых принтерах и значительном количестве других продуктов и приложений под различные ОС. Он считается более простым и легким в реализации, чем SSDP , поскольку он использует DNS, а не HTTP . Используются записи SRV ( ), TXT, и PTR для описания Service Instance Names , которые содержат подробности о доступных сервисах, таких как тип, доменное имя и опциональные параметры настройки. Существует реестр типов сервисов , публикуемый .
Протокол UPnP
Simple Service Discovery Protocol (SSDP) — это протокол Universal plug-and-play , используемый в Windows XP и нескольких типах сетевого оборудования. Несмотря на название, он считается сложным и требует больших усилий для реализации, чем DNS-SD. SSDP использует HTTP-уведомления, которые содержат URI типа сервиса и Unique Service Name (USN).
Стандарты IETF
Service Location Protocol (SLP) — единственный протокол для обнаружения сервисов, получивший статус RFC, обычно игнорируется крупными производителями, кроме Novell . SLP описан в .
Стандартизация
— стандарт для выбора IP-адресов сетевыми устройствами, был опубликован в марте 2005 рабочей группой , которая включала работников Apple , Sun и Microsoft .
Реализации
Apple Bonjour
Наиболее широко применяемое решение Zeroconf — Bonjour (бывший Rendezvous) от Apple Computer , который не следует SLP, а использует комбинацию стандартов IETF. Bonjour использует адресацию link-local, mDNS и DNS-SD. Apple перешла с SLP на mDNS и DNS-SD с выходом Mac OS 10.2.
Avahi
Avahi — реализация Zeroconf для дистрибутивов GNU/Linux и BSD .
Адреса IPv4 Link-Local
Доступно несколько реализаций:
- Windows и Mac OS поддерживают их с 1998. Apple выпустил реализацию с открытым кодом в пакете bootp для ОС Darwin .
- (Zero-Conf IP)
- BusyBox в текущих версиях включает реализацию zeroconf.
- , пакет на основе , более простой реализации от Arthur van Hoff.
Вышеперечисленные реализации — отдельные демоны. Другой подход заключается в модификации существующих DHCP -клиентов.
- для
mDNS и DNS-SD
Мультикаст DNS позволяет использовать привычные API и формат пакетов DNS для работы в малых сетях без обычного DNS-сервера.
mDNS и DNS-SD (DNS Service Discovery) часто реализуются вместе. Наиболее популярная комбинация — это mDNSResponder от Apple, который имеет интерфейсы к Си и Java и доступен для BSD, Mac OS X, Linux, и других POSIX-совместимых ОС, а также для Microsoft Windows.
См. также
Ссылки на реализации
- Avahi , a free-software (LGPL) implementation of mDNS/DNS-SD for Linux, NetBSD, FreeBSD and Darwin/MacOSX
- Bonjour , an implementation of DNS-SD by Apple Computer
- in Java
- , embeddable Multicast DNS Daemon without DNS-SD
- , Python service discovery
- , tiny multicast DNS, from the same project as ZCIP
Примечания
- 15 февраля 2012 года.
Литература
- , by Daniel Steinberg and Stuart Cheshire, O’Reilly
Ссылки
- Erik Guttman. Autoconfiguration for IP Networking: Enabling Local Communication (англ.) // Vol. 5 , no. 3 . — P. 81—86 . : journal. — 2001. —
- — Stuart Cheshire’s page, including expired internet drafts.
- , December 2002 article, very slightly outdated, on the O’Reilly Network.
- , which coordinates LLMNR standarization
- , which are used with mDNS but not yet standardized by IANA
- DNS Service Discovery
- , Service Location Protocol, Version 2
- by Stuart Cheshire to Google engineers.
- 2020-02-25
- 1