DNS has two query types called recursive and iterative. This video looks at how these queries are used to resolve DNS requests and how you would configure them in your organization to get the results that you require.
Recursive and Iterative QueriesRecursive: This query is normally sent from a device on the network to a DNS server. This includes servers which also, when they require DNS names to be resolved, will send a recursive query to a DNS server. When a DNS server receives a recursive query, it will take responsibility to find an answer, even if this answer is, “there is no DNS name registered for that name”. If the DNS server is configured to forward requests, it will simply forward the request to another DNS server to be resolved. If forwarding is not configured, the DNS server will contact other DNS servers. The first DNS server that will be contacted will be a root hints server assuming information is not available in the DNS server cache that may help resolve the request. This request will be an iterative query which is explained in more detail below. In this example, the root hints server will respond back with the IP Address of the .com servers. The DNS server will be able to send an iterative query to this server asking for the DNS server that can answer DNS requests for ITFreeTraining.com. Once the DNS server has the IP Address for one of these DNS servers, it can contact it and resolve the name ITFreeTraining.com
Iterative: An Iterative query is a DNS request which states, “Give me the answer or give me any information that will help me find the answer”. If the DNS server has no information that will assist, it will respond back stating that and will not attempt to contact other DNS servers to attempt to find out the answer. Root hints servers are configured to only respond to iterative queries. As the root hints servers are at the top of the DNS hierarchy, if these were to become overloaded with recursive queries, this would affect their ability to answer other DNS queries and thus this is why recursive queries are switched off on the root hints servers.
Summary
Recursion: Sent by clients on the network to DNS Servers. The DNS server that is configured to accept recursive queries, which is the default, will contact other DNS servers as required to find out the result.
Iterative: Will respond back from its cache or zone files. It will not attempt to contact other DNS servers to find out the answer. If it knows another DNS server that may be able to assist with the name resolution it will return the IP Address of that DNS server.
References
“MCTS 70-640 Configuring Windows Server 2008 Active Directory Second edition” pg 455
“Installing and Configuring Windows Server 2012 Exam Ref 70-410” pg 230
“Domain Name System” http://en.wikipedia.org/wiki/Domain_Name_System
Credits