RFC 3596
DNS Extensions to Support IP Version 6
RFC 3596: DNS Extensions to Support IP Version 6 π
okay bestie, let's start with the vibe check β¨ This is RFC 3596, from the Network Working Group, and it's a Standards Track doc, so it's an actual official protocol spec π It's dated October 2003. The authors are S. Thomson (Cisco), C. Huitema (Microsoft), V. Ksinant (6WIND) and M. Souissi (AFNIC) π«Ά It obsoletes RFC 3152 and RFC 1886, so those are out and this one is in. It doesn't say it updates anything.
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract β¨
okay so this doc is all about the changes DNS needs so hosts running IP version 6 (IPv6) can actually work π¦ There are three big things: a resource record type that stores an IPv6 address, a domain for looking things up by IPv6 address, and updated definitions for existing query types that hand back Internet addresses in additional section processing. The whole point is that everything stays compatible with existing applications and DNS implementations themselves π«Ά
Table of Contents πΈ
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. New resource record definition and domain. . . . . . . . . . . 2
2.1. AAAA record type . . . . . . . . . . . . . . . . . . . . 3
2.2. AAAA data format . . . . . . . . . . . . . . . . . . . . 3
2.3. AAAA query . . . . . . . . . . . . . . . . . . . . . . . 3
2.4. Textual format of AAAA records . . . . . . . . . . . . . 3
2.5. IP6.ARPA domain. . . . . . . . . . . . . . . . . . . . . 3
3. Modifications to existing query types. . . . . . . . . . . . . 4
4. Security Considerations. . . . . . . . . . . . . . . . . . . . 4
5. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 4
6. Intellectual Property Statement. . . . . . . . . . . . . . . . 4
Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . 5
Appendix A: Changes from RFC 1886. . . . . . . . . . . . . . . . . 6
Normative References . . . . . . . . . . . . . . . . . . . . . . . 6
Informative References . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction π
okay the situation is this: storing Internet addresses in the Domain Name System (DNS) [1,2] can't just be stretched to cover IPv6 addresses [3], because applications assume that address queries only ever return 32-bit IPv4 addresses π
so to get IPv6 addresses into DNS, this doc defines these extensions:
- A resource record type is defined to map a domain name to an IPv6 address.
- A domain is defined to support lookups based on address.
- Existing queries that do additional section processing to find IPv4 addresses are redefined to do additional section processing on both IPv4 and IPv6 addresses.
the changes are designed to play nicely with existing software π IPv4 support is kept as-is. Transition issues around IPv4 and IPv6 addresses living together in DNS are discussed in [4] π§
one thing to know: the IP protocol version used to query resource records is independent of the protocol version of those records. So e.g., IPv4 transport can be used to query IPv6 records and vice versa π¦
this document combines RFC 1886 [5] with the changes RFC 3152 [6] made to RFC 1886, and obsoletes both. The main change is swapping the IP6.INT domain for IP6.ARPA, as defined in RFC 3152 π
2. New resource record definition and domain π
a record type is defined to store a host's IPv6 address. A host with more than one IPv6 address must have more than one such record π
2.1 AAAA record type
the AAAA resource record type is a record specific to the Internet class that stores a single IPv6 address β¨
the IANA assigned value of the type is 28 (decimal).
2.2 AAAA data format
a 128 bit IPv6 address is encoded in the data portion of an AAAA resource record in network byte order (high-order byte first) π«Ά
2.3 AAAA query
an AAAA query for a specified domain name in the Internet class returns all associated AAAA resource records in the answer section of a response π
a type AAAA query does not trigger additional section processing π ββοΈ
2.4 Textual format of AAAA records
the textual representation of the data portion of the AAAA resource record used in a master database file is the textual representation of an IPv6 address as defined in [3] π
2.5 IP6.ARPA Domain π₯
a special domain is defined to look up a record given an IPv6 address. The intent is to map an IPv6 address to a host name, though it may be used for other purposes as well π
an IPv6 address is represented as a name in the IP6.ARPA domain by a sequence of nibbles separated by dots, with the suffix ".IP6.ARPA". The nibbles are encoded in reverse order: the low-order nibble comes first, then the next low-order nibble, and so on. Each nibble is a hexadecimal digit πΈ
for example, the reverse lookup domain name for the address
4321:0:1:2:3:4:567:89ab
would be
b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.
ARPA.
3. Modifications to existing query types π§
okay this one's important π All existing query types that do type A additional section processing, i.e., name server (NS), location of services (SRV) and mail exchange (MX) query types, must be redefined to do both type A and type AAAA additional section processing. What that means is a name server must add any relevant IPv4 addresses and any relevant IPv6 addresses available locally to the additional section of a response when it's processing any one of the above queries π
to be continued... π part 2 has Security Considerations, IANA, the IP rights stuff, acknowledgments, the appendix and the references, so stay tuned bestie π«Ά
Full Copyright Statement π
Copyright (C) The Internet Society (2003). All Rights Reserved. π
okay so this part is the legal fine print, but it's actually pretty chill! π«Ά You can copy and share this document and translations of it. You can also make derivative works that comment on or explain it, or help people implement it, and publish and distribute those in whole or in part, with no restriction of any kind. The one condition is that the above copyright notice and this paragraph are included on all such copies and derivative works.
The document itself is a different story π It can't be modified in any way, like removing the copyright notice or the references to the Internet Society or other Internet organizations. There are two exceptions. The first is when it's needed for developing Internet standards, and then the procedures for copyrights defined in the Internet Standards process must be followed. The second is when it's required to translate it into languages other than English.
The limited permissions above are perpetual, and the Internet Society or its successors or assignees will not revoke them. βΎοΈβ¨
This document and the information in it is provided on an "AS IS" basis, and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. π
Acknowledgement π«Ά
Funding for the RFC Editor function is currently provided by the Internet Society. π
π¦ where this page comes from
- ietf: rfc3596 2003-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms