load balancing DNS

Kevin Darcy kcd at daimlerchrysler.com
Wed Jul 26 22:49:57 UTC 2000


Nirav Mehta wrote:

> [Somebody's description of BIND's RTT-based algorithm for selecting NS
> records.

> 1) Are you referring to the default behavior of a BIND name server upon
> receiving multiple NS records for a domain?

Yes, they were.

> 2) Is there another way to make the requesting name server query a new
> authoritative name server for every query (load balancing) without requiring
> any configuration in the requesting name server?

Why would you want to? If a nameserver is overloaded, then, network
connectivity all being equal, its RTT will suffer and then other nameservers
will query it less often. If network connectivity is *not* equal, why should
other nameservers suffer just because you stupidly put your faster servers
behind slower links? They have a perfect right to still prefer the ones which
answer their queries faster. RTT therefore tends to be a very adaptive form of
load-balancing. Just dividing the queries equally between nameservers is
*not* adaptive. One of those nameservers may be a 12-way Sun Enterprise 450
behind a T3, another may be a 33Mhz 386 with 8Mb of RAM behind a congested 56K
Frame Relay. It would make no sense to divide queries equally between them.
Normally you'd *want* other nameservers to prefer the one with more capacity.

> 3) How can an authoritative name server ensure that NS records for a
> subdomain are not cached? A TTL of zero perhaps?  Is there any requirement
> such as minimum BIND version to support zero TTL?

Again, why would you want to do this under normal circumstances? The only
reason for fiddling with the TTL's of NS records is if you know that the RRset
is going to change soon. Otherwise, you'd *want* those NS records to be cached
whenever possible in order to save the extra lookups required to fetch them. In
particular, if we're talking about second-level Internet domains, e.g. foo.com,
a low (or zero) TTL would force other nameservers to constantly go to the
TLD nameservers to get the delegation records.


- Kevin




More information about the bind-users mailing list