Just finished watching a Google Tech Talk on Bonjour presented by Dr. Stuart Cheshire. It’s a very simple introduction to Apple’s implementation of zeroconf. Bonjour aka Zeroconf aka Avahi isn’t the evil I thought it was; and I don’t know why I assumed it was evil. I guess it’s a mixture of hating that Avahi is on by default in most RH-based distros coupled with my misconception that bonjour was appletalk rebranded. Appletalk had a reputation for being chatty so I just assumed bonjour inherited that gene.
Truth is bonjour doesn’t introduce any non-standard whiz-bang protocols or “chatty” communications into the LAN. It’s simple multicast mixed with creative use of DNS PTR and SRV records. It uses some of the same tactics ARP uses to update all devices based off the requests and replies broadcast by other devices (nothing too surprising there).
Don’t go getting the impression I posted this just to evangelize the obvious utility or practicality of zeroconf. It’s one of those technologies that’s implicitly trusting of the local network. With today’s ubiquitous use of wifi, often public wifi, that’s a major fault. All OSes have these local network technologies that operate on the assumption that “all devices are inherently good”. Then ambivalently choose something like Kerberos with Active Directory. Where kerberos believes that all networks are inherently evil.. to the point where it doesn’t even trust the network enough to send an encrypted hash of a users password. Apple then blends these contradictions into one tremendously retarded practice of allowing the local DHCP server to specify the primary domain controller for use when authenticating on your local system. Read that last sentence again for effect. Lets remember that next time “it just works”.
System Pref -> Accounts -> Login Options -> Join -> Search Policy -> change from “Automatic” to “Local Directory” -> commence acting like you knew.