Zeroconf, atau Zero Configuration Networking adalah sekumpulan teknik yang secara otomatis membuat sebuah alamat IP yang bisa digunakan tanpa harus melakukan konfigurasi terlebih dahulu atau membutuhkan server khusus. Teknik ini mengizinkan para pengguna yang tidak ahli untuk menghubungkan komputer, printer yang memiliki kemampuan jaringan, dan beberapa perangkat lainnya ke dalam sebuah jaringan komputer dan bekerja secara otomatis untuk mereka. Tanpa adanya teknik ini, atau beberapa teknik lainnya yang sama, seorang yang ahli dibutuhkan untuk mengeset beberapa layanan khusus, seperti Dynamic Configuration Host Protocol (DHCP), Domain Name System (DNS) atau mengeset semua konfigurasi tersebut secara manual dengan tangan, yang tentu saja merupakan sebuah tugas yang rumit bagi para pengguna non-teknis.

Zeroconf dapat menyelesaikan tiga masalah sebagai berikut:

  • Bisa memilihkan alamat-alamat numerik jaringan untuk perangkat-perangkat jaringan
  • Mencaritahu alamat komputer dengan namanya (resolusi nama)
  • Mencaritahu di mana harus mendapatkan sebuah layanan tertentu, seperti halnya pencetakan (service discovery)

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), tapi 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.

Service Discovery

Protokol Apple: mDNS/DNS-SD

Multicast DNS (mDNS) merupakan sebuah protokol yang menggunakan antarmuka pemrograman aplikasi yang mirip dengan sistem DNS unicast tapi 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.