z 2 z Discovering Zeroconf Services Beyond Local
z 2 z: Discovering Zeroconf Services Beyond Local Link Jae Woo Lee, Henning Schulzrinne Columbia University Wolfgang Kellerer, Zoran Despotovic Do. Co. Mo Communications Laboratories Europe Presented by Jae Woo Lee SUPE 2007 1
Outline • • Motivation Background: Zeroconf, DNS-SD, m. DNS, Bonjour z 2 z overview Demo: global i. Tunes sharing How z 2 z works: step-by-step walk-through Implementation Related work Future work SUPE 2007 2
Motivation • Zeroconf dominates local service discovery today – – • Easy to use Based on proven technology (DNS) Widespread support by applications and devices But it only works within a subnet! Can we use Zeroconf beyond local link? – – Extend the reach of existing applications Transient service discovery on the Internet Structured peer-to-peer network of Zeroconf subnets! SUPE 2007 3
Zeroconf, m. DNS, DNS-SD, and Bonjour • IETF Zero Configuration Networking Working Group identified three requirements: 1) IP address assignment without a DHCP server 2) Host name resolution without a DNS server 3) Local service discovery without any rendezvous server • Solutions: – – • RFC 3927: Link-local addressing standard for 1) DNS-SD/m. DNS: Apple’s protocol for 2) & 3) Bonjour: DNS-SD/m. DNS implementation by Apple Avahi: DNS-SD/m. DNS implementation for Linux and BSD Many use “Zeroconf” to mean DNS-SD/m. DNS SUPE 2007 4
DNS-SD/m. DNS overview • Multicast DNS (m. DNS) – – – • Runs on each host in a local subnet Queries & answers are sent via link-local multicast to port 5353 Special TLD reserved for local names: “. local. ” DNS-Based Service Discovery (DNS-SD) – PTR records enumerate available service instances _daap. _tcp. local. – PTR Tom’s Music. _daap. _tcp. local. Joe’s Music. _daap. _tcp. local. SRV & A records resolve a specific service instance Tom’s Music. _daap. _tcp. local. SRV 0 0 3689 Toms-machine. local. A 160. 39. 225. 12 – TXT records contain additional information Tom’s Music. _daap. _tcp. local. TXT "Version=196613" "i. TSh Version=196608" "Machine ID=6070 CABB 0585" "Password=true” SUPE 2007 5
z 2 z: Zeroconf-to-Zeroconf interconnection Open. DHT Import/export Services z 2 z Zeroconf subnet A Zeroconf subnet B SUPE 2007 6
Demo: global i. Tunes sharing • Exporting i. Tunes shares under key “columbia”: $ z 2 z --export: opendht _daap. _tcp --key “columbia” • Importing services stored under key “columbia”: $ z 2 z --import: opendht --key “columbia” SUPE 2007 7
How z 2 z works (exporting) Open. DHT put: key= z 2 z. opendht. columbia value= Tom’s Music 160. 39. 225. 12: 3689 Password=true …… Tom’s Music. _daap. _tcp. local 160. 39. 225. 12: 3689 Password=true …… 1) Send browse request (i. e. , PTR query) for service type: _daap. _tcp 2) Send resolve request (i. e. , SRV, A, and TXT query) for each service z 2 z Joe’s Music. _daap. _tcp. local 160. 39. 225. 13: 3689 Password=false …… SUPE 2007 3) Export them by sending put messages to Open. DHT 8
How z 2 z works (importing) Open. DHT get: key=z 2 z. opendht. columbia value=Tom’s Music 160. 39. 225. 12: 3689 …… value=Joe’s Music …… 1) Issue a get call to Open. DHT 2) Import services by registering them (i. e. , add PTR, SRV, A, TXT records to the local m. DNS) z 2 z _daap. _tcp. local. PTR … Tom’s Music. _daap. _tcp. local. SRV … Tom’s Music. _daap. _tcp. local. TXT … _remote-160. 39. 225. 12. local. A … SUPE 2007 9
Implementation • C++ Prototype using xmlrpc-c for Open. DHT access – Porting problem due to Bonjour and Cygwin incompatibility • z 2 z v 1. 0 released – Rewritten in Java from scratch – Open-source (BSD license) – Available in Source. Forge (https: //sourceforge. net/projects/z 2 z) SUPE 2007 10
Related work • Wide-area Bonjour – Apple’s solution for Zeroconf beyond local link – Use conventional unicast DNS instead of m. DNS – Need to setup and maintain DNS server • Rendezvous Proxy – GUI interface for proxy registration of remote service • Log. Me. In Hamachi – Virtual LAN connectivity over the Internet • Simplify Media – i. Tunes sharing on a social network • P 2 P Networking in Windows Vista SUPE 2007 11
Future work • Study on scalability of Zeroconf network – m. DNS traffic imposes burden on large wireless network – Does z 2 z make it worse? To what extent? – Possible improvement in z 2 z: importing to local host only • Usability improvement – GUI interface – NAT traversal • Beyond Open. DHT – Better searching • Distributed hierarchical index • Query-capable DHT or p 2 p search engine technology – z 2 z on a social network • i. Tunes sharing on Facebook SUPE 2007 12
Thank you. SUPE 2007 13
- Slides: 13