ZeroConfSpec

Revision 4 as of 2005-09-21 22:31:24

Clear message

ZeroConfSpec

Status

Introduction

This Spec describes the integration of ZeroConf technologies for Breezy+1

Rationale

ZeroConf allows computers to communicate on a network without any kind of configuration, additionally it provides for discovery of services, so instead of specifying an IP you can select from a list of advertised servers on the network. This is usefull so that you can simply plug two laptops together an transfer a file or play a network game. It is also usefull in situations where you don't know about the other services, such as people to chat to or files to share.

Scope and Use Cases

  • Trent wants to send a file to Jeff, he plugs an ethernet cable in between his two computers and is able to drag and drop it onto Jeff's computer in the Network Servers. Neither Trent nor Jeff touched any configuration and a pre-existing network was not setup.
  • Trent is at a conference and sitting around doing nothing, he opens up gaim and can see other people on the network to talk to.
  • Jane wants to play a network game of Four-in-a-row with Claire, they are using wireless at Jane's place with an existing IP setup, Jane starts a game and Claire is able to connect to it simply by clicking the name of the game Jane specified in Four-in-a-row.
  • Isaac is at Uni, he has completed his work and wants to print it out. His Uni' printers advertise via mDNS/DNS-SD and cups automatically configures itself to print to these printers when he connects his laptop.

Implementation Plan

  • Install/configure avahi and libnss-mdns by default.
  • Install zeroconf if NetworkManager does not provide sufficient zcip autoconfiguration by then

Data Preservation and Migration

Packages Affected

  • zeroconf - configures IPv4 Link Local addresses when there is no static IP or DHCP address
  • avahi - Handles service dicovery, allows applications to publish and browse for services
  • libnss-mdns - Allows the system to resolve .local addresses, advertisd by avahi via the standard resolver interface.

User Interface Requirements

  • Various applications need to be extended to support Avahi, good examples would be gnome-vfs (for nautilus), gaim, muine and cups. I (TrentLloyd) plan to do this work where possible for upstream.

  • GnomeMeeting in CVS supports service discovery, using Avahi instead of Howl with a patch by SebastienEstienne, Ubuntu cannot use howl due to various licensing problems.

  • service-discovery-applet : allows to quickly access to zeroconf services. This applet can also be considerated as a generic Gui to add zeroconf support for client that doesn't support it yet. (eg: it can browse for Zeroconf Web servers and launch firefox with the good Url).

Outstanding Issues

  • zeroconf needs a bit of work to become usable
  • This spec is a work in progress

UDU BOF Agenda

UDU Pre-Work


CategorySpec