MacTech Network:   MacForge.net  |  Computer Memory  |  Register Domains  |  Printer Supplies  |  Cables  |  iPod Deals  |  Mac Deals  |  Mac Book Shelf


  MacTech Magazine

The journal of Macintosh technology

 
 
WireTap Studio

Magazine In Print
  About MacTech  
  Home Page  
  Subscribe  
  Archives DVD  
  Submit News  
  Submit a Tip!  
  Get a copy of MacTech RISK FREE  
Google
Entire Web
mactech.com
Mac Community
More...
MacTech Central
  by Category  
  by Company  
  by Product  
MacTech News
  MacTech News  
  Previous News  
  MacTech RSS  
Article Archives
  Show Indices  
  by Volume  
  by Author  
  Source Code FTP  
Inside MacTech
  Writer's Kit  
  Editorial Staff  
  Editorial Calendar  
  Back Issues  
  Advertising  
Contact Us
  Customer Service  
  MacTech Store  
  Legal/Disclaimers  
  Webmaster Feedback  
ADVERTISEMENT
Click Here
Volume Number:12
Issue Number:1
Column Tag:Internet Special

Inside HomeDoor

Make one web server act like a network of servers

By Alan B. Oppenheimer

The HomeDoor™ Default Home Page Server is a newly-announced product from Open Door Networks. HomeDoor enables a single Macintosh Web server to serve default home pages for multiple domains. This article describes the inner workings of HomeDoor.

Product Summary

HomeDoor is a Macintosh extension and associated Admin application which enables an Ethernet-based Macintosh to redirect requests for particular default home pages to particular subdirectories on any Web server. For example, HomeDoor can redirect URLs of the form http://www.companyX.com/ to the form http://www.yourwebserver.com/companyX/. HomeDoor supports up to 256 such redirections, allowing you to set up a large number of default home pages on a single MacOS-based Web server. HomeDoor also supports the creation of complete “virtual” domains associated with each of these home pages.

The Web server (or servers) to which HomeDoor redirects requests do not necessarily have to be in the same machine, or even on the same network, as HomeDoor. You configure HomeDoor with a unique IP address for each default home page it is going to serve. You will also generally want to assign a domain name, such as www.companyX.com, to each of these addresses. For each address, you then configure HomeDoor with the URL to redirect that address to. When HomeDoor gets an HTTP request to one of the addresses it’s managing, it redirects that request to the configured URL. HomeDoor can be used to serve default home pages in this manner, and also to serve full “virtual” domains, redirecting not only URLs of the form http://www.companyX.com/, but also URLs of the form http://www.companyX.com/file-or-directory. When redirecting such URLs, HomeDoor preserves the “file-or-directory” part, thus supporting the creation of complete virtual domains.

Multihoming - The Key to HomeDoor

The key architectural component of HomeDoor is multihoming. Multihoming is the ability of a single physical node on a network to have more than one address (or “home”) on that network. Neither MacTCP nor the TCP/IP implementation in Open Transport provides multihoming, although Apple intends multihoming to be a feature of Open Transport 2.0. HomeDoor thus had to implement a simple form of multihoming itself. HomeDoor’s multihoming is limited to those Internet protocols required for HTTP (specifically ARP, IP and TCP), plus a small subset of ICMP so that HomeDoor can respond to pings for its addresses. HomeDoor does not provide a general-purpose implementation of multihoming.

HomeDoor’s multihoming is implemented directly on top of the Macintosh Ethernet driver, below the TCP/IP stack. HomeDoor tells the Ethernet driver to pass it all packets of Ethernet type “ARP” or “IP.” Because of the way the IP protocol suite works, the packets HomeDoor needs to receive are either broadcast (ARP packets), or sent directly to the Macintosh’s Ethernet address (IP packets). This fact is important, because it prevents HomeDoor from needing to have the Ethernet driver listen to every packet sent on the network, which would adversely affect performance.

After being passed an ARP or IP packet from the Ethernet driver, HomeDoor determines if the packet is intended for an address in its address range. If the packet is in range, HomeDoor processes the packet as appropriate, implementing the required parts of ARP, IP, TCP or ICMP. If the packet is not in HomeDoor’s address range, and MacTCP is running, HomeDoor passes the packet to MacTCP. Otherwise HomeDoor discards the packet. By passing packets to MacTCP, HomeDoor can run on the same Macintosh as any MacTCP client or server, and specifically in the same Macintosh as a Web server for which it is serving default home pages. HomeDoor does not, however, require MacTCP to run. HomeDoor also will not currently run at all on a Macintosh which is running Open Transport, due to OT’s radically different driver architecture.

Redirection

As shown below in figure 1, HomeDoor takes advantage of a feature in HTTP known as redirection. A browser wishing to look at a Web page issues an HTTP GET command to the address indicated by the first part of the URL, after obtaining that address from a domain name server (DNS). If the address is being managed by HomeDoor, HomeDoor receives the request and returns an HTTP REDIRECT in response. The REDIRECT contains the actual URL of the associated default home page. The browser receives the REDIRECT and then requests that page directly from the actual server, using the new URL. From then on, the browser talks directly to the Web server if other (relative) links on that server are accessed.

Figure 1. How HomeDoor works

Virtual domains

To be precise, HomeDoor actually does more than simply returning, in the REDIRECT, the URL that has been configured for the address requested. Technically speaking, HomeDoor actually replaces the part of the URL which specifies the Web server itself with the URL to be returned. So a URL of the form http://www.companyX.com/ is returned as http://www.yourwebserver.com/companyX/, but a URL of the form http://www.companyX.com/file-or-directory becomes http://www.yourwebserver.com/companyX/file-or-directory. Since the “file-or-directory” part can in fact be arbitrarily long, a full “virtual” domain can be served by HomeDoor.

Completing the illusion

HomeDoor effectively allows a single Macintosh Web server to serve default home pages, and in fact full virtual domains, for up to 256 different domain names. HomeDoor does so in a manner that is almost totally transparent to Web browsers. The only significant exception is that most browsers display a page’s actual URL in their “location” f ield. Thus, for example a browser user would see the URL http://www.yourwebserver.com/companyX/, even though they typed in or accessed the URL http://www.companyX/. Even this minor side-effect, however, can be eliminated by using a DNS to set up an appropriate alias to the actual Web server, and using HomeDoor to redirect to that alias as opposed to to the Web server itself. For instance, instead of redirecting http://www.companyX.com to http://www.yourwebserver.com/companyX/, you could redirect it to http://www2.companyX.com/companyX/, where www2.companyX.com is an alias for www.yourwebserver.com. In this way, not only will the Web browser user see the correct domain name in the “location” field, but it will appear to the user that the domain in question has not one but two complete Web servers associated with it (www.companyX.com and www2.companyX.com).

Subtleties of HomeDoor

The HomeDoor design contains a number of subtleties which might not be immediately apparent. These subtleties are based on the fact that HomeDoor allows you to enter a full URL for each address it is managing. This flexibility allows, for instance, a single HomeDoor server to serve home pages and virtual domains for more than one Web server. And, although HomeDoor runs on a Macintosh, there is no reason that the Web servers themselves need to be Macintoshes. HomeDoor can serve default home pages for any type of Web server whatsoever. HomeDoor can also redirect URL’s to other network services, allowing, for instance, an HTTP URL to be redirected to an FTP server. Finally, with some small modifications, the HomeDoor architecture can be enhanced to provide many additional services. One area for immediate investigation involves having HomeDoor redirect a particular URL to a URL chosen randomly or sequentially from a group of other URLs, enabling HomeDoor to serve as the front end to a Redundant Array of Inexpensive Computers (RAIC).

How To Find Out More

Open Door Networks maintains a complete set of home pages on the HomeDoor product. Not only do these pages include product details, example pages served by HomeDoor and a full copy of the HomeDoor Users’ Guide, but also a downloadable evaluation version of the current release of HomeDoor. The HomeDoor pages are at http://www.opendoor.com/homedoor/. General information on Open Door Networks, one of the first Macintosh-based Internet service providers, is available at http://www.opendoor.com. Specific questions should be addressed to help@opendoor.com.

[For those of you that would like to see a real life example of this technology, we use HomeDoor on one of our servers in the Xplain Corp./MacTech offices. In fact, the www.mactech.com and www.devcentral.com web sites are redirected using HomeDoor. This allows us to have an all Macintosh Internet site without having to resort to Unix. We’re very pleased with this solution.

There are some minor limitations to the way that HomeDoor works (although it does benefit from an all Macintosh user interface). If you want a different solution, Unix does offer the most complete “multi-homing” solution available. And, if you want to stay with the Macintosh (and why wouldn’t you?), then MachTen from Tenon is your answer - it’s a kinder, gentler Unix. :) - Pub. nst]



Click here to find out more about our best subscription bundle deal ever!
2 years of the magazine, and the all new MacTech DVD ... at 70% off!



Click on the cover to
see this month's issue!

TRIAL SUBSCRIPTION
Get a RISK-FREE subscription to the only technical Mac magazine!
 
 


MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797

Register Low Cost (ok dirt cheap!) Domain Names in the MacTech Domain Store. As low as $1.99!
Save on brand compatible and name brank ink jet and laser supplies.
Save on long distance * Upgrade your Computer
Movies with No Late Fees!

See local info about Westlake Village
SJ * BRJ * BJ * OJ * NITS
Staff Site Links



All contents are Copyright 1984-2007 by Xplain Corporation. All rights reserved.

MacTech is a registered trademark of Xplain Corporation. Xplain, Video Depot, Movie Depot, Palm OS Depot, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, NetProLive, JavaTech, WebTech, BeTech, LinuxTech, Apple Expo, MacTech Central and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.