ZeroConfNetworking

Differences between revisions 3 and 4
Revision 3 as of 2006-11-08 20:05:21
Size: 2620
Editor: 207
Comment: note clarifications
Revision 4 as of 2006-11-08 22:48:36
Size: 3690
Editor: 207
Comment: fleshed out summary, rationale, and use cases
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
This spec involves the proper handling of assigning link-local addresses, and using them successfully when no static configurations are used and no DHCP responses are seen. When a dynamic network configuration is desired and a local DHCP server is not available for a network, Ubuntu needs to correctly assign itself a link-local address. This is implemented by `avahi-autoipd`, but requires some additional configuration and packaging corrections to have the expected proper behavior.
Line 13: Line 13:
Using link-local addresses for communicating on adhoc networks or local LANs without a DHCP server works for other operating systems. Having Ubuntu work correctly in these situations makes users more productive because they will be able to communicate with other link-local devices without having to do anything special.
Line 16: Line 17:
 1. finding one's own ip on local network
 2. two laptops on separate logical networks communicating with link-local
 3. notice that unicast .local domain exists when using avahi
 1. Claudia's home network does not have a DHCP server, and does not want to have to define a static IP address for her laptop. She still be able to communicate with other devices on the network.
 2. John's desktop computer was booted and it got a link-local address. Then he adds a DHCP server to his network, and boots a second computer that gets a regular DHCP-assigned address. He wants these two devices to communicate with eachother.
 3. Mary uses a name server that makes a `.local` top-level-domain available, and she upgrades her computer from Edgy to Feisty, where link-local addresses are assigned. She needs notification that the unicast `.local` TLD and the link-local `.local` domain conflict with eachother, offering a hint on how to disable link-local assignments.

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

When a dynamic network configuration is desired and a local DHCP server is not available for a network, Ubuntu needs to correctly assign itself a link-local address. This is implemented by avahi-autoipd, but requires some additional configuration and packaging corrections to have the expected proper behavior.

Rationale

Using link-local addresses for communicating on adhoc networks or local LANs without a DHCP server works for other operating systems. Having Ubuntu work correctly in these situations makes users more productive because they will be able to communicate with other link-local devices without having to do anything special.

Use cases

  1. Claudia's home network does not have a DHCP server, and does not want to have to define a static IP address for her laptop. She still be able to communicate with other devices on the network.
  2. John's desktop computer was booted and it got a link-local address. Then he adds a DHCP server to his network, and boots a second computer that gets a regular DHCP-assigned address. He wants these two devices to communicate with eachother.
  3. Mary uses a name server that makes a .local top-level-domain available, and she upgrades her computer from Edgy to Feisty, where link-local addresses are assigned. She needs notification that the unicast .local TLD and the link-local .local domain conflict with eachother, offering a hint on how to disable link-local assignments.

Scope

Design

Implementation

  • basefiles(?) update to include description of link-local network
    • add "link-local 169.254.0.0" to /etc/networks
  • dhclient hook for DNS changes to check for unicast "local" TLD
    • if ! host -t soa local. >/dev/null 2>&1; then dbus-msg OMGPONIES; fi

  • zeroconf
    • remove package from archive
  • libnss-mdns
    • start with version 0.8-5
    • audit and promote to main
    • read debian #393711
      • audit for error conditions around nsswitch.conf updating sanity
    • build package with --disable-legacy (drops ministack)

  • network manager
    • patch with proper avahi ll hooks, especially adhoc modes
  • avahi-autoipd
  • avahi-daemon
    • enable by default
  • in /etc/network/interfaces add some comments on how to set up manual ll addresses correctly.
  • ifupdown, g-s-t
    • patch to include "ipv4ll" method for sane configuration in /etc/network/interfaces

Code

Data preservation and migration

Unresolved issues

BoF agenda and discussion

Clarification of terminology

Zeroconf is a collection of protocols including ipv4 link local, mdns, and dns service-discovery. Apple's implementation of zeroconf was named "Rendezvous", and was later renamed to "Bonjour". Avahi is a free software implementation of zeroconf. See http://avahi.org/wiki/AboutAvahi.

IPv4 link-local addresses are in the 165.254.0.0/16 space.

mDNS is DNS over multicast on the local network.

DNS-sd allows for service discovery using mDNS.


CategorySpec

ZeroConfNetworking (last edited 2008-08-06 17:00:50 by localhost)