Understanding DNS AAAA Records with Examples
AAAA records are DNS records that use an IP address to connect a domain to a website. They are similar to A records, but AAAA records point to 128–bit/IPv6 addresses, instead of the IPv4 addresses used by A records
IPv6 addresses are four times larger than IPv4 and contain 8 sets of numbers and letters ranging from 0000 to FFFF.
Difference between A and AAAA records
A and AAAA records are equally important when it comes to resolving DNS. The difference lies in that A records is used to resolve a hostname which corresponds to an IPv4 address, while AAAA records are used to resolve a domain name which corresponds to an IPv6 address.
Clearly, because IPv4 is currently the most commonly used IP address, A records are also the most commonly used in comparison to AAAA records. Yet the potential for AAAA is growing because chances are that IPv6 will be the most commonly used internet protocol address system in the future.
Advantages of using AAAA record
AAAA records hold a big advantage over A records because a AAAA record can store a 128-bit IPv6 address, whereas the old A records can only store 32-bit IPv4 addresses.
The internet has expanded so quickly that we are running out of IPv4 addresses, which is why IPv6 is so important. This is also why IPv4 will be replaced with IPv6 over time, and why A records will be replaced by AAAA records over time.
IPv6 addresses are stored in an AAAA record by means of hexadecimal numbers, where each four-digit segment is separated by a colon (:).
DNS AAAA Record
AAAA records, or Address v6 records are used to store IP address information for a domain name.
AAAA records can only store IPv6 IP addresses (e.g. fe80::1). In order to store IPv4 addresses, an A record must be used.
Many websites and servers often do not provide any AAAA records as they do not yet support the newer IPv6 protocol and only have A records.
Most websites that support IPv6 only need to have a single AAAA record for a given identifier, however it is possible to provide multiple AAAA records.
Example AAAA record
An example AAAA record may look like the following:
Record Type Value TTL www AAAA fe80::1 3600
www represents identifier of the record. To set the value for the root of the domain you must use @.
AAAA is the record type.
fe80::1 is the value of the record. This must be an IPv6 address.
3600 is the TTL (time to live) of the record in seconds, this example represents 1 hour. This means that when a record has had updates made to it, then it will take 1 hour to update.
Multiple AAAA records
When multiple AAAA records are associated with the same domain record, one is used at random - this can be useful for larger websites or services as a technique to load balance IPv6 traffic across multiple servers where a single server or network device cannot handle the traffic alone.
Record Type Value TTL www AAAA fe80::1 3600 www AAAA fe80::2 3600
Querying AAAA records
We can use dig to determine the AAAA record associated with a domain name. The result is contained in the ANSWER section. It contains the fully-qualified domain name (FQDN), the remaining time-to-live (TTL), and the IP address.
% dig google.com aaaa ; <<>> DiG 9.10.6 <<>> google.com aaaa ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34553 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 9 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1280 ;; QUESTION SECTION: ;google.com. IN AAAA ;; ANSWER SECTION: google.com. 0 IN AAAA 2404:6800:4003:c0f::65 google.com. 0 IN AAAA 2404:6800:4003:c0f::71 google.com. 0 IN AAAA 2404:6800:4003:c0f::66 google.com. 0 IN AAAA 2404:6800:4003:c0f::8b