Server names for query

Kevin Darcy kcd at chrysler.com
Mon Mar 23 22:20:38 UTC 2009


Casey Deccio wrote:
> RFC 1035 [1] (page 44) describes the use of a list of server names 
> (SLIST) to query for a particular name.  It is unclear to me from the 
> RFC as to whether the server is selected by address or by name.  In 
> other words, all history (e.g., batting average and response time) 
> being equal, if a name resolves to two IP addresses, is it twice as 
> likely to be used in resolution for a name as that which resolves to 
> only one--both according to the RFC, and as implemented in BIND?  Example:
>
> example.com <http://example.com>. 3600 IN NS ns1.example.com 
> <http://ns1.example.com>.
> example.com <http://example.com>. 3600 IN NS ns2.example.com 
> <http://ns2.example.com>.
> ns1.example.com <http://ns1.example.com>. 3600 IN A 10.0.0.1
> ns1.example.com <http://ns1.example.com>. 3600 IN A 10.0.0.2
> ns2.example.com <http://ns2.example.com>. 3600 IN A 10.0.0.3
>
For the *initial* NS query, I believe BIND will resolve those names down 
to a flat set of addresses, all of which have equal chance of being 
tried, so, yes, if a given NS name resolves to more addresses than other 
names, it is more likely to be tried on the initial NS query.

But that's just the *initial* NS query. Once BIND, and/or virtually any 
other full-resolver implementation, builds up a history of how fast each 
nameserver responds (based on round-trip-time or RTT), it will start 
using nameservers which respond faster (although there is some "banding" 
that occurs, so that nameservers which respond more-or-less at the same 
speed get tried equally often). So if the point of your question is to 
try to control the distribution of query load to nameservers, be aware 
that this will be determined much more by the speed at which they 
respond, respectively, to clients, than to how the NS names are 
organized. Clients gravitate to faster servers. If the extra volume 
causes the fast servers to bog down and be slower, then clients 
gravitate away from them, and some sort of query-volume equilibrium is 
achieved between all of the nameservers which are published for the 
zone. In a sense, it is "auto-tuning" in this regard.

                                                                         
                           - Kevin




More information about the bind-users mailing list