Zeroconf
Zeroconf або Zero Configuration Networking — набір технологій, які автоматично створюють IP-мережу без конфігурації або спеціальних серверів.
Також відомий як Automatic Private IP Addressing (APIPA), дозволяючи ненавченим користувачам сполучати комп'ютери, мережеві принтери та інші пристрої разом і отримувати працюючу мережу. Без Zeroconf або чогось подібного користувач має або встановити спеціальні сервіси, наприклад DHCP і DNS, або настроювати все вручну.
Zeroconf був запропонований працівником фірми Apple Computer, коли компанія переходила з 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 [1] [2]. Поточна чернетка LLMNR дозволяє пристрою вибрати будь-яке доменне ім'я, що розглядається як недолік в безпеці деякими членами IETF[3]. mDNS сумісний з DNS-SD як описано нижче, а LLMNR не сумісний. Детальні відмінності обговорюються тут.
Протокол Apple
Полегшений протокол DNS Service Discovery (DNS-SD), використовується в продукції Apple, багатьох мережних принтерах і значній кількості інших продуктів і застосунків під різні ОС. Він вважається простішим і легшим в реалізації, чим SSDP, оскільки він використовує DNS, а не HTTP. Використовуються записи SRV (RFC 2782), TXT, і PTR для опису Service Instance Names, які містять подробиці про доступні сервіси, таких як тип, доменне ім'я і опціональні параметри налаштування. Існує реєстр типів сервісів [4], опублікований DNS-SD.org.
Протокол UPnP
Simple Service Discovery Protocol (SSDP) — це протокол Universal plug-and-play, що використовується в Windows XP і кількох типах мережного устаткування. Незважаючи на назву, він вважається складним і вимагає більших зусиль для реалізації, ніж DNS-SD. SSDP використовує HTTP-повідомлення, які містять URI типу сервісу і Unique Service Name (USN).
Реалізації
Apple Bonjour
Найширше вживане рішення Zeroconf — Bonjour (колишній Rendezvous) від Apple Computer, який не слідує SLP, а використовує комбінацію стандартів IETF. Bonjour використовує адресацію link-local, mDNS, і DNS-SD. Apple перейшла з SLP на mDNS і DNS-SD з виходом Mac OS 10.2.
IPv4 Link-Local адреси
Доступні декілька реалізацій:
- Windows і Mac OS підтримують їх з 1998. Apple випустив реалізацію з відкритим кодом в пакеті bootp для ОС Darwin.
- zcip (Zero-Conf IP)
- BusyBox в поточних версіях включає реалізацію zeroconf.
- zeroconf, пакет на основі Simple IPv4LL, простішій реалізації від Arthur van Hoff.
Вище перелічені реалізації — окремі демони. Інший підхід полягає в модифікації існуючих DHCP клієнтів.
Виноски
- Архівована копія. Архів оригіналу за 7 грудня 2008. Процитовано 19 грудня 2008.
- Архівована копія. Архів оригіналу за 7 грудня 2008. Процитовано 19 грудня 2008.
- Архівована копія. Архів оригіналу за 7 грудня 2008. Процитовано 19 грудня 2008.
Посилання
- JmDNS, a pure Java implementation of mDNS/DNS-SD
- pyZeroConf, a pure Python implementation of mDNS/DNS-SD
- Mono.Zeroconf, a cross platform (Linux, Windows, Mac), unified Mono/.NET library for Zeroconf, supporting both Bonjour and Avahi
- Multicast DNS Specification
- DNS-Based Service Discovery Specification
- Zeroconf.org — Stuart Cheshire's page, including internet drafts.
- dns-sd.org DNS based Service Discovery
- multicastdns.org Multicast DNS
- «Understanding Zeroconf and Multicast DNS», December 2002 article, slightly outdated, on the O'Reilly Network.
- AIR Wiki : ZeroconfTechnologies
- Charter of the DNSEXT working group, which coordinates LLMNR standardization
- RFC 2608, Service Location Protocol, Version 2
- Zero Configuration Networking: The Definitive Guide, by Daniel Steinberg and Stuart Cheshire, O'Reilly
- Zeroconf tech talk by Stuart Cheshire to Google engineers.