Load Sharing

DNS servers use a mechanism called round-robin or load sharing , explained in RFC 1794, to share and distribute loads for network resources. Round-robin rotates the order of resource record data returned in a query answer in which multiple RRs exist of the same RR type for a queried DNS domain name.

For example, suppose you have three World Wide Web servers with the same domain name, WWWServer, that all display the Web page for www.reskit.com, and you want to share the load between them. On the name server, you would create the following resource records:

www.reskit.com. IN A 172.16.64.11

www.reskit.com. IN A 172.17.64.22

www.reskit.com. IN A 172.18.64.33

A name server configured to perform round-robin rotates the order of the A resource records when answering client requests. In this example, the name server would reply to the first client request by ordering the addresses as 172.16.64.11, 172.17.64.22, and 172.18.64.33. It would reply to the second client response by ordering the addresses as 172.17.64.22, 172.18.64.33, and 172.16.64.11. The rotation process continues until data from all of the same type of resource records associated with a name have been rotated to the top of the list returned in answering client queries. The client is required to try the first IP address listed.

By default, a Windows 2000 DNS server uses a different method to order the records returned to a client. It attempts to find the resource record containing the IP address closest to the client, then returns this resource record first in the list of records. However, you can modify the default so it performs traditional round-robin. For information, see "Windows 2000 DNS" in this book. Versions of BIND 4.9.3 and later perform this type of load sharing. Earlier versions of BIND performed a different type of load sharing; for more information, see RFC 1794.