1 / 31

Apache and Zeroconf Networking

Apache and Zeroconf Networking. Sander Temme <sander@temme.net>. 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.

oya
Download Presentation

Apache and Zeroconf Networking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apache and Zeroconf Networking Sander Temme <sander@temme.net>

  2. Agenda • What is Zeroconf? • Technology Overview • Existing Initiatives • Zeroconf-enabling Apache httpd • Zeroconf-enabling Tomcat • Conclusion

  3. What is Zeroconf? • IETF Working Group • Formed in Sept. 1999 • Usability of TCP/IP

  4. What is Zeroconf?

  5. What is Zeroconf? • TCP/IP Autoconfiguration • Network naming • Service Browsing

  6. Technology Overview • Link-local addressing • multicast DNS • DNS Service-Discovery

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

  8. Link-local Addressing 169.254.1.219 Printer Network 169.254.10.29 169.254.4.51

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

  10. mDNS PC_BILL 169.254.1.219 Printer Network 169.254.10.29 lj21569478 169.254.4.51 PC_LARRY

  11. DNS-SD • Service Publishing and Browsing • Uses Existing DNS Record types • User Sees Only Service Names • Works With mDNS or Regular DNS

  12. DNS-SD PC_BILL Laserjet in the Closet Under the Stairs 169.254.1.219 Bill’s Files Printer Network 169.254.10.29 lj21569478 169.254.4.51 PC_LARRY Larry’s Tunes

  13. Example Applications • Printer configuration • Music sharing • Peer to peer chat • Gaming • Telnet server

  14. Peer to Peer Chat

  15. Sharing Tunes

  16. Sharing Sites

  17. Platform support • MacOSX 10.2 and up • Linux: several initiatives • Mandrake • Windows…

  18. Windows and Rendezvous

  19. Existing Initiatives • Apple’s Rendezvous • mod_rendezvous • mod_rendezvous_apple • jmdns • dotlocal.org • zeroconf.sourceforge.net • Mandrake Linux • Swampwolf

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

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

  22. Demo

  23. mod_zeroconf Design Apache 2.0 Core Virtual Host Config Info mod_zeroconf mDNS Callbacks Howl mDNSResponder mDNS Registration

  24. What Gets Registered? • Service Name • SRV information: port, hostname, partial URI • Hostname (if different) • Callback function

  25. mod_zeroconf Design Apache Core Virtual Host Config Info mod_zeroconf Callback Process mDNS Callbacks Howl mDNSResponder mDNS Registration

  26. Registration Callbacks • Network can be very dynamic • Service name, Hostname conflicts • Apache needs to respond • Can’t block parent process: • fork a child

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

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

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

  30. Conclusion • Zeroconf is great • Will make networks more usable • Platform support needed across vendors • Applications will follow

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

More Related