Enabling DNS to Correctly Locate Multihomed Computers

A multihomed computer is a single computer associated with multiple IP addresses. When a DNS name server is queried for a single host name-to-IP address mapping for a multihomed computer, it responds with a list of the host name-to-IP address mappings for that computer.

Because of the round-robin feature of Microsoft DNS server, described earlier in this chapter, the order of the listed mappings for a multihomed computer changes with each new name query. The round-robin feature enables DNS to respond with the list of mappings in a different order each time it receives a name query for the multihomed computer. This feature is used to balance the load of connections made to each IP address. If one or more of the listed mappings is incorrect, for example if there is an incorrect or nonexistent IP address, errors can occur as described following.

TCP/IP utility programs, NetBT programs, and Microsoft Internet Explorer all process the list of mappings for a multihomed computer differently.Some TCP/IP utility programs, such as FTP and Telnet, send a separate name resolution request to the DNS server each time an attempt is made to resolve a name to an IP address. These utilities use the first IP address in the list returned for each new request by the DNS server. If that first IP address is incorrect, the program fails to connect to the multihomed computer, even though it may have previously connected by using a previous name resolution query.

Programs that use NetBT to connect to remote computers process the list provided by the DNS server in a different manner. The first time a DNS client program using NetBT sends a name query to DNS server, it saves only the first mapping in the list in local cache on the DNS client computer. If the first mapping is incorrect, the program fails to connect to the multihomed computer.

The list is saved for a period of time defined as the CacheTimeout, which has a default value of 10 minutes. Any subsequent name resolution queries made within the CacheTimeout period are resolved by using the mapping saved in the local cache. Name queries made after the CacheTimeout period is expired require a new request for host name-to-IP address mapping. If the subsequent mapping is correct, the client program connects to the multihomed computer. If the subsequent mapping is incorrect, the client program fails to connect.

Microsoft Internet Explorer processes the list received from the DNS server differently than either the TCP/IP utilities or NetBT. Microsoft Internet Explorer tries to connect to the multihomed computer by using each name-to-IP address mapping until it succeeds or until all IP addresses in the list are attempted.

The responsibility of performing in this manner lies with the application. It is the responsibility of the resolver to return the addresses from DNS, not to define the manner in which the application uses the addresses.

Û To prevent failure to connect to a multihomed computer

Use DNS Manager to select the zone in which the multihomed computer exists and create A and PTR records for each IP address associated with multihomed computer.

Do not create A and PTR resource records for IP addresses that are nonexistent on the multihomed computer.

Use DNS Manager or a text editor to examine the data in the A and PTR records for the computer. Delete any A or PTR records that contain invalid IP address mappings.