Upload
candace-greene
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Agenda
What is Zeroconf?
Technology Overview
Existing Initiatives
Zeroconf-enabling Apache httpd
Zeroconf-enabling Tomcat
Conclusion
Link-local Addressing
No Central Address Server
Pick a Random Address– In 169.254.0.0/16 range
Address Defense
Can Work With Centrally Assigned Addresses
mDNS
DNS-like Protocol
Every Host Runs Responder
Hosts Pick Own Names
Communication over IP Multicast
Link-local
Resolves to Link-local or Regular Address
DNS-SD
Service Publishing and Browsing
Uses Existing DNS Record types
User Sees Only Service Names
Works With mDNS or Regular DNS
DNS-SD
PrinterNetwork
169.254.1.219
169.254.4.51
169.254.10.29
PC_BILL
PC_LARRY
lj21569478
Bill’s Files
Larry’s Tunes
Laserjet in the Closet Underthe Stairs
Existing Initiatives
Apple’s Rendezvous mod_rendezvous mod_rendezvous_apple jmdns dotlocal.org zeroconf.sourceforge.net Mandrake Linux Swampwolf
Swampwolf
mDNS deamon and library: howl
API for service registration
Linux, FreeBSD, Windows
BSD-style license
Plugin for Internet Explorer on Windows
http://www.swampwolf.com/
Zeroconf and Apache httpd
Module named mod_zeroconf
Registers Apache Virtualhosts with external mDNS responder
Configurable Service names and paths
Targeted at Apache httpd 2.0
mod_zeroconf Design
Apache 2.0Core
HowlmDNSResponder
mod_zeroconf
Virtual Host Config Info
mDNS Registration
mDNS Callbacks
What Gets Registered?
Service Name
SRV information: port, hostname, partial URI
Hostname (if different)
Callback function
mod_zeroconf Design
ApacheCore
HowlmDNSResponder
mod_zeroconf
Virtual Host Config Info
mDNS Registration
mDNS CallbacksCallbackProcess
Registration Callbacks
Network can be very dynamic
Service name, Hostname conflicts
Apache needs to respond
Can’t block parent process: – fork a child
Known Issues
Doesn’t know about SSL, other features
ServerName needs to be name:port
Callback child is not reaped
Callbacks are vestigal: no conflict resolution
Host registration not solid code
Doesn’t escape periods in service name
NO stop/restart/graceful code
To-dos
Learn about https protocol
Learn about DAV, …
Port to MacOSX? Apache 1.3?
Implement stop/restart
Alternative mDNS implementations
IPv6 compatibility
More solid hostname registration
Zeroconf-enabling Tomcat
Ideas– Java implementation of Zeroconf: jmdns– Or talk to (native) system mDNS– Use this to register Tomcat webapps– And web services? With WDSL info?
– How would that interfere with UDDI stuff?– Dynamic deployment of webapps requires
dynamic updates of mDNS registration
No code available yet
Conclusion
Zeroconf is great
Will make networks more usable
Platform support needed across vendors
Applications will follow