z2z: Discovering Zeroconf Services Beyond Local Link Jae Woo Lee, Henning Schulzrinne
Download ReportTranscript z2z: Discovering Zeroconf Services Beyond Local Link Jae Woo Lee, Henning Schulzrinne
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 SUPE 2007 1 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 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, mDNS, 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: – – – – • 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 4 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. _daap._tcp.local. – PTR 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. 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 5 z2z: Zeroconf-to-Zeroconf interconnection OpenDHT Import/export Services Import/export Services z2z z2z Zeroconf subnet A Zeroconf subnet B SUPE 2007 6 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 7 How z2z works (exporting) OpenDHT put: key= z2z.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 z2z Joe’s Music. _daap._tcp.local 160.39.225.13:3689 Password=false …… SUPE 2007 3) Export them by sending put messages to OpenDHT 8 How z2z works (importing) OpenDHT get: key=z2z.opendht.columbia value=Tom’s Music 160.39.225.12:3689 …… value=Joe’s Music …… 1) Issue a get call to OpenDHT 2) Import services by registering them (i.e., add PTR, SRV, A, TXT records to the local mDNS) 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 … SUPE 2007 9 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 10 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 11 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 12 Thank you. SUPE 2007 13