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