forwarding algorithm and timeouts

Bob Vance bobvance at alumni.caltech.edu
Wed Mar 28 14:42:00 UTC 2001


>These are technical terms, and the correct one should be used to
>describe the behaviour in question.

You are correct, sir.

But, to clear my name, I must say that I *did* do that.
I clearly understand the difference between a nameserver in forwarding
mode and resolver in a DNS client -- and even the resolving logic in
'nslookup'.

If you re-read my original post, you'll see that I never used the term
"forward" wrt to the resolver routine.  For some reason, you just chose
to assume that I didn't know what I was talking about.

What probably wasn't totally clear in my post was that it contained two
questions -- one regarding the "forwarders" timeout and the other,
whether all resolvers do (or should) use the same algorithm and
timeouts.


ORIGINAL post:
>What exactly is the forwarding algorithm, assuming that "forward only"
>is set.
>Or where can I read about it (besides the source code :) ?

>I checked the ARM, but only found this brief statement:

>   "they are queried in turn until the list is exhausted or an answer
>    is found.
>   "

>Hmmm. I just looked in 'DNS and BIND, 2nd' and it says:

>   "each forwarder is contacted only once, and it waits a short time
>    for the forwarder to respond.
>   "
>OK.  What is the timeout used before going to the next one in the list?

Seems clear to me that I'm talking about nameservers, here.

>I would assume that it would have to be ~5 since we know that the stub
>resolvers wait this long on their initial try.  Otherwise, we could get
>several outstanding request from resolvers before the first forwarder
>try times out.

Seems clear to me what I'm saying, here:
If nameserver1's "forwarding" timeout in waiting for a reply to the
recursive request he sends to the current "forwarder", nameserver2, is
longer than the delay in the original stub resolver client that sent the
original recursive query to nameserver1, then the client could send
another request to nameserver1 for the same query before nameserver1's
request to nameserver2 times out.  Then nameserver1 will have 2 requests
outstanding to nameserver2 for the same query, etc., etc.
Clear?

>Do all resolvers follow the algorithm described in 'DNS and BIND' ?
>I.e., do WinX or MAC clients also try their list initially with 5
>seconds, then re-do the list with 10 seconds, etc.?
>Is this algorithm a requirement described in an RFC?

-------------------------------------------------
Tks        | <mailto:BVance at sbm.com>
BV         | <mailto:BobVance at alumni.caltech.edu>
Sr. Technical Consultant,  SBM, A Gates/Arrow Co.
Vox 770-623-3430           11455 Lakefield Dr.
Fax 770-623-3429           Duluth, GA 30097-1511
=================================================





-----Original Message-----
From: bind-users-bounce at isc.org [mailto:bind-users-bounce at isc.org]On
Behalf Of Brad Knowles
Sent: Tuesday, March 27, 2001 5:29 PM
To: Kevin Darcy; bind-users at isc.org
Subject: Re: forwarding algorithm and timeouts



At 2:55 PM -0500 3/27/01, Kevin Darcy wrote:

>  Well, this is just a matter of semantics, but when a nameserver
program (like
>  "named") forwards, it is acting in the *role* of a "resolver" (i.e. a
>  DNS client). It is therefore quite reasonable, in my opinion, to
compare and
>  contrast, as Bob is doing, the respective timeout/retry strategies
for
>  "forwarding" versus stub resolvers.

	These are technical terms, and the correct one should be used to
describe the behaviour in question.

>  This just sounds wrong. What about forwarder failover or the
RTT-based
>  forwarder-selection in BIND 8.2.3? Perhaps you are using terms like
>  "contact" in a way that is unfamiliar to me.

	This is what was recently confirmed to me by Jim.  Now, maybe I
misunderstood what he was saying, but this is my understanding.

--
Brad Knowles, <brad.knowles at skynet.be>

/*        efdtt.c  Author:  Charles M. Hannum <root at ihack.net>
*/
/*       Represented as 1045 digit prime number by Phil Carmody
*/
/*     Prime as DNS cname chain by Roy Arends and Walter Belgers
*/
/*
*/
/*     Usage is:  cat title-key scrambled.vob | efdtt >clear.vob
*/
/*   where title-key = "153 2 8 105 225" or other similar 5-byte key
*/

dig decss.friet.org|perl -ne'if(/^x/){s/[x.]//g;print pack(H124,$_)}'




More information about the bind-users mailing list