31
Apache and Zeroconf Networking Sander Temme <[email protected]>

Apache and Zeroconf Networking Sander Temme. Agenda u What is Zeroconf? u Technology Overview u Existing Initiatives u Zeroconf-enabling Apache httpd

Embed Size (px)

Citation preview

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

PrinterNetwork

169.254.1.219

169.254.4.51

169.254.10.29

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

PrinterNetwork

169.254.1.219

169.254.4.51

169.254.10.29

PC_BILL

PC_LARRY

lj21569478

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

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.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

Updates

http://apache.org/~sctemme/Apcon2003/TU10/