Check-Host.cc

グローバルAAAA (IPv6) レコードチェッカー

AAAAレコード(通常「Quad-A」と発音されます)は、標準のAレコードと全く同じように機能しますが、ホスト名を128ビットのIPv6アドレスに変換します。グローバルなIPv4アドレス空間の枯渇という重大な問題を解決するために開発されたIPv6は、Carrier-Grade NAT (CGNAT) のような複雑でレイテンシを引き起こすネットワーク変換レイヤーを経由することなく、デバイスがWebサーバーに直接接続できるようにします。モバイルキャリアや住宅向けISPがデフォルトでIPv6インフラストラクチャを積極的に採用しているため、アプリケーションのパフォーマンスを最適化するためには有効なAAAAレコードのデプロイが必須です。

Dual-Stack アーキテクチャとHappy Eyeballsアルゴリズム

現代の本番ネットワークは、「Dual-Stack (デュアルスタック)」構成でデプロイされます。これは、権威DNSゾーンが全く同じドメインに対してAレコードとAAAAレコードの両方を公開することを意味します。最新のクライアントOS(iOS、Android、Windows 11など)がDual-Stackドメインを解決する際、厳密にIPv6プロトコルを優先します。IPv6ルーティングが不安定な場合にアプリケーションがフリーズするのを防ぐため、ブラウザは「Happy Eyeballs」アルゴリズム (RFC 8305) を実装しています。ブラウザはAAAAレコードとAレコードの両方への非同期接続を同時に開始し、最初に完了したTCPハンドシェイクを使用することで、エンドユーザーからネットワーク障害を隠蔽します。

「壊れたIPv6」のタイムアウト脆弱性

システムエンジニアがDNSゾーンにAAAAレコードを追加したものの、実際のWebサーバーソフトウェアをIPv6ネットワークインターフェースにバインド (Bind) し忘れた場合、頻繁かつ非常に破壊的な設定エラーが発生します。例えば、Nginxの構成が listen 443 ssl; のみを含み、 listen [::]:443 ssl; を省略している場合、サーバーは受信したIPv6パケットをサイレントに破棄します。モバイルユーザーは深刻なアプリケーション遅延を経験することになります。デバイスはAAAAレコードへの接続を試み、最大30秒の接続タイムアウトを待ってから、レガシーなIPv4アドレスにフォールバックします。グローバルなAAAA伝播の検証は、インフラストラクチャが次世代ルーティング上で確実に到達可能であることを保証します。

IPv6インフラストラクチャの検証

IPv6ルーティングテーブルはIPv4よりも本質的に複雑であるため、有効なアドレスを指すAAAAレコードであっても、グローバルな到達性を保証するものではありません。Tier 1トランジットプロバイダー間のピアリング (Peering) 紛争により、特定の地理的地域が宛先に到達できないIPv6の「ブラックホール」がしばしば発生します。分散型のAAAAルックアップを実行することで、サーバーのIPv6サブネットに対するBGP経路広告 (Advertise) が複数の自律システム (AS) にわたって正しく伝播していることを確認できます。