Papers /

Cheshire-Google 2005

Reading

Outdoors

Games

Hobbies

LEGO

Food

Code

Nook

sidebar

Cheshire-Google 2005

Zero Configuration Networking with Bonjour

Cheshire

zeroconf mdns dns-sd service discovery network management configuration

@misc{cheshire:google-2005,
  title={Zero Configuration Networking with {Bonjour}},
  author={Stuart Cheshire},
  month={November},
  year={2005},
  note={{Google} {TechTalks}},
  howpublished={\url{http://video.google.com/videoplay?docid=-7398680103951126462#}}
}

[ video ]

Keep things simple

  • Wild array of software and hardware that might have to work together
  • Simplicity is the only way to get it all to play nicely

Three operations

  • Register
  • Browse
  • Resolve

Three components to labels: <User Visible Name> <Service Type> <Zone>

  • E.g.: <Sales> <_ipp._tcp> <.local.>

Example browsing for a printer

  Query: _ipp._tcp.local. PTR
  Response: Sales._ipp._tcp.local.
            Marketing._ipp._tcp.local.
            Engineering._ipp._tcp.local.
            3rd Floor Copy Room._ipp._tcp.local.

Example binding a specific printer

  Query: Sales._ipp._tcp.local. SRV
  Response: Sales._ipp._tcp.local. SRV 0 0 631 my-printer.local.
  Query: Sales._ipp._tcp.local. TXT pdl=application/postscript
  Query: my-printer.local. A
  Response: my-printer.local. A 169.254.12.34
  • The SRV request gets the port number to use
  • The TXT request gets more information about how to use it, e.g., in this case the page description language and other attribtues (half a K for most printers)
  • The A request gets the IPv4 address

Backoff eventually takes you out to querying once per hour

  • To avoid that kind of wait, when things join the network they announce themselves
  • Short times to live keep things up to date but costs network resources
  • Failure to contact devices cause cache to refresh, it's a hint that the cache is out of date
    • Other devices overhear that failure as well and then update their caches
    • Responses by multicast as well, so they're all snooping on other responses

Power over Ethernet is a big complementing plus

  • Faster than USB, longer cables, same ease of use with PoE and ZeroConf

Not just for local use, can also query remote domains

  • Standard DNS queries issued to that domain

Local resources advertised

  • Flight departures at the airport
  • Directions to coffee, dinner, etc. at hotel
  • Put advertising on those services!

Goes as far as the domains offered by DHCP, domains manually added by user

Printers might need a default printer driver for anything to work on top of and a fancier one you can install with lots of crazy features, color matching, etc.

  • Postscript is a good answer, but a lot of low-end printers don't do it

.local. namespace was a contentious issue

  • NAT, local IP, etc., definitely have problems, e.g., doing video chat across Internet
  • But printing locally, etc., really don't need those kinds of global addresses

Of note:

  • Axis network cameras---running full Linux
Recent Changes (All) | Edit SideBar Page last modified on October 26, 2010, at 01:29 PM Edit Page | Page History