Zeroconf Networking


Table of Contents
User Stories
What do we mean by Zeroconf Networking?
Technology - Part 1 - Address Assignment
Technology - Part 2 - Name to Address Translation
Technology - Part 3 - Service Location or Discovery
Zeroconf in the home
Zeroconf in a managed network
The case against Zeroconf
Social and Ethical Issues
Work to Date
Future Activities

Abstract

Zeroconf networking is an emerging field of work from the Internet Engineering Task Force, providing IP level networking without needing a network administrator. It provides methods to assign an IP address to a host, discover network services by name or characteristics and to translate between names and addresses.

The starting point for Zeroconf networking is to take two hosts with ethernet ports, and a cross-over cable, and have them communicate without needing to manually configure network addresses (or have one of them run an DHCP server). This is currently possible with legacy protocols such as Appletalk or NETBIOS, but Zeroconf networking provides a standardised, inter-operable way to make easy networking available for any host. This is being adopted by Apple for OS X, under the marketing name of Rendezvous.

While the original scope is simple connections using ethernet cross-over cables or USB host-to-host devices, Zeroconf can be used for new applications that are simply not viable without such technology. For example, it becomes possible to move ethernet connected printers into the mass-consumer market, where the issues associated with configuring an IP address would normally have incurred excessive support costs for retailers.

This paper includes discussion of the zcip tool, which uses standard Linux interfaces to establish IP addresses for a group of hosts that are on the same network ("link local", traffic with Zeroconf source or destination addresses is never routed), which is available on kernel.org (and mirrors). This tool is (mostly) inter-operable with current Windows and Mac OS implementations, and aims at being a reference implementation for the Zeroconf IP assignment.

In addition to address assignment, options for "service discovery" are reviewed. These include using Service Location Protocol (SLPv2, currently supported by the OpenSLP tools) and use of existing DNS functions and record types.

This paper also covers DNS extensions to use multicast to identify the IP address for a particular host. This is a relatively simple idea, with two implementation options currently under consideration. There will also be a brief discussion of multicast group address assignment.

User Stories

User Stories are a Extreme Programming (XP) idea, which serve as a way to describe requirements. A story is a feature that a customer wants in their software, in terms relevant to that customer, a story that they would like to be able to tell their friends about this great system that they are using.[1].

To help understand what networking might be able to do in a Zeroconf world, this section provides a couple of stories of where we need to get to. These stories are phrased a little differently to normal XP story cards to make them easier to understand.

Exchange files

Two academics at a conference wish to exchange recent research papers. One of them has a USB host-to-host cable, and both have laptops with USB ports. They plug in each end of the cable to a port, and a suitable IP network is established over the cable, including compatible IP addresses and a suitable route. Each machine also pops up a file exchange GUI, and each user can see those files that the other has chosen to share. Copying files is simple a drag and drop activity.

Plug and Play Printing

A new user buys a printer and plugs it into the network. Each machine on the network adds the new printer to the list of available printers, and when the user selects the print function on any application, that printer is available for use.

Notes

[1]

For more information on the reasoning behind Stories and their application to Extreme Programming, refer to Planning Extreme Programming by Kent Beck and Martin Fowler.