Previous Page Next Page

C.3.1.2 External Lookups

The local lookup routines are quite simple and straightforward, involving very little work. However, once these lookups are for domains outside of the local network, they get much more complicated very quickly.

Because the local DNS server only knows about the local domain, any client queries for external data must be forwarded to the DNS servers responsible for those external domains. Because DNS is distributed, the remote DNS servers must be located using DNS queries as well.

When a client issues a lookup for a remote domain, it begins by sending a query to the local nameserver. If the local DNS server does not have the information, then it will issue a request to the remote nameserver on behalf of the client. If the local nameserver does not know the IP address of the remote nameserver, then it must issue a query to the root nameservers (".") asking for the IP address of the nameserver responsible for the destination domain. Once this information is returned, the nameserver will then issue a query to the remote domain's nameserver asking for the IP address of the destination system. Finally, this information is returned to the client that issued the original query. Figure C.5 below illustrates this process.

Figure C.5 The local client must query remote nameservers for information about hosts in remote domains.

In the example shown in Figure C.5, the user at Joe-PC.UNOVERICA.COM wanted to connect to WWW.NOVELL.COM. The steps involved in resolving the IP address of the host named WWW.NOVELL.COM are as follows:

  1. Joe-PC.UNOVERICA.COM issues a DNS query to the local nameserver (SERVER1.UNOVERICA.COM) requesting the IP address of the host named WWW.NOVELL.COM.

  2. SERVER1.UNOVERICA.COM does not know the IP address of the requested host, so it must resolve this information on behalf of the client. The first step in this process is locating the nameserver responsible for the NOVELL.COM domain, so it issues a query to one of the root nameservers ("A.ROOT- SERVERS.NET" in this case).

  3. A.ROOT-SERVERS.NET returns the IP address of NS1.NOVELL.COM, the DNS server for the NOVELL.COM domain, to SERVER1.UNOVERICA.COM.

  4. SERVER1.UNOVERICA.COM issues a query for the host named WWW.NOVELL.COM to NS1.NOVELL.COM.

  5. NS1.NOVELL.COM locates the entry for WWW.NOVELL.COM in its database, and returns the IP address to SERVER1.UNOVERICA.COM.

  6. SERVER1.UNOVERICA.COM then relays the information back to Joe- PC.UNOVERICA.COM, the original requester. SERVER1 also caches a copy of the data into its local database, in case another system asks for the same information soon. After a while, the cache information is flushed to allow for any changes that may have occurred.

While seemingly complex, this distributed architecture is required to support the millions of hosts on the global Internet. This same process is followed whenever queries are sent between different container domains (such as "ORG" and "NET" and "UK"), and whenever an organization has several sub-domains within their own company domain (such as "Marketing.UNOVERICA.COM" and "Engineering.UNOVERICA.COM" sub-domains).

For more information about how DNS works on a local network, refer to section C.3.1.1 Local DNS Lookups. For more information on the data that is stored in DNS, refer to section C.3.2 DNS Resource Records.

Previous Page Next Page

Copyright © 1997, Unoverica Corporation. All rights reserved. Unauthorized use prohibited.

Send comments to docs@unoverica.com