z2z: Discovering Zeroconf Services Beyond Local Link Jae Woo Lee, Henning Schulzrinne
Download
Report
Transcript 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