The Oreilly book wrong, or what am I missing??

Kevin Darcy kcd at daimlerchrysler.com
Mon Dec 9 23:33:20 UTC 2002


Jamie wrote:

>    I am going nuts.
>
>    I have a copy or "DNS and BIND" by O'Reilly, and I am currently on the
> chapter covering different types of queries: recursive and iterative.
>
>    I have read this section about 8 times now, and cannot see a difference
> between iterative and recursive queries by the examples they are giving.
>
>    The authors say that in an iterative query, the name server consults
> its local data looking for the data requested, and if it doesn't find the
> data there, makes its best attempt to give the querier data that will help
> it continue the resolution process.
>
>    Then they give an example that is nothing at all like what I've read.
> Their picture shows a resolver querying several nameservers looking for
> the answer before returning the answer to the resolver. Like this (taken
> from the book):
>
>   1) Name server A receives a query from the resolver.
>   2) A queries B.
>   3) B refers A to other name servers, including C.
>   4) A queries C.
>   5) C refers A to other name servers, including D.
>   6) A queries D.
>   7) D answers.
>   8) A returns answer to resolver.
>
>    ---So how in the heck can this possibly be an iterative query. Sure
> looks recursive to me! What is the difference then between a recursive
> query and an iterative one?
>
>    This info is taken from O'Reilly's DNS and BIND book pages 28-30, which
> seem to be flawed.

The query from "resolver" to "server A" is recursive. All of the others are
iterative. The diagram depicts the iterative resolution *process*, but that
doesn't mean every query in the diagram is iterative; in fact, the whole
sequence of events was kicked off by a recursive query.

Server A in the diagram is performing iterative resolution *on*behalf*of* the
entity shown as "resolver", which sent it a recursive query. Clearer now?
Recursive queries basically just ask someone else to do all of the work,
which is what "resolver" is doing of "server A".


- Kevin





More information about the bind-users mailing list