During a recursive query how does BIND decide which of the authoritative servers to query next?

Kevin Darcy kcd at chrysler.com
Fri Oct 19 21:17:35 UTC 2007


Brandorr wrote:
> Example:
>
> If name server NS1 is authoritative for FOO.COM, then my local name
> server will resolve WWW.FOO.COM for me by asking the root name
> servers. The root name servers will send the delegation information
> (FOO.COM) with NS records to the authoritative name servers for
> FOO.COM back to my local name server.
>
> What does my local name server do next? I thought it sent a UDP query
> to all of the authoritative name servers for FOO.COM, and then honored
> the reply that came back first.
>
> I however can not find any written corroboration that this is the way
> it does or doesn't work, and I don't want to dig through the source
> code.
>   
No, the NS records are tried one at a time until a valid, usable answer 
is received. If there is historical information available about which 
NS'es respond faster and/or more correctly than others, then this can be 
used to establish a sequence in which they will be tried, otherwise it's 
typically random. For more details see Section 7.2 of RFC 1035.

                                                                         
                              - Kevin



More information about the bind-users mailing list