The first step towards understanding how Rendezvous works is to realize that every device (such as your Mac, or a printer) participating in a network (be it a wired or wireless one) must have an IP address. This IP address can be allocated from a DHCP server, or it can simply be self-assigned. When a device participates in a network without an IP address (due to absence of DHCP or because it has no self-assigned IP address), Rendezvous will automatically assign an IP address using link-local addressing (self-assigned IP addresses in the 169.254.0.0 subnet). Basically, it randomly chooses an IP address from a predetermined range of addresses (set aside for local-link addressing by the Internet Assigned Numbers Authority, or IANA) and assigns it to the device.
The device then broadcasts a message to all the other devices on the network to see if its IP address is already in use. If it is, Rendezvous reassigns the IP address and repeats the same procedure. If not, the IP address is assigned and the device is ready to communicate with the other devices on the network.
Rendezvous and Zeroconf
Rendezvous is Apple's name for their implementation of Zeroconf, a technology managed by a working group of the same name in the Internet Engineering Task Force (IETF). The charter of Zeroconf is to enable "zero configuration for IP networking." Put simply, with Zeroconf technology, if you put two notebooks together (either through wired or wireless networking), they should be able to start communicating with each other without manual configuration of IP addresses. This greatly simplifies the process of ad-hoc network communications.
A device running Rendezvous "advertises" its service by sending Multicast DNS-Service Discovery (mDNS-SD) notifications. These notifications include the following information:
Type of service
Name of service
IP and port numbers
Besides advertising its own service, a device joining a network also needs to know what other services are available. To do that, it sends a query to all devices on the network asking them to enumerate their services. The impact on network performance is negligible: when a device needs to make use of a particular service, such as a file service, it sends out a query asking for devices that support that service. Unlike AppleTalk and NetBEUI (a Windows networking protocol), Rendezvous does not constantly broadcast messages to discover other devices; it does so only when required.
Rendezvous will work only on your local (home or office) subnetwork; it can't cross routers to work over more than one subnetwork.
A number of Mac OS X applications make use of Rendezvous. They include:
iChat AV is an instant messaging application that supports audio and video conferencing. iChat uses Rendezvous to discover other iChat users on the network.
In Mac OS X, you can share files easily using the Go Connect to Server option in the Finder. The Personal File Sharing feature uses Rendezvous to tell other users on the network that shared files are available.
The popular Safari web browser uses Rendezvous to detect web addresses of devices on the network. This allows you to easily configure devices that support web interfaces for configuration and to share web documents in ad-hoc networks.
iTunes uses Rendezvous to inform other users on the network that you have music collections available for sharing. Using iTunes and Rendezvous, users can now view and play music collections from other computers.
Besides the bundled Mac OS X applications, some third-party applications use Rendezvous technology. Some of these products are:
Like Safari, Camino uses Rendezvous to detect devices with web addresses.
SubEthaEdit (formerly known as Hydra) is a collaborative text editor that allows multiple users to simultaneously edit a document.
Some other types of products that use Rendezvous technology are:
New printers are incorporating Rendezvous technology so that they are truly plug-and-play when first connected to a network. Brother's HL-5070N was the one of the first printers to support Rendezvous.
EvoCam is a webcam application with a built-in web server that can be discovered from any Rendezvous-capable browser such as Safari, thus enabling users to easily view its content.
The SLIMP3 (http://www.slimp3.com), from Slim Devices, is a networked MP3 music player that accepts an Ethernet connection, and has stereo outputs for your home theater system. It has a web-based interface and uses Rendezvous for discovery on the network. The SLIMP3 reads your iTunes music library and playlists, too. We own two of them.
Games such as the NASCAR Racing 2002 Season use Rendezvous to make it easy for players to find and join games on the network.