random question about the internals of bind

Kirk Johnson tuna at indra.com
Wed Jan 26 20:27:07 UTC 2000


i've got a random (and probably rather gory) question about the
internals of bind. (and apologies if i'm using the term "zone"
incorrectly here, i'm not a DNS expert.)

deep in the guts of bind, there is some code that associates a bit of
state with each of the NS records for a zone. this state is used to
help bind attempt to direct the majority of any requests to resolve
FQDNs in that zone to the name server that provides the best response
time. one more knowledgeable than i about the guts of DNS has already
directed me to the ns_resp() code in bind that updates this state
(search for a "compute query round trip time" comment in ns_resp.c).

i'm curious if anybody can tell me what happens to this state (the
"approximate" round-trip times associated with each NS record) when
the TTL on the NS records expires. when the same group of NS records
are refetched, is any of the state that was associated with the
previous instance of those NS records (before the TTL expired)
preserved? (this is the simple case -- assume that bind gets back
exactly the same NS records as it had previously.)

bonus question: what happens in the same case if, upon refetching the
NS records for the zone in question, those NS records have changed
(where there may be _some_ overlap with the previous set, but perhaps
having dropped a few records and added a few others)?

any insight about what bind does in these kinds of situations would be
much appreciated (pointers to relevant source would be especially
cool).

replies by e-mail are best; i'll happily summarize to the net if
there is sufficient interest.

thanks!

kirk
(please don't spam me)



More information about the bind-users mailing list