Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Server > DNS Server > My understanding of iterative vs. recursive DNS queries

Reply
Thread Tools Display Modes

My understanding of iterative vs. recursive DNS queries

 
 
Spin
Guest
Posts: n/a

 
      06-19-2009
Gurus,

My understanding of iterative vs. recursive DNS queries is as follows. Is
this correct?

Iterative DNS queries are performed by a DNS server in such a fashion that
it queries multiple DNS servers for an answer. While recursive queries
performed by a DNS server (or client resolver) simply go to the first DNS
Server configured in it's TCP/IP configuration (if it answers, it doesn't it
goes to the second one in the list) for an answer and that's it.

--
Spin

 
Reply With Quote
 
 
 
 
Ace Fekay [Microsoft Certified Trainer]
Guest
Posts: n/a

 
      06-30-2009

"Spin" <> wrote in message news:...
> Gurus,
>
> My understanding of iterative vs. recursive DNS queries is as follows. Is
> this correct?
>
> Iterative DNS queries are performed by a DNS server in such a fashion that
> it queries multiple DNS servers for an answer. While recursive queries
> performed by a DNS server (or client resolver) simply go to the first DNS
> Server configured in it's TCP/IP configuration (if it answers, it doesn't it
> goes to the second one in the list) for an answer and that's it.
>
> --
> Spin


Hi Spin,

Well, this depends on context and which machine is doing what with a query.

Reason why I say that, is basically a recursive query means the machine send the query, such as a client machine, or even a DC, etc, to a DNS server for resolution. Recursive name queries are generally made by a DNS client to a DNS server, or by a DNS server that is configured to pass unresolved name queries to another DNS server, in the case of a DNS server configured to use a forwarder.

Interative queries is a request from a client tells the DNS server that the client expects the best answer the DNS server can provide immediately, without contacting other DNS servers. The process then relies on the client to continue the process possibly by using a referral where the DNS server supplying the client NS or A records of a DNS server that is closer to the namespace which may possibly provide the answer. However we don't see that with the normal sense of the word, 'query,' when a client sends a request to a DNS server, which we are more familiar with. However, with a recursion request from a client to a DNS server, which as I said is what we normally think of using the term 'query,' the DNS server will do its best to resolve it, either by using the Root Hints, which is essentially an interative query to the Roots to devolve the namespace from the TLD backwards, or a query to a Forwarder, if configured with a Forwarder, which is essentially a recursion request.

Here are some Mircosoft links on it:

Recursive and Iterative QueriesRecursive and Iterative Queries. With a recursive name query , the DNS client requires that the DNS server respond to the client ...
http://technet.microsoft.com/en-us/l.../cc961401.aspx

How DNS query works: Domain Name System(DNS)Jan 21, 2005 ... As DNS servers process client queries using recursion or iteration, they discover and acquire a significant store of information about the ...
http://technet.microsoft.com/en-us/l...37(WS.10).aspx

To go further...

The following quote is a non-Microsoft definition, but it still applies, no matter what DNS server service is used. The quote was taken from:
http://www.linuxjournal.com/article/4198

"Since ns.someisp.com isn't authoritative for wiremonkeys.org and hasn't recently communicated for any host that is, it begins a query of its own on the user's behalf. The process of asking one or more queries in order to answer other queries is called recursion."

Does that make sense so far?

So to take it a little further...

Keep in mind, recursion is not necessarily resolution. The reasons is the process of following a chain of delegations from one set of content DNS servers to another,starting at some root servers, is termed "resolution"; as exemplified in section 6.3 of RFC 1034. It is not termed "recursion". "Recursion" is something else. The definition of "recursion" is the act
of a server sending back-end queries (of _whatever_ sort) to another server. Both query resolution, where back-end queries are sent to content DNS servers, and forwarding, where back-end queries are sent to proxy DNS servers, are forms of recursion.

Therefore...

Resoluton can be provided many times from its own authoritative zones where no recursion involved.
A query can be resolved from its cache where no recursion involved (directly, because it's in its cache).
By forwarding, with the forwardee doing the resolution where recursion is involved. However if it forwards it out, it essentially becomes an interative query because it's proxying the request elsewhere for the client, such as an indirect query for the client, but essentially this can be viewed as an recursive query by the DNS server itself acting as a recursive client.
Or DNS can perform the query resolution itself where recursion is involved. An example is when Forwarding is not enabled, and the DNS server uses the Root Hints, where essentially it's querying the Roots in a recursive manner devolving the DNS name hierarchy from the TLD backwards.

Got it?

Next week we'll discuss helion particles (a-particle of the helium-3 nucleus) and their mass.

--
Ace

This posting is provided "AS-IS" with no warranties or guarantees and confers no rights.

Please reply back to the newsgroup/forum to benefit from collaboration among responding engineers, as well as to help others benefit from your resolution.

Ace Fekay, MCSE 2003 & 2000, MCSA 2003 & 2000, MCSA Messaging, MCT
Microsoft Certified Trainer

http://twitter.com/acefekay

For urgent issues, you may want to contact Microsoft PSS directly. Please check http://support.microsoft.com for regional support phone numbers.










 
Reply With Quote
 
Ace Fekay [Microsoft Certified Trainer]
Guest
Posts: n/a

 
      06-30-2009


"Ace Fekay [Microsoft Certified Trainer]" <> wrote in message news:O5pFxBS%...

Spin, here another site:

Cool site with a scripted demo showing how it works and the differences between a recursive and interative query
Recursive/Iterative Queries in DNS (Chapter 2)
http://media.pearsoncmg.com/aw/aw_ku...s/dns/dns.html

Ace
 
Reply With Quote
 
Spin
Guest
Posts: n/a

 
      07-20-2009
"Ace Fekay [Microsoft Certified Trainer]" <>
wrote in message news:O5pFxBS%...

Spin, here another site:

Cool site with a scripted demo showing how it works and the differences
between a recursive and interative query
Recursive/Iterative Queries in DNS (Chapter 2)
http://media.pearsoncmg.com/aw/aw_ku...s/dns/dns.html

Ace

THANK YOU ACE!!!!

 
Reply With Quote
 
Ace Fekay [MCT]
Guest
Posts: n/a

 
      07-20-2009
"Spin" <> wrote in message news:...
> "Ace Fekay [Microsoft Certified Trainer]" <>
> wrote in message news:O5pFxBS%...
>
> Spin, here another site:
>
> Cool site with a scripted demo showing how it works and the differences
> between a recursive and interative query
> Recursive/Iterative Queries in DNS (Chapter 2)
> http://media.pearsoncmg.com/aw/aw_ku...s/dns/dns.html
>
> Ace
>
> THANK YOU ACE!!!!
>



My pleasure!

Ace
 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Restrict Recursive Queries acoustix DNS Server 5 02-15-2008 08:33 PM
Basci question on iterative vs recursive queries Marlon Brown DNS Server 2 01-18-2007 04:04 PM
Another question on recursive queries Marlon Brown DNS Server 2 01-18-2007 04:04 PM
NT4 Microsoft DNS - Restrict Recursive Queries Wayne & Carr DNS Server 2 05-18-2006 07:08 AM
DNS not hanlding recursive queries Chris DNS Server 15 03-09-2005 03:23 AM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59