Free Certification Practice Tests and Study Guides
Join Us! | Login | Help




Understanding DNS


By Jason Zandri

<<  Index | Next  >>

Domain Name System (DNS) servers maintain a distributed database used to translate computer names to Internet Protocol (IP) addresses on Transmission Control Protocol/Internet Protocol (TCP/IP) networks which includes the internet.

[NOTES FROM THE FIELD] - Being able to install DNS is not a requirement for the 70-270 exam. Understanding the functionality of DNS and how it affects Windows XP Professional clients in workgroups and within domains is.

In the next few weeks in my Learn Active Directory in 15 Minutes a Week series of articles I will cover DNS in more depth, including a more in depth view of installing DNS.

The Microsoft Domain Name System (DNS) is the name resolution service that resolves Uniform Resource Locator names (URLs) and other DNS names into their “true” dotted decimal format. http://www.zandri.net translates into a specific Internet Protocol (IP) address and it is that address resolution that allows you to reach the server destination you are looking for.

Lookup Queries and Lookup Types

There are two different types of DNS lookup, forward and reverse. A forward lookup query resolves a DNS name to an IP address and is the most common DNS query. A reverse lookup query resolves an IP address to a name.

A DNS name server can resolve a query only for a zone for which it has authority. When DNS servers receive a resolution request, they attempt to locate the requested information in their own database.

There are two types of queries that can be performed in DNS: Iterative and Recursive.

A DNS resolution query made from a client to a DNS server where the server returns the best answer that it can provide based on its local cache or stored zone data is called an Iterative query. If the server performing the Iterative query does not have an exact match for the name request, it provides a pointer to an authoritative server in another level of the domain namespace. The client system will then query that server and so on and will continue this process until it locates a server that is authoritative for the requested name or until an error is returned such as name not found or a time-out condition is met.

A DNS resolution query made from a client to a DNS server in which the server assumes the full workload and responsibility for providing a complete answer to the query is called a recursive query.

The server, if it cannot resolve the resolution from it's own database will then perform separate iterative queries to other servers (on behalf of the client) to assist in returning an answer to the recursive query and will continue this process until it locates a server that is authoritative for the requested name or until an error is returned such as name not found or a time-out condition is met.

Client computers send recursive queries to DNS servers in most cases and usually the DNS server is set up to make iterative queries to provide an answer to the client.

The following is an example of the query process of a client computer making a request to a DNS server to resolve the address web address of www.zandri.net.

First the client computer generates a request for the IP address of www.zandri.net by sending a recursive query to the DNS server that it is configured to use in its network configuration. (We'll call this server LOCALCFG)

The second step is for LOCALCFG DNS server that has received a recursive query to look it its local database. If it does find that answer locally it is returned. If it is unable to locate an entry for www.zandri.net in its own database, it sends an iterative query to a DNS server that is authoritative for the root of the local domain. (We'll call this server LOCALROOT)

If the LOCALROOT DNS server, which is authoritative for the root domain, has the answer in its local database it sends a response to LOCALCFG. If the LOCALROOT DNS server is unable to locate an entry for www.zandri.net in its database, it sends a reply to the querying DNS server (LOCALCFG) with the IP addresses of DNS servers that are authoritative for the .net domain. (If it were .com you would be sent the IP addresses of DNS servers that are authoritative for the COM domain. If it were .org you would be sent the IP addresses of DNS servers that are authoritative for the ORG domain and so on.) We'll call this server DNSNET.

The DNS server that received the client recursive query (LOCALCFG) sends an iterative query to a server that is authoritative for the .net domain (DNSNET).

If the DNS server that is authoritative for the .net domain (DNSNET) has an entry for www.zandri.net in its local cache it will return it to LOCALCFG. If DNSNET is unable to locate an entry for www.zandri.net in its database, it sends a reply to the querying DNS server (LOCALCFG) with the IP addresses of DNS servers that are authoritative for the zandri.net domain. (We'll call this server ZANDRIDNS).

The DNS server that received the client recursive query (LOCALCFG) sends an iterative query to a server that is authoritative for the zandri.net domain. (ZANDRIDNS)

The DNS server that is authoritative for the zandri.net domain (ZANDRIDNS) locates an entry for www.zandri.net in its database and sends a reply to the querying DNS server (LOCALCFG) with the IP address of www.zandri.net.

The DNS server (LOCALCFG) that received the recursive query sends a reply to the client computer with the IP address of www.zandri.net.

If you have any questions, comments or even constructive criticism, please feel free to drop me a note.

I want to write solid technical articles that appeal to a large range of readers and skill levels and I can only be sure of that through your feedback.

Until next time, best of luck in your studies and remember,

"Clones are people two."

Jason Zandri

<<  Index | Next  >>