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.].
Пошук сервісів ред.
Протокол 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).
Стандарти 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 [Архівовано 1 травня 2009 у Wayback Machine.] (Zero-Conf IP)
- BusyBox [Архівовано 13 серпня 2011 у Wayback Machine.] в поточних версіях включає реалізацію zeroconf.
- zeroconf, пакет на основі Simple IPv4LL, простішій реалізації від Arthur van Hoff.
Вище перелічені реалізації — окремі демони. Інший підхід полягає в модифікації існуючих DHCP клієнтів.
Виноски ред.
- ↑ Архівована копія. Архів оригіналу за 7 грудня 2008. Процитовано 19 грудня 2008.
- ↑ Архівована копія. Архів оригіналу за 7 грудня 2008. Процитовано 19 грудня 2008.
- ↑ Архівована копія. Архів оригіналу за 7 грудня 2008. Процитовано 19 грудня 2008.
- ↑ Архівована копія. Архів оригіналу за 7 січня 2017. Процитовано 19 грудня 2008.
Посилання ред.
- 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.