Linux.conf.au 2003 | Abstracts

Zeroconf networking

Brad Hards

BiographyBioPaperPaper AudioAudioOther filesOther files (eg source code)

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, assign multicast addresses 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, interoperable 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 talk will mainly focus on 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) interoperable with current Windows and MacOS implementations, and aims at being a reference implementation for the Zeroconf IP assignment.

In addition to zcip, options for "service discovery" will be overviewed. These include using Service Location Protocol (SLPv2, currently supported by the OpenSLP tools) and use of existing DNS functions and record types (as supported by the BIND server, and other DNS deamons).

The talk will also cover 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.


The original Tux penguin is copyright by Larry Ewing.
Linux is a trademark of Linus Torvalds.
© 2002 Linux Australia.