Zero Configuration Networking Sander Temme
Agenda What is Zero Configuration Networking Demonstration Description of Protocols Available Implementations Usage Sample
Agenda What is Zero Configuration Networking Demonstration Description of Protocols Available Implementations Usage Sample
Agenda What is Zero Configuration Networking –Origins –What Problems does it Solve? –What Problems does it Not Solve?
Origins
Origins: IETF Zero Configuration Working Group Established September 1999 Charter fragment: The goal of the Zero Configuration Networking (ZEROCONF) Working Group is to enable networking in the absence of configuration and administration.
Problems Solved Automatic IP Address Configuration Server-free Hostname Resolution Directory-less Service Discovery
Problems Not Solved Security –Authenticity –Access Control Wide Area Networks (for now)
Applications Printing Zero Configuration Chat Music Sharing and Streaming (iTunes) Tivo: streaming photos, music to TV Gaming (NASCAR Racing 2002) Many devices without interface
Agenda What is Zero Configuration Networking Demonstration Description of Protocols Available Implementations Usage Sample
Agenda What is Zero Configuration Networking Demonstration Description of Protocols Available Implementations Usage Sample
IP Address Autoconfiguraton In Absence of DHCP Server Link-local Addressing Solved by IPv6 IPv4: pick random in /16 –Address Defense –Multihomed systems: only one interface Supported on Mac and Windows
Link-local Addressing Printer Network
Hostname Resolution In Absence of DNS Server Multicast DNS –DNS-like protocol –Every host has responder –Listens on and/or ff02::fb Hostnames picked by user –Hostname defense
Printer mDNS PC_Bill PC_Larry lj Network Mac_Steve
Service Discovery Human-readable Service Names Runs on mDNS Query for Service Type returns list –Long-lived queries Service Name resolves to –hostname –port, add. info –IP address
DNS-SD Bill’s Files Larry’s Tunes Laserjet, Closet Under the Stairs Printer PC_Bill PC_Larry lj Network Mac_Steve Steve’s Movies
Agenda What is Zero Configuration Networking Demonstration Description of Protocols Available Implementations Usage Sample
Bonjour First implementation on market Apple Trademark Introduced in Mac OS X 10.2 Incorporated in iTunes for Windows Recently Released under APSL –For Windows, POSIX platforms, Java
Howl Open Source from Porchdog Software Mostly BSD Licensed Windows, FreeBSD, Linux, MacOSX C,.NET API
jmdns Pure Java mDNSResponder LGPL Last Release 11/2003: check CVS
Agenda What is Zero Configuration Networking Demonstration Description of Protocols Available Implementations Usage Sample
Java Example: SimpleChat 179 non-comment LOC Listen on ephemeral port Advertise on mDNS Listen for other instance on mDNS Put found instances in pop-up menu Send chat messages to selected partner
Bonjour in Java Factory Class: DNSSD Interfaces define callbacks: BrowseListenerService Browsing ResolveListenerName Resolution RegisterListenerService Registration QueryListenerDNS Record Resolution DomainListenerDomain Resolution
Example: Browsing Call Browse method pass in class that implements BrowseListener –serviceFound() when service appears –serviceLost() when service goes away Interface methods manipulate pop-up menu
Demo
Conclusion Easy to use Cross-platform Dynamic Configuration-free
More Information –Developer Info –Marketing (IETF site) (Kinda stale) (Howl) devhttp:// dev
More Info: LL IP Addressing Generally happens after DHCP times out Host picks Random Address Sends out ARP Request for Address If no Answer, Assumes Address If Answer, Host Starts Over
More Info: mDNS DNS-like Protocol All Hosts Listen on Multicast , port 5353 All Hosts authoritative for.local. domain Short-lived Hostname Cache Introductory Unsollicited Response Goodbye Packet (TTL == 0)
More Info: DNS-SD Uses DNS PTR Records PTR of form: Service Name._http._tcp.local. Free-form Service Name Enumeration: browsing for _http._tcp.local. gives list of web service instances Resolving Instance Name yields hostname, TXT record with port info, etc.