RFC 3596 / START HERE
DNS for IPv6, before the details
DNS means Domain Name System, the Internet’s distributed directory. IPv6 means Internet Protocol version 6. RFC 3596 defines how DNS stores IPv6 addresses and looks up names from them.
An AAAA record is a typed DNS entry that associates a name with one IPv6 address. A reverse lookup starts with an address and asks for a name under ip6.arpa.
The idea in one picture
Ask for a name
AAAA address data
Reverse to a name
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
Older address records stored 32-bit IPv4 values. RFC 3596 adds 128-bit IPv6 records while retaining IPv4 support. It also extends the extra address information attached to certain answers; it does not replace the whole DNS protocol.
A familiar example
A fictional picnic.example. entry can point to 2001:db8::1 using AAAA. Asking for that record over IPv4 still returns IPv6 data. A reverse name is built from all 32 hexadecimal digits in reverse order. A DNS answer does not by itself authenticate a destination or guarantee a working connection.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- Store one IPv6 address per AAAA recordDNS means Domain Name System: a distributed directory of records. An AAAA record associates a name with one IPv6 address.→
- Encode sixteen address bytesThe zone file uses IPv6 text. The DNS packet carries the same address as sixteen bytes, with the high-order byte first.→
- Ask for AAAA over either IP versionAn IPv6 address answer can travel over IPv4. Conversely, an IPv4 address answer can travel over IPv6.→
- Reverse all thirty-two hexadecimal digitsA reverse lookup starts with an IPv6 address. Expand it, reverse its hexadecimal digits one by one, separate them with dots, and append ip6.arpa.→
- Add both address families when relevantNS, MX and SRV answers refer to other names. Their additional-address processing includes relevant IPv4 and IPv6 records available locally.→
This introduction explains RFC 3596 (2003). Read the original RFC ↗