Zeroconf

Cara mencari alamat

Standar IPv4 dan IPv6 memiliki beberapa cara yang umum digunakan untuk memilih alamat IP tanpa bantuan apapun secara otomatis. Dengan merujuk ke dokumen RFC 3927, IPv4 menggunakan alamat 169.254.*.* (link-local address). Sementara itu untuk IPv6, bisa dilihat pada dokumen RFC 2462. Di dalam RFC 3927, IPv4 menyebut teknik tersebut dengan nama IPv4 Link-Local (IPv4LL), tetapi Microsoft menyebut teknik ini sebagai Automatic Private IP Addressing (APIPA) atau Internet Protocol Automatic Configuration (IPAC).

Resolusi nama

Paper yang menjelaskan mengenai hal ini dipublikasikan oleh Bill Manning dan Bill Woodcock pada tahun 2000 sebagai Multicast Domain Name Service, yang kemudian diimplementasikan dengan beberapa pekerjaan yang diselesaikan oleh Apple Computer dan Microsoft.
Ada dua cara yang sangat mirip tentang bagaimana cara komputer melakukan resolusi nama. Apple menggunakan Multicast DNS (mDNS), yang dipublikasikan secara bebas. Sementara Microsoft menggunakan Link-Local Multicast Name Resolution (LLMNR), yang jarang digunakan dan juga tidak berada di atas jalur standar yang ditetapkan oleh Internet Engineering Task Force (IETF). LLMNR ini dipublikasikan sebagai RFC 4795 dengan derajat "informational".
Kedua protokol tersebut memiliki perbedaan yang tipis dalam pendekatan mereka melakukan resolusi nama jaringan. mDNS mengizinkan sebuah perangkat jaringan untuk memilih sebuah nama domain di dalam ruang nama ".local" lalu mengumumkannya dengan menggunakan alamat IP multicast khusus. Hal ini memperkenalkan beberapa semantik khusus untuk ruang nama .local, yang dianggap sebagai sebuah masalah oleh beberapa orang anggota IETF. mDNS juga kompatibel dengan DNS-SD seperti yang akan dijelaskan pada bagian berikutnya, sementara LLMNR tidak mendukungnya.

Protokol Apple: mDNS/DNS-SD

Multicast DNS (mDNS) merupakan sebuah protokol yang menggunakan antarmuka pemrograman aplikasi yang mirip dengan sistem DNS unicast tetapi diimplementasikan secara berbeda. Setiap komputer dalam jaringan menyimpan daftar catatan DNS-nya masing-masing (sebagai contoh: A record, MX record, PTR record, SRV record dan lain sebagainya) dan saat klien mDNS hendak mengetahui alamat IP dari sebuah PC dengan menggunakan namanya, PC yang memiliki catatan A yang bersangkutan akan menjawabnya dengan menggunakan alamat IP-nya sendiri. Alamat multicast yang digunakan oleh protokol mDNS ini adalah 224.0.0.251.
DNS-based Service Directory (DNS-SD) merupakan salah satu solusi lainnya yang ditawarkan oleh Apple, yang dibuat di atas protokol Domain Name System. Protokol ini digunakan di dalam beberapa produk Apple, beberapa printer jaringan dan beberapa produk pihak ketiga dan juga aplikasi yang berjalan di atas berbagai macam sistem operasi. Jika dibandingkan dengan teknologi yang ditawarkan oleh Microsoft, SSDP, teknologi ini menggunakan DNS, ketimbang menggunakan protokol HTTP. DNS-SD menggunakan DNS SRV record (RFC 2782), TXT record dan PTR record untuk mengumumkan Service Instance Names. Host-host yang menawarkan beberapa layanan berbeda akan mempublikasikan informasi detail layanan yang tersedia, seperti halnya nama instance, tipe layanan, nama domain dan juga beberapa konfigurasi parameter opsional lainnya. Tipe-tipe layanan diberikan secara informal dalam skema first-come-first-served. Pendaftaran tipe layanan ini diatur dan dipublikasikan oleh www.dns-sd.org.
Banyak klien jaringan Mac OS X, seperti halnya browser Safari dan juga iChat (perangkat lunak instant messaging) menggunakan DNS-SD untuk menemukan server yang berdekatan dengan klien tersebut. Dalam sistem operasi Windows, beberapa aplikasi klien instant messaging dan juga klien VoIP seperti Gizmo juga mendukung DNS-SD. Beberapa distribusi GNU/Linux juga memasukkan dukungan fungsionalitas DNS-SD.
mDNS/DNS-SD dikembangkan oleh seorang pekerja di Apple Computer, Stuart Cheshire, saat Apple berpindah dari AppleTalk menuju protokol TCP/IP.

Protokol Microsoft: Universal Plug and Play (UPnP) SSDP

Protokol Simple Service Discovery Protocol (SSDP) merupakan sebuah protokol Universal Plug and Play, yang digunakan di dalam sistem operasi Windows XP dan beberapa merek perangkat jaringan. SSDP menggunakan notifikasi pengumuman yang ditawarkan oleh protokol Hypertext Transfer Protocol (HTTP) yang memberikan Universal Resource Identifier (URI) untuk tipe layanan dan juga Unique Service Name (USN). Tipe-tipe layanan diatur oleh Universal Plug and Play Steering Committee.
SSDP didukung oleh banyak perangkat firewall Small Office Home Office (SOHO), di mana host komputer yang berada di belakangnya bisa membukakan lubang untuk beberapa aplikasi. SSDP juga terdapat di dalam sistem-sistem pusat media digital (digital media center), di mana pertukaran media antara komputer dan media center difasilitasi dengan menggunakan SSDP.

Usaha yang sedang dilakukan dan Protokol standar IETF

Protokol Service Location Protocol (SLP), satu-satunya protokol yang telah mencapai status "Proposed Standard" oleh IETF untuk kategori service discovery, didukung oleh printer-printer jaringan milik Hewlett-Packard, Novell, Sun Microsystems, dan Apple. Meskipun demikian, SLP diabaikan oleh beberapa vendor besar lainnya. SLP digambarkan dalam RFC 2608 dan RFC 3224, dan implementasinya bisa diperoleh dalam Solaris dan Linux.

Standardisasi

Standar untuk memilih alamat untuk perangkat-perangkat yang dihubungkan ke dalam jaringan komputer, RFC 3927, telah dipublikasikan pada bulan Maret 2005 oleh kelompok kerja Zeroconf IETF Working Group, yang mencakup di dalamnya orang-orang yang bekerja di Microsoft, Apple, dan Sun Microsystems.
LLMNR telah diserahkan untuk diadopsi secara resmi pada kelompok kerja DNSEXT IETF working group, tetapi gagal memperoleh konsensus, lalu dijadikan RFC yang memiliki status "informational" saja: RFC 4795. Setelah itu, Apple pun diminta oleh IETF untuk menyerahkan spesifikasi mDNS/DNS-SD, akan tetapi Apple pun masih gagal, dan protokol tersebut juga dikategorikan dalam status "informational", meskipun mDNS/DNS-SD jauh lebih banyak digunakan secara luas ketimbang LLMNR.
Sementara itu, RFC 2608, yang merupakan dokumen mengenai standar SLP untuk mengetahui di mana untuk mendapatkan layanan, dipublikasikan oleh kelompok kerja SVRLOC IETF working group.

Apple Bonjour

Solusi Zeroconf yang paling banyak diadopsi adalah Bonjour (yang sebelumnya dikenal dengan Rendezvous) yang dipublikasikan oleh Apple, yang menggunakan protokol mDNS/DNS-SD. Apple mengubah teknologi dari SLP ke mDNS/DNS-SD saat mereka merilis Mac OS X 10.1 dan Mac OS X 10.2, meskipun SLP tetap didukung oleh Mac OS.
Aplikasi mDNSResponder milik Apple juga memiliki antarmuka untuk bahasa pemrograman C dan Java, dan tersedia untuk beberapa sistem operasi, seperti BSD, Mac OS X, Linux, dan beberapa sistem operasi yang berbasiskan POSIX, serta tentu saja untuk Microsoft Windows, yang bisa diunduh dari situs web Apple.

Avahi

Avahi adalah implementasi Zeroconf untuk sistem operasi Linux dan BSD. Avahi mengimplementasikan IPv4LL, mDNS, dan DNS-SD. Teknologi ini telah menjadi bagian dalam banyak distribusi Linux, dan sering diinstalasikan secara default oleh beberapa distribusi. Jika dijalankan secara bersamaan dengan modul nss-mdns, Avahi juga bisa menawarkan fitur resolusi nama host.
Avahi juga mengimplementasikan pustaka kompatibilitas biner yang melakukan emulasi terhadap Bonjour dan Howl (implementasi mDNS yang pernah populer tetapi telah tidak digunakan lagi), sehingga perangkat lunak yang menggunakan implementasi-implementasi tersebut juga dapat menggunakan Avahi menggunakan antarmuka emulasi.

Windows CE 5.0

Microsoft mencangkokkan LLMNR di dalam sistem operasi Microsoft Windows CE versi 5.0 miliknya.