要約

  • SLAACはIPv6ホストにアドレスと経路を与えられても、名前を宛先へ変換する再帰DNSリゾルバーまでは渡さなかった。
  • RDNSSはリゾルバーの発見をRouter Advertisementに移し、DNSSLは検索サフィックスを追加した。後続規格は有効期間、情報源の順序、実装要件を定めた。

アドレスがあっても名前は引けない

IPv6ホストに有効なアドレス、プレフィックス、デフォルトルーターがそろっていても、Webサイトへ接続する前に止まることがある。サイト名をどのDNSリゾルバーに尋ねるかが設定されていないからだ。ネットワークはパケットの行き先を示した。名前の質問先はまだ示していない。

Neighbor DiscoveryとStateless Address Autoconfigurationは前半を担った。Router Advertisementがリンク情報を運び、SLAACはDHCPv6のアドレスリースなしでホストにアドレスを作らせた。DNS設定は別の経路に残った。2007年のRFC 5006は、IETFでStandard TrackにあるDNS設定方法はDHCPだけだと記した。無線LANを移動するノートPCに、接続先ごとにリゾルバーを手入力させるのは現実的ではなかった。

RFC 5006は別の手段を提案したが、状態はExperimentalだった。IPv6のRouter AdvertisementにRecursive DNS Serverオプション、RDNSSを載せる。ホストはリンク設定と同じ広告から再帰リゾルバーのアドレスを取得できる。別のプロトコル交換はいらない。ただし、ルーター側でアドレスを設定する必要は残る。RFCはルーターに自分のDNSを発見させる仕組みまでは定めていない。

ルーター広告が名前の入口になった

2010年のRFC 6106はDNS RAオプションをStandard Trackに進め、DNS Search ListであるDNSSLを追加した。RDNSSは一つ以上のリゾルバーアドレスを渡す。DNSSLはアプリケーションが未修飾名を指定したときにホストが付け加えるサフィックスを渡す。プレフィックス、ルーター、リゾルバー、検索リストを同じRouter Advertisementの流れで受け取れるようになった。

DHCPv6は消えなかった。RFC 6106はRAとDHCPv6の併用を認め、DHCPv6設備がないネットワークやDHCPv6クライアントを持たないホストでもRAによるDNS設定を使えると説明した。RFC 8106はさらに、複数のRAやDHCPからDNS情報が来たとき、ホストが順序付きリストを保つよう定めた。ユーザーが設定した静的DNSは別の選択肢だ。争点は方式の勝ち負けから、情報源をどう並べるかへ移った。

タイマーがパケット損失を表に出した

RDNSSとDNSSLには有効期間がある。期限が切れるとホストは項目を削除する。広告はDNS情報を永久設定するのではなく、一定期間の使用を許す。RFC 6106はRouter Advertisementの最大送信間隔をもとに有効期間を制限した。2017年のRFC 8106は、従来の下限である同間隔の二倍では、損失の大きいリンクでDNSオプションが期限切れになることを記録した。下限を緩め、既定値を三倍に引き上げた。

パケット図では小さな変更でも、運用記録には大きく現れる。アドレスと経路は有効なまま、リゾルバーの項目だけが消えることがある。ホストがIPアドレスへ直接届いていても、アプリケーションにはネットワーク全体が止まったように見える。

対応がIPv6ノードの要件になった

実装要件も仕組みに続いた。2011年のRFC 6434はDNS RAオプションの実装をSHOULDとした。2019年のRFC 8504はIPv6ノードがこれをMUSTでサポートすると定めた。実験的な選択肢から必須のホスト機能への移行は、アドレスだけでは実用的なインターネットサービスにならないためだ。

情報源の規則が、この機能の実際の制御範囲を示す。RFC 8106はRAとDHCPの情報を順序付きで保持するよう求め、通常はDHCPの情報を先に置く。SENDで保護されたRAは認証されていないDHCP情報より優先される。ユーザーの静的DNS設定は広告情報より優先できる。

これらのRFCは設計と要件の変化を記録するが、RDNSSを使うホスト数の公式調査は載せていない。採用台数は示せない。

出典

RFC 4339 — IPv6 Host Configuration of DNS Server Information Approaches, RFC 4861 — Neighbor Discovery for IP Version 6、RFC 4862 — IPv6 Stateless Address Autoconfiguration、RFC 5006 — IPv6 Router Advertisement Option for DNS Configuration、RFC 6106 — IPv6 Router Advertisement Options for DNS Configuration、RFC 6434 — IPv6 Node Requirements、RFC 8106 — IPv6 Router Advertisement Options for DNS Configuration、RFC 8504 — IPv6 Node Requirements。