Adding AAAA RRs of root name servers to hints and root zone files
IPv6 addresses are already included for Top Level Domain Name Servers in the root zone file. Several root name server operators have assigned IPv6 addresses to their servers but these are not included in the root hints file and the root zone at this time so IPv6 or "AAAA" address records of root name servers are not returned in responses to DNS queries sent by recursive name servers. In particular, they are not returned during what is known as a "priming exchange".
Little documentation exists regarding hints and priming. Typically, resolvers are pre-configured with the addresses of at least one root name server, and they initially rely on this "hint" information to provide recursive name service. A recursive name server may also perform a process called priming to ensure that it has an up-to-date and accurate list of root name servers. A priming query is sent to one or more of the root name server addresses configured as "hints" and asks for (QNAME=".", QTYPE="NS", QCLASS="IN"). The priming response contains NS records in the authority section and the corresponding A records in the additional section.
Priming messages are exchanged using UDP, and the DNS protocol RFCs specify a 512 byte maximum for UDP-encapsulated DNS messages. If more than two type AAAA records are added to the root hints and root zone files, the DNS priming response will exceed this maximum; in fact, when all 13 root name servers are assigned IPv6 addresses, the priming response will be 811 bytes. This changes the conditions needed to assure that a priming exchange will succeed. Firewalls must be configured to allow DNS messages containing IPv6 addresses and they must be configured to forward UDP-encapsulated DNS response messages that exceed 512 bytes and that may arrive in multiple IP fragments. Resolvers must be able to bootstrap with hints containing AAAA address records (even when IPv4 transport is used for priming) and they must be able to use DNS Extensions to notify root name servers that they are able to process DNS response messages larger than the 512 bytes.
In SAC018, my RSSAC and SSAC colleagues and I examine the problems that might arise if AAAA resource records of root name servers were added to the root hints and root zone file for the DNS. We describe and report the results of testing performed by committee members and the community at large, including recursive name server operators as well as commercial vendors of security systems and DNS name server products, to determine the extent to which these problems are likely to be encountered. T
I had a great deal of fun testing both firewall and name server software for this project, and discussing name server implementation quirks with developers and vendors who willingly participated in reporting results (see SAC016 and SAC016 for results). The test results figure prominently in the recommendations we propose to ICANN and IANA. We conclude with a roadmap the community can follow to assure that the inclusion of AAAA records in the root hints file and DNS priming responses from root name servers has minimum impact and maximum benefit.
Archived at http://www.securityskeptic.com/arc20070301.htm#BlogID603
by Dave Piscitello