Zeroconf или Zero Configuration Networking — набор технологий, которые автоматически создают IP-сеть без конфигурации или специальных серверов.

Также известен как Automatic Private IP Addressing (APIPA), позволяя необученным пользователям соединять компьютеры, сетевые принтеры и другие устройства вместе и получать работающую сеть. Без Zeroconf или чего-нибудь подобного пользователь должен либо установить специальные сервисы, например DHCP и DNS, или настраивать всё вручную.

Идеология Zeroconf применялась в утилите Rendezvous от фирмы Apple ComputerИ звезда с звездою говорит — Компьютерра-Онлайн — Apple Rendezvous: теперь для Linux и Windows! , когда компания переходила с AppleTalk на IP.

Решённые проблемы Zeroconf решает три проблемы: Выбор сетевого адреса для устройства Нахождение компьютеров по имени Обнаружение сервисов, например принтеров

Выбираемый адрес Как IPv4, так и IPv6 описывают способы автоматического выбора IP-адреса. Согласно RFC 3927, 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 Service Discovery (DNS-SD) используется в продукции Apple, многих сетевых принтерах и значительном количестве других продуктов и приложений под различные ОС. Он считается более простым и легким в реализации, чем SSDP, поскольку он использует DNS, а не HTTP. Используются записи SRV (RFC 2782), TXT, и PTR для описания Service Instance Names, которые содержат подробности о доступных сервисах, таких как тип, доменное имя и опциональные параметры настройки. Существует реестр типов сервисов , публикуемый DNS-SD.org.

Протокол 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 описан в RFC 2608.

Стандартизация RFC 3927 — стандарт для выбора IP-адресов сетевыми устройствами, был опубликован в марте 2005 рабочей группой Zeroconf IETF working group, которая включала работников 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. zcip (Zero-Conf IP) BusyBox в текущих версиях включает реализацию zeroconf. zeroconf, пакет на основе Simple IPv4LL, более простой реализации от Arthur van Hoff.

Вышеперечисленные реализации — отдельные демоны. Другой подход заключается в модификации существующих DHCP-клиентов. Патч для uDHCP client/server

mDNS и DNS-SD Мультикаст DNS позволяет использовать привычные API и формат пакетов DNS для работы в малых сетях без обычного DNS-сервера.

mDNS и DNS-SD (DNS Service Discovery) часто реализуются вместе. Наиболее популярная комбинация — это mDNSResponder от Apple, который имеет интерфейсы к Си и Java и доступен для BSD, Mac OS X, Linux, и других POSIX-совместимых ОС, а также для Microsoft Windows.

См. также Wireless Zero Configuration

Ссылки на реализации 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 JmDNS in Java Liaison mdnsd, embeddable Multicast DNS Daemon without DNS-SD pyZeroConf, Python service discovery tmdns, tiny multicast DNS, from the same project as ZCIP Multicast DNS

Примечания

Литература Zero Configuration Networking: The Definitive Guide, by Daniel Steinberg and Stuart Cheshire, O’Reilly

Ссылки

Zeroconf.org — Stuart Cheshire’s page, including expired internet drafts. «Understanding Zeroconf and Multicast DNS», December 2002 article, very slightly outdated, on the O’Reilly Network. AIR Wiki : ZeroconfTechnologies Charter of the DNSEXT working group, which coordinates LLMNR standarization Explanation of .local addresses, which are used with mDNS but not yet standardized by IANA DNS-SD.org DNS Service Discovery UPnP consortium RFC 2608, Service Location Protocol, Version 2 avahi.org Zeroconf tech talk by Stuart Cheshire to Google engineers.

Категория:Apple Категория:Сетевые протоколы Категория:Обнаружение сервисов Категория:Программное обеспечение Apple