simple DNS question

Kevin Darcy kcd at daimlerchrysler.com
Sat Mar 17 02:58:05 UTC 2001


Ali Ghodsi wrote:

> Hi!
>
> For iterative DNS lookup, does the client ask the DNS for an address, and if
> the DNS does not know about it, it returns a reference IP to some other DNS.
> Then the client makes a new request to the referenced DNS and so on?

(I think you probably meant "referral" instead of "reference IP").

> My book says that the iterative DNS lookup is the most common one, how come?
> To me it just sounds like its much easier to do recursive since the DNS:es
> will handle all the requests.

Saying that recursive querying is easier is like saying getting someone to do
your job is easier; it's easier for *you*, certainly, but eventually
SOMEONE HAS TO DO THE WORK. Similarly, some resolver eventually has to do the
iterative work to resolve the query. Recursion just simply passes that
responsibility from one node to another, and in doing so, often *increases* the
total amount of work that collectively needs to be performed to resolve the
query for that particular client.

> If I want to lookup hi.you.somewhere.com, if my local DNS does not know
> about somewhere. then would it send me to the second level DNS which is
> responsible for .com? This makes no sense to me, this would put a huge load
> on the .com server.

Where else do you suppose your local DNS would send the query? The assumption,
of course, is that the local DNS has nothing in its cache for any of the
intermediate domains, i.e. nothing cached for "you.somewhere.com" or
"somewhere.com". It would only go back up to the "com" level if it that was the
closest ancestor domain it knew. Caching greatly reduces the load on the root
and TLD servers, because in many cases it allows DNS servers to
"shortcut" resolution, e.g. talk to the "somewhere.com" servers directly.

> sorry if my questions are too simple.

No need to apologize. But I do think you need to educate yourself further as to
the mechanics of recursive versus iterative query resolution...


- Kevin



More information about the bind-users mailing list