Zeroconf sau Zero Configuration Networking este un set de tehnologii care creează automat o rețea IP fără configurație sau servere speciale.
Cunoscut și sub denumirea de A utomatic Private IP Addressing (APIPPA ) , acesta permite utilizatorilor neinstruiți să conecteze computere, imprimante de rețea și alte dispozitive împreună și să obțină o rețea funcțională. Fără Zeroconf sau ceva de genul acesta, utilizatorul trebuie fie să configureze servicii speciale precum DHCP și DNS , fie să configureze totul manual.
Filosofia Zeroconf a fost folosită în utilitarul Apple Computer Rendezvous [1] când compania a trecut de la AppleTalk la IP .
Zeroconf rezolvă trei probleme:
Atât IPv4 , cât și IPv6 descriu modalități de a selecta automat o adresă IP. Conform RFC 3927 , IPv4 folosește adrese 169.254.* ( link-local ).
Microsoft se referă la aceasta ca Adresare IP privată automată (APIPA) sau „Configurare automată a protocolului Internet” (IPAC).
Există două moduri de a rezolva numele. Apple Computer utilizează Multicast DNS (mDNS), în timp ce Microsoft utilizează Link-Local Multicast Name Resolution (LLMNR).
Aceste protocoale au puține diferențe. mDNS selectează un nume în spațiul „.local” și îl face publicitate la o adresă multicast. Acest lucru duce la o semantică specială pentru spațiul de nume .local, care este considerată o problemă de către unii membri ai IETF [1] [2] . Proiectul actual LLMNR permite unui dispozitiv să aleagă orice nume de domeniu, ceea ce este considerat un defect de securitate de către unii membri ai IETF [3] . mDNS este compatibil cu DNS-SD așa cum este descris mai jos, dar LLMNR nu este. Diferențele detaliate sunt discutate aici .
Protocolul Lightweight DNS Service Discovery (DNS-SD) este utilizat în produsele Apple, multe imprimante de rețea și un număr semnificativ de alte produse și aplicații pentru diferite sisteme de operare. Este considerat mai simplu și mai ușor de implementat decât SSDP , deoarece folosește DNS mai degrabă decât HTTP . Înregistrările SRV ( RFC 2782 ), TXT și PTR sunt folosite pentru a descrie numele instanțelor de servicii , care conțin detalii despre serviciile disponibile, cum ar fi tipul, numele domeniului și setările opționale. Există un registru de tip de serviciu [4] publicat de DNS-SD.org .
Protocol UPnPSimple Service Discovery Protocol (SSDP) este un protocol universal plug-and-play utilizat de Windows XP și de mai multe tipuri de echipamente de rețea. În ciuda numelui, este considerat complex și necesită mai mult efort de implementare decât DNS-SD. SSDP utilizează notificări HTTP care conțin un URI de tip de serviciu și un nume unic de serviciu (USN).
Standarde IETFProtocolul de locație a serviciului (SLP), singurul protocol de descoperire a serviciului care primește starea RFC, este în general ignorat de furnizorii majori, alții decât Novell . SLP este descris în RFC 2608 .
RFC 3927 , un standard pentru alegerea adreselor IP de către dispozitivele de rețea, a fost publicat în martie 2005 de grupul de lucru Zeroconf IETF , care includea lucrători de la Apple , Sun și Microsoft .
Cea mai utilizată soluție Zeroconf este Bonjour de la Apple Computer (fostă Rendezvous) , care nu urmează SLP, dar utilizează o combinație de standarde IETF. Bonjour folosește adresarea link-local, mDNS și DNS-SD. Apple a trecut de la SLP la mDNS și DNS-SD odată cu lansarea Mac OS 10.2.
Avahi este o implementare Zeroconf pentru distribuțiile GNU/Linux și BSD .
Sunt disponibile mai multe implementări:
Implementările de mai sus sunt daemoni separate. O altă abordare este modificarea clienților DHCP existenți.
Multicast DNS vă permite să utilizați formatul familiar de pachete API și DNS pentru a lucra în rețele mici fără un server DNS convențional.
mDNS și DNS-SD (DNS Service Discovery) sunt adesea implementate împreună. Cea mai populară combinație este mDNSResponder de la Apple, care are interfețe C și Java și este disponibilă pentru BSD, Mac OS X, Linux și alte sisteme de operare compatibile cu POSIX, precum și pentru Microsoft Windows. [6] [7]