用語辞典・DNS・ドメイン

AAAAレコード

AAAAレコードとは

AAAAレコードは、DNSで一つのドメイン名に一つの128ビットIPv6アドレスを対応付けるリソースレコードです。英語ではAAAA record(クアッドエー・レコード)と読むのが一般的です。

AAAAは「Aレコードが四つ並んだデータ」ではありません。IPv6の128ビットアドレスを格納するため、IPv4の32ビットアドレスを持つAレコードの四倍の長さであることから、この種類名になりました。

一件のAAAAレコードには一つのIPv6アドレスが入り、同じ名前に複数件を置くことも、Aレコードと併用することもできます。

一件ごとに、八つの16ビット群から成る一つのIPv6アドレス同じ名前に複数のIPv6接続先を用意できる
一つのドメイン名に複数のAAAAレコードがあり、各レコードが八つのブロックで表した一つのIPv6アドレスを持つ図解
図1DNS問い合わせがIPv4で運ばれてもAAAAレコードを取得でき、IPv6で運ばれてもAレコードを取得できます。問い合わせを運ぶ経路と、質問しているアドレス種類は別です。

表示は圧縮できても、レコード内は128ビット

人が読む表記と、DNSメッセージ内の長さを分ける二重コロンによる省略は表示上の書き方
所有者名www.example.test.

どの名前の情報か

TTL3600

キャッシュ可能秒数

クラスIN

インターネット用

種類AAAA

IPv6アドレス

データ2001:db8::10

128ビットのアドレス一つ

図2::は連続する0のフィールドを一度だけ省略するIPv6表記です。短く書かれていても、DNSのAAAAレコードが保持するアドレス長は128ビットのままです。

AとAAAAは、置き換え関係ではなく併存できる

同じホスト名にAとAAAAの両方があれば、端末はIPv4とIPv6の接続候補を得られます。どちらを先に試すかは、端末のアドレス選択規則、到達可能性、アプリの実装に左右されます。AAAAが存在するだけで、必ずIPv6だけを使うわけではありません。

逆に、AAAAだけを登録しても、IPv6接続できない端末が自動的に同じアドレスへIPv4接続できるわけではありません。DNS64とNAT64のような変換環境では合成AAAAが使われることがありますが、通常のAAAAレコードそのものがIPv4変換機能を持つわけではありません。

IPv6アドレスの種類まで、AAAAは保証しない

AAAAレコードのデータ形式はIPv6アドレス一つです。そのアドレスが世界中から到達できるか、特定ネットワーク内だけで使えるか、サーバーが待ち受けているかは別問題です。公開サービスへリンクローカルアドレスを登録しても、利用者側から通常は到達できません。

DNS設定が正しくても、サーバーのIPv6設定、経路広告、ファイアウォール、上流回線が整っていなければ接続は失敗します。Aでは表示できるのにAAAAの候補で待たされる場合は、名前解決とIPv6到達性を分けて調べます。

逆引きではip6.arpaとPTRを使う

IPv6アドレスから名前を調べる逆引きでは、128ビットを16進数の各桁へ展開し、順序を反転してip6.arpa配下の名前を作ります。そこにあるPTRレコードを問い合わせます。AAAAレコードを値から反対向きに検索する処理ではありません。

正引きAAAAと逆引きPTRは別々に管理されます。逆引きが設定されていない、または正引きと別名になることも技術的には可能です。

仕様の確認資料:RFC 3596「DNS Extensions to Support IP Version 6」RFC 6724「Default Address Selection for IPv6」

関連用語