ZeroConfSpec

Differences between revisions 15 and 16
Revision 15 as of 2005-11-04 15:34:44
Size: 6327
Editor: penguins
Comment: add bof points
Revision 16 as of 2005-11-04 15:36:32
Size: 6346
Editor: penguins
Comment: minor update
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
 * Moving avahi into main  * Moving avahi into main [deps libdaemon]
Line 19: Line 19:
 * Installing by default
 * Shipping on by default
  - Installing by default
  - Shipping on by default

Points for BoF discussion by TrentLloyd(Lathiat)

So this spec has grown, and is reaching a fair bit out, but I think the following points need to be focussed

  • Moving avahi into main [deps libdaemon]
  • Determining / deciding to evaluate possible IPv4-LL solutions (zeroconf, network-manager)
    • - Obviously zeroconf has been shown to have possible issues at UBZ, need to investigate actual cause and possible solutions
  • Shipping Avahi by Default (but disabled)
  • Exposing a UI to turn it on
    • - How/where/what/why? UI at all? would be nice to be an easy tick option
  • Moving libnss-mdns into main
    • - Installing by default - Shipping on by default
  • Configuring as many programs as possible to use Avahi, including with howl and bonjour compat layers

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

Home Users

  • 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.
  • Sebest subscribes to the domain ubuntu.com using Wide-Area Zeroconf and his firefox's bookmark is automagically updated with links to launchpad, wiki, bugzilla, etc...

Corporate Users

The zeroconf technology would be a great addition to UbuntuForSmallBusinesses and SmallBusinessServer.

  • The common use case is small business from 5 to 20 workstations and 1 or 2 servers.
  • John install his Ubuntu 4 SBS server, and create the different user accounts.
  • Then John wants to install the workstations, he starts the computer with a Ubuntu Cd
  • The install cd detects the apt-proxy (through zeroconf)
  • The installation is over, and Marc wants to login, the kerberos server is detected
  • Marc wants to write a mail, he starts evolution: smtp, imap, ldap, webcal all configured throught zeroconf
  • Marc wants to call its friend to tell him how great is zeroconf, he starts gnomemeeting that automatically detects asterix (Pabx) and route the call.
  • John's firm is getting bigger, he needs to add a new server for fault tolerance: he starts his brand new Ubuntu 4 SBS server, it detects that there is already one Ubuntu 4 SBS servers and automatically replicates its configuration.

To sum up, zeroconf can solves immensenly the configuration and installation process in corporate environments. Basically, you would have nothing to configure and the workstation.

Implementation Plan

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

  • Make some kind of switch to avahi to enable/disable it, it will have to be disabled by default because of the no server policy (grrr)

Data Preservation and Migration

Packages Affected

  • zeroconf - configures IPv4 Link Local addresses when there is no static IP or DHCP address
  • network-manager - May be able to do what zeroconf does
  • 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.
  • libknssd-avahi - Allows *all* kde programs already using dns-sd with the KDE api to use avahi
  • libavahi-bonjour-compat (doesnt exist in ubuntu yet, avahi 0.6, for dapper) -- Allows applications to use avahi that use the bonjour API (in both a API and ABI compatible manner)
  • libavahi-bonjour-howl - as above, but for HOWL
  • service-discovery-applet - gnome applet display services and allowing you to launch them
  • gaim - gaim 2.0 will support zeroconf (currently support howl, port to avahi may happen)
  • gnome-vfs - support zeroconf with howl (avahi 0.6 has a howl compat layer specifically for gnome-vfs)

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 (the application) needs a bit of work to become usable
  • This spec is a work in progress

UBZ BOF Agenda

UBZ Pre-Work


CategorySpec

ZeroConfSpec (last edited 2008-08-06 16:59:57 by localhost)