PowerPoint Presentation - Apache and Zeroconf Networking
Download
Report
Transcript PowerPoint Presentation - Apache and Zeroconf Networking
Apache and Zeroconf Networking
Sander Temme
<[email protected]>
Agenda
What is Zeroconf?
Technology Overview
Existing Initiatives
Zeroconf-enabling Apache httpd
Zeroconf-enabling Tomcat
Conclusion
What is Zeroconf?
IETF Working Group
– Formed in Sept. 1999
Usability of TCP/IP
What is Zeroconf?
What is Zeroconf?
TCP/IP Autoconfiguration
Network naming
Service Browsing
Technology Overview
Link-local addressing
multicast DNS
DNS Service-Discovery
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
Link-local Addressing
169.254.1.219
Network
Printer
169.254.10.29
169.254.4.51
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
mDNS
PC_BILL
169.254.1.219
Network
Printer
169.254.10.29
lj21569478
169.254.4.51
PC_LARRY
DNS-SD
Service Publishing and Browsing
Uses Existing DNS Record types
User Sees Only Service Names
Works With mDNS or Regular DNS
DNS-SD
PC_BILL
169.254.1.219
Bill’s Files
Network
Laserjet in the
Closet Under
the Stairs
Printer
169.254.10.29
lj21569478
169.254.4.51
PC_LARRY
Larry’s Tunes
Example Applications
Printer configuration
Music sharing
Peer to peer chat
Gaming
Telnet server
Peer to Peer Chat
Sharing Tunes
Sharing Sites
Platform support
MacOSX 10.2 and up
Linux: several initiatives
– Mandrake
Windows…
Windows and Rendezvous
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
Demo
mod_zeroconf Design
Apache 2.0
Core
Virtual Host Config Info
mDNS Callbacks
mod_zeroconf
mDNS Registration
Howl
mDNSResponder
What Gets Registered?
Service Name
SRV information: port, hostname, partial
URI
Hostname (if different)
Callback function
mod_zeroconf Design
Apache
Core
Virtual Host Config Info
Callback
mod_zeroconf
Process
mDNS Registration
mDNS Callbacks
Howl
mDNSResponder
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
Updates
http://apache.org/~sctemme/Apcon2003/TU10/