next up previous contents
Next: HTTP-based Redirection Up: A DNS-based Client Redirector Previous: Problem description   Contents


Redirection Mechanisms

Before the analysis of actual redirection mechanisms, let us first provide a context for further considerations by showing what actually happens when a client decides to contact a service. For purposes of this explanation we assume that the ``service'' is a Web page identified by its URL. In the following, we consider ``the client'' to refer to a Web browser and not to the person controlling it.

Initially, the only item the client knows is the URL. Therefore, the first thing that it has to do is to resolve the host name encoded inside the URL into an IP address (see Figure 2.1). The name resolution is done on behalf of the client by its DNS server (a). The DNS server contacts intermediate DNS servers in order to locate the DNS server of the service (b, c). It eventually contacts this last server to determine the service address (d, e), which is subsequently returned to the client (f). We will return to a detailed description of DNS later.

When the service IP address is known, the client opens a TCP connection to it (see Figure 2.2). Initializing packets are sent by the client machine, then they are routed through the Internet and finally reach the gateway to the service network (a) and the service machine itself (b). As long as everything is in order, a new connection is established (c and d). From this moment on, all the communication between the client and the service machine follows the path shown in Figure 2.2.

Figure 2.1: Name resolution
\includegraphics[width=14cm]{xfig-nameres.eps}

Once the client has opened a network connection to the service machine, it can issue an HTTP request containing the URL of the service. The Web server on the service machine, in turn, receives the request, inspects it and returns the corresponding Web page. At this point the TCP connection is closed and the service usage ends. If necessary, the same steps are followed to retrieve embedded images, or the next page.

Figure 2.2: Establishing network connection
\includegraphics[width=14cm]{xfig-connection.eps}

There are at least three places where the redirector can be installed: the service machine, the gateway to the service network and the service-side DNS server. In the following sections, we demonstrate the consequences of choosing each of them by taking a closer look at three redirection mechanisms [4]. We discuss how they fit into our initial requirements: transparency, scalability, maintainability, and efficiency. Finally, we compare them and show that DNS redirection fits the requirements best.



Subsections
next up previous contents
Next: HTTP-based Redirection Up: A DNS-based Client Redirector Previous: Problem description   Contents
root 2002-08-27