next up previous contents
Next: HTTP Up: Directing Traffic Previous: Directing Traffic   Contents


DNS

Figure 3: Redirecting Connections Using DNS
\includegraphics[width=13cm]{abc_dns}

Typically DNS[18][19][16]6 servers are set up to statically map a given query to a reply or list of replies. In the case of a hostname lookup, an IP address or list of IP addresses will be returned. Generally, the result changes infrequently if at all. It is, however, possible to have a DNS server that returns results based on the output of some algorithm. This allows results to be determined dynamically. In this way the results of DNS lookups may be used the communicate the results of a load balancing algorithm to clients. DNS is a fair choice for this application as the DNS protocol is designed with some measure of redundancy. A domain may have multiple DNS servers and if one fails others may handle requests without the client being notified of any problems.

As an example, suppose that www.slarken.org.au is mirrored between POP X and Y and DNS is being used to distribute traffic between these two POPs as shown in figure 3.

  1. Client Makes DNS Request to local DNS Server in Network C for
    www.slarken.org.au

  2. The DNS Server makes a recursive query on behalf of the Client. In doing so it queries POP X for the IP address of www.slarken.org.au. Both POP X and Y are authorative for the slarken.org.au domain, the Network C DNS Server happens to query POP X this time around. POP Y would do equally well.

  3. The DNS server in POP X is able determine the best POP for a given connection. Note that the best POP for the Network C DNS Server is queried and not the best route to the Client, as the IP address of the Client is not known to the DNS server in POP X. This assumes that Clients use DNS servers that are network-wise close to them. The IP address of the web server or farm in POP Y is returned in response to the DNS query by the Network C DNS Server.

    If POP X had been down then the Network C DNS Server would have queried POP Y and returned the IP address of the web server or farm within itself, thus the result would be the same.

    If POP Y was down then the query to the route server in POP X would have shown that POP X was the closest POP to the Network C DNS Server and the IP address of the web server or farm in POP X would be returned.

    If both POPs were down then there would be no result and the DNS lookup would fail.

  4. Network C DNS Server responds to the Client's DNS request with the answer obtained from POP X.

  5. The client has the IP address of a server in POP Y as the IP address of www.slarken.org.au and makes an HTTP request to this server.

  6. The server responds to the Client's HTTP request.


next up previous contents
Next: HTTP Up: Directing Traffic Previous: Directing Traffic   Contents
Horms 2001-11-08