zeroconf is a nifty suite of protocols that provide a number of interesting services for allocating IP addresses without any manual or automatic configuration (even without DHCP), name services without having to know a DNS server, automatic service discovery and allocating multicast IP addresses. The automatic IP address allocation is nothing special, it's "only" the 169.154.xxx.xxx IP addresses a lot of people know from trying to get a DHCP lease with the DHCP server down.
Parts of this whole thing are implemented as Rendezvous that many people know from Mac OS X. Today, I was searching for implementations for those different parts of zeroconf that actually run on Linux. First of all, there's the original implementation of the
mDNSResponder package by Apple. I wasn't too impressed by it, although it does compile on Linux (it even compiles and links with
dietlibc, so the Apple developers did a good job keeping the whole thing portable). Then I search further, and via
this HOWTO on how to enable Rendezvous on Fedora Linux, I came to
howl. Howl is essentially an implementation of the automic IP address allocation thing, an mDNSResponder implementation and an SDK for writing service discovery enabled applications.
Howl also provides simple sample applications, e.g. for announcing (mDNSPublish) and browsing (mDNSBrowse) services on the local network. Now if only all the applications were service discovery enabled. Then you could simply announce e.g. your SMTP server via
mDNSPublish "default mail gateway" _smtp._tcp. 25, and any service-discovery-enabled mail program could simply browse for '
_smtp._tcp.' when having to send an email, and thus no user intervention is required for configuring an SMTP server. This would be especially useful for wireless networks.
So, what would be extremely nice is more service-discovery-enabled software, and most importantly, service-discovery-enabled Linux distributions.