Recursive Name Resolution

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Recursive name resolution is the process by which a DNS server uses the hierarchy of zones and delegations to respond to queries for which it is not authoritative.

In some configurations, DNS servers include root hints, a list of names and IP addresses, which enable them to query the DNS root servers. In other configurations, servers forward all queries that they cannot answer to another server. Forwarding and root hints are both methods that DNS servers can use to resolve queries for which they are not authoritative.

Resolving Names by Using Root Hints

Root hints enable any DNS server to locate the DNS root servers. After a DNS server locates the DNS root server, it can resolve any query for that namespace. Figure 2.30 shows how DNS resolves a name by using root hints.

Figure 2.30   Using Root Hints for Recursive Name Resolution

Using Root Hints for Recursive Name Resolution

In this example, the following events take place:

  1. A client sends a recursive query to a DNS server to request the IP address that corresponds to the name ftp.contoso.com. A recursive query indicates that the client wants a definitive answer to its query. The response to the recursive query must be a valid address or a message indicating that the address cannot be found.

  2. Because the DNS server is not authoritative for the name and does not have the answer in its cache, the DNS server uses root hints to find the IP address of the DNS root server.

  3. The DNS server uses an iterative query to ask the DNS root server to resolve the name ftp.contoso.com. An iterative query indicates that the server will accept a referral to another server in place of a definitive answer to the query. Because the name ftp.contoso.com ends with the label com, the DNS root server returns a referral to the com server that hosts the com zone.

  4. The DNS server uses an iterative query to ask the com server to resolve the name ftp.contoso.com. Because the name ftp.contoso.com ends with the name contoso.com, the com server returns a referral to the Contoso server that hosts the contoso.com zone.

  5. The DNS server uses an iterative query to ask the Contoso server to resolve the name ftp.contoso.com. The Contoso server finds the answer in its zone data and returns the answer to the server.

  6. The server then returns the result to the client.

Resolving Names by Using Forwarding

Forwarding enables you to route name resolution through specific servers instead of using root hints. Figure 2.31 shows how DNS resolves a name by using forwarding.

Figure 2.31   Using Forwarding for Recursive Name Resolution

Using Forwarding for Recursive Name Resolution

In this example, the following events take place:

  1. A client queries a DNS server for the name ftp.contoso.com.

  2. The DNS server forwards the query to another DNS server, known as a forwarder.

  3. Because the forwarder is not authoritative for the name and does not have the answer in its cache, it uses root hints to find the IP address of the DNS root server.

  4. The forwarder uses an iterative query to ask the DNS root server to resolve the name ftp.contoso.com. Because the name ftp.contoso.com ends with the name com, the DNS root server returns a referral to the com server that hosts the com zone.

  5. The forwarder uses an iterative query to ask the com server to resolve the name ftp.contoso.com. Because the name ftp.contoso.com ends with the name contoso.com, the com server returns a referral to the Contoso server that hosts the contoso.com zone.

  6. The forwarder uses an iterative query to ask the Contoso server to resolve the name ftp.contoso.com. The Contoso server finds the answer in its zone files and returns the answer to the server.

  7. The forwarder then returns the result to the original DNS server.

  8. The original DNS server then returns the result to the client.

For more information about DNS, see the Networking Collection of the Windows Server 2003 Technical Reference (or see the Networking Collection on the Web at https://www.microsoft.com/reskit).