130 likes | 417 Views
z2z: Discovering Zeroconf Services Beyond Local Link. Jae Woo Lee, Henning Schulzrinne Columbia University Wolfgang Kellerer, Zoran Despotovic DoCoMo Communications Laboratories Europe. Presented by Jae Woo Lee. Outline. Motivation Background: Zeroconf, DNS-SD, mDNS, Bonjour z2z overview
E N D
z2z:Discovering Zeroconf ServicesBeyond Local Link Jae Woo Lee, Henning Schulzrinne Columbia University Wolfgang Kellerer, Zoran Despotovic DoCoMo Communications Laboratories Europe Presented by Jae Woo Lee SUPE 2007
Outline • Motivation • Background: Zeroconf, DNS-SD, mDNS, Bonjour • z2z overview • Demo: global iTunes sharing • How z2z works: step-by-step walk-through • Implementation • Related work • Future work SUPE 2007
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
Zeroconf, mDNS, DNS-SD, and Bonjour • IETF Zero Configuration Networking Working Group identified three requirements: • IP address assignment without a DHCP server • Host name resolution without a DNS server • Local service discovery without any rendezvous server • Solutions: • RFC3927: Link-local addressing standard for 1) • DNS-SD/mDNS: Apple’s protocol for 2) & 3) • Bonjour: DNS-SD/mDNS implementation by Apple • Avahi: DNS-SD/mDNS implementation for Linux and BSD • Many use “Zeroconf” to mean DNS-SD/mDNS SUPE 2007
DNS-SD/mDNS overview • Multicast DNS (mDNS) • 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. _daap._tcp.local. PTR 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. Toms-machine.local. A 160.39.225.12 • TXT records contain additional information Tom’s Music._daap._tcp.local. TXT "Version=196613" "iTSh Version=196608" "Machine ID=6070CABB0585" "Password=true” SUPE 2007
z2z: Zeroconf-to-Zeroconf interconnection OpenDHT Import/export Services Import/export Services z2z z2z Zeroconf subnet A Zeroconf subnet B SUPE 2007
Demo: global iTunes sharing • Exporting iTunes shares under key “columbia”: $ z2z --export:opendht _daap._tcp --key “columbia” • Importing services stored under key “columbia”: $ z2z --import:opendht --key “columbia” SUPE 2007
OpenDHT Send browse request (i.e., PTR query) for service type: _daap._tcp Send resolve request (i.e., SRV, A, and TXT query) for each service Export them by sending put messagesto OpenDHT 1) 2) 3) put: key= z2z.opendht.columbia value= Tom’s Music 160.39.225.12:3689 Password=true …… z2z Tom’s Music. _daap._tcp.local Joe’s Music. _daap._tcp.local 160.39.225.12:3689 Password=true …… 160.39.225.13:3689 Password=false …… How z2z works (exporting) SUPE 2007
OpenDHT Issue a get call to OpenDHT Import services by registering them (i.e., add PTR, SRV, A, TXT records to the local mDNS) 1) 2) get: key=z2z.opendht.columbia value=Tom’s Music 160.39.225.12:3689 …… value=Joe’s Music …… z2z _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 … How z2z works (importing) SUPE 2007
Implementation • C++ Prototype using xmlrpc-c for OpenDHT access • Porting problem due to Bonjour and Cygwin incompatibility • z2z v1.0 released • Rewritten in Java from scratch • Open-source (BSD license) • Available in SourceForge (https://sourceforge.net/projects/z2z) SUPE 2007
Related work • Wide-area Bonjour • Apple’s solution for Zeroconf beyond local link • Use conventional unicast DNS instead of mDNS • Need to setup and maintain DNS server • Rendezvous Proxy • GUI interface for proxy registration of remote service • LogMeIn Hamachi • Virtual LAN connectivity over the Internet • Simplify Media • iTunes sharing on a social network • P2P Networking in Windows Vista SUPE 2007
Future work • Study on scalability of Zeroconf network • mDNS traffic imposes burden on large wireless network • Does z2z make it worse? To what extent? • Possible improvement in z2z: importing to local host only • Usability improvement • GUI interface • NAT traversal • Beyond OpenDHT • Better searching • Distributed hierarchical index • Query-capable DHT or p2p search engine technology • z2z on a social network • iTunes sharing on Facebook SUPE 2007
Thank you. SUPE 2007