[bind10-dev] Resolver - address database requirements
JINMEI Tatuya / 神明達哉
jinmei at isc.org
Tue Oct 5 13:56:46 UTC 2010
At Fri, 1 Oct 2010 11:15:34 +0100,
Stephen Morris <stephen at isc.org> wrote:
> Your comments are requested on the first draft of the requirements for the address database component of the resolver. They are not complete, but at this stage the intention is to make sure that there is enough documentation for work on the component to start. However, if there is anything obviously missing (or just plain wrong), please let me know.
Some quick (but delayed) comments:
> For this reason, the resolver needs to maintain a list of nameserver addresses associated with domain names. Although the information may be in the main cache (in the form of A/AAAA records for the nameservers), using the cache directly is inappropriate because:
>
> a) The additional overhead of multiple lookups to locate first the NS records then the A/AAAA records.
I'm not sure if this is a valid reason. Unless the key of this
"database" is domain names (instead of server names) we still need to
locate the NS first and then get addresses. What we can (possibly)
save with a separate address "database" is the conversion overhead
from A/AAAA RRs to sockaddr_in/in6, etc. We can also make the lookup
faster because lookups in a generic DNS cache requires a search for
longest match, which is generally expensive, while in the case of
address "database" we can focus on exact match.
> Looking up Names
> ----------------
> * If only IPv6 addresses have been requested, only the IPv4 addresses associated with a name will be returned.
s/IPv4/IPv6/
One other point: in BIND 9, we also use addresses as a search key for
ADB (see dns_adb_findaddrinfo() in bind9/lib/dns/adb.c) to record RTT,
etc with forwarders. We may also need the same interface.
---
JINMEI, Tatuya
Internet Systems Consortium, Inc.
More information about the bind10-dev
mailing list