The Oreilly book wrong, or what am I missing??
kcd at daimlerchrysler.com
Mon Dec 9 23:33:20 UTC 2002
> 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".
More information about the bind-users