Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

The whole site in one document for easy reference!
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  Name Systems and TCP/IP Name Registration and Name Resolution
           9  TCP/IP Name Systems: Host Tables and Domain Name System (DNS)
                9  TCP/IP Domain Name System (DNS)
                     9  DNS Name Servers and Name Resolution
                          9  DNS Name Server Concepts and Operation

Previous Topic/Section
DNS Name Server Caching, Negative Caching and Data Persistence
Previous Page
Pages in Current Topic/Section
1
Next Page
DNS Name Server Enhancements: DNS Notify, Incremental Zone Transfers, and DNS Update (Dynamic DNS)
Next Topic/Section

DNS Name Server Load Balancing

The Address (A) resource record is the most fundamental one in DNS, since it records an actual mapping between a domain name and an IP address. Let's consider for a moment one of the words in that sentence in more detail. No, not “address” or “resource record” or “mapping”. The word “an”. J The Address record only mentions a single address for each domain name. This means that, as we have described DNS so far, each domain name maps to only a single physical hardware device.

When the number of requests that a particular server or other device needs to handle is relatively small, this is not a problem—the function can usually be implemented using a single physical hardware device. If the server gets busier, the usual solution is to throw more hardware at the problem—get a bigger machine. However, some hosts on a large internetwork, especially the Internet, feature servers that must handle tremendous amounts of traffic from many clients. There simply is no single hardware device that can readily handle the traffic of a site like “www.cnn.com” or “www.microsoft.com” for example, without becoming unwieldy.

Using Multiple Address Records to Spread Out Requests to a Domain

Sites like CNN’s must use a technique called load balancing to spread requests across multiple hardware servers. One simple way to do this would be to have multiple machine names; for example, CNN could create several different Web sites called “www1.cnn.com”, “www2.cnn.com” and so on, each of which points to a different hardware device. DNS certainly supports this type of solution. The problem with this solution is that it is cumbersome; it requires users to remember multiple server names.

It would be better if we could balance the load automatically. DNS supports this by providing a simple way to implement load balancing. Instead of specifying a single Address resource record for a name, we can create several such records, thereby associating more than one IP address with a particular DNS name. When we do this, each time the authoritative name server for the zone in which that name exists resolves that name, it sends all the addresses on the list back to the requester. The server changes the order of the addresses supplied in the response, choosing the order randomly or in a sequential “round robin” fashion. The client will usually use the first address in the list returned by the server, so by changing the list, the server ensures that requests for that device's name are resolved to multiple hardware units.

As Internet traffic increases, load balancing is becoming more popular. In early 2003 I saw a survey that indicated approximately 10% of Internet names at that time used load balancing—a fairly significant number. Most employed either two or three addresses, but some used as many as 60! Incidentally, at last check, “www.cnn.com” was associated with eight different IP addresses. (Incidentally, you can check the number of addresses associated with a name using the “host” command.)

Key Concept: Rather than creating a single Address resource record for a DNS domain name, it is possible to create multiple. This associates several IP addresses with one name, which can be used to spread a large number of access to one domain name over many physical IP devices. This allows DNS to implement load balancing for busy Internet servers.


Using Multiple DNS Servers to Spread Out DNS Requests

“DNS load balancing” also has a completely different meaning from what I described above. In my discussion of DNS server roles, I talked about how each zone should have at least one secondary DNS server in addition to the primary. The usually-stated main reason for this is redundancy, in case something happens to cause the master server to fail. However, having a slave server can also allow the load of DNS resolution requests to be balanced between multiple servers. In fact, some busy domains have more than two servers specifically for this reason.

Thus, “DNS load balancing” can refer to either using DNS to spread the load of requests (such as Web page requests) to a device that is named using DNS, or to spreading the load of DNS requests themselves.


Previous Topic/Section
DNS Name Server Caching, Negative Caching and Data Persistence
Previous Page
Pages in Current Topic/Section
1
Next Page
DNS Name Server Enhancements: DNS Notify, Incremental Zone Transfers, and DNS Update (Dynamic DNS)
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.