Zeroconf
マルチキャストDNS (mDNS) はユニキャストの Domain Name System と似たAPIを使うプロトコルだが、マルチキャストプロトコル上に実装されている。LAN上の各コンピュータはそれぞれDNSのリソースレコード(例えば、A、MX、SRVなど)のリストを持ち、mDNSのマルチキャストグループに参加している。あるmDNSクライアントがPCの名前からそのIPアドレスを知りたい場合、mDNSクライアントは既定のマルチキャストアドレスに要求を送信する。すると対応するAレコードを持つPCがそのIPアドレスを含めて応答する。IPv4でのmDNSマルチキャストアドレスは 224.0.0.251 で、IPv6のリンクローカル・アドレッシングでは ff02::fb である。
Appleの方式のもう半分は DNS-SD (DNS based Service Discovery) で、Domain Name Systemの上に構築されている。Appleの製品、多くのネットワークプリンター、様々なサードパーティ製品や各種OS向けのアプリケーションで使われている。
AvahiはLinuxとBSD向けのZeroconf実装である。IPv4LL、mDNS、DNS-SD を実装している。ほとんどのLinuxディストリビューションに含まれており、デフォルトでインストールするものもある。nss-mdns と連動して作動させるとホスト名解決機能を提供する。
AvahiにはBonjourおよび歴史的なmDNS実装であるHowlとのバイナリ互換性を提供するライブラリがあり、それらに対応したソフトウェアをAvahiを経由して利用することができる。