forwarding algorithm and timeouts
kcd at daimlerchrysler.com
Mon Mar 26 22:00:22 UTC 2001
Bob Vance wrote:
> 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.
Actually, as of BIND 8.2.3, the forwarders are supposedly tried according
to historical RTT, not necessarily sequentially...
> OK. What is the timeout used before going to the next one in the list?
> 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.
> 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?
In RFC terms, a nameserver doing "forward only" isn't really acting as a
"nameserver" _per_se_, but is actually assuming the role of a "resolver",
basically a stub-resolver-with-caching. I don't recall offhand if there
are any specific parameters in the RFCs regarding resolver timeouts...
More information about the bind-users