要約

  • 7月21日付の個人草案はSpecific Local Address Table(SLAT)を提案する。同じ参加者のMACとIPv6の実体を保ちながら、別の受信者には別のIPv4ネクストホップ名を見せる。
  • ルートサーバーは旧式の受信者に向けて、その受信者の列からBGP NEXT_HOPを書き換える。交換所のARP/ND代理は同じ名を正しい参加者に解決する。二つの処理を支えるのは一冊の更新された台帳だ。
  • RFC 7947ではルートサーバーは通常NEXT_HOPを変更できない。草案は翻訳の例外を提案する。サーバーを通らない二者間ピアリングには公開された最新の表が要る。

同じIPv4プレフィックスの経路を受け取る二つのネットワークがある。一方はIPv6のネクストホップを理解し、もう一方はIPv4しか扱えない。送り手の物理装置も宛先も一つだが、受け手に渡すBGPの住所は同じにできない。さらに受け手がLANでその住所の相手を尋ねた時、返るMACも正しくなければならない。公開IPv4を全参加者に配る方式は分かりやすい。その代わりアドレスを消費する。

RFC 8950は、必要な能力を交渉した装置同士ならIPv4の到達先にIPv6ネクストホップを付けることを可能にした。しかし能力を持たない装置は交渉だけでは変わらない。翻訳草案は、IPv4が必要なLegacy、両方使えるSupporting、IPv6のみを使うUnnumberedの三種類に分ける。ルートサーバーは三者が異なる住所体系で同じ経路を読む場所になる。

交換所はまず全参加者のMAC、IPv6リンクローカル、IPv6グローバルユニキャストを一意の組として登録する。これがLocal Address Tableだ。LegacyまたはSupportingの各受信者について、交換所と受信者は顧客固有のローカルIPv4プレフィックスを決め、その列を加えてSLATを作る。草案の例では同じ相手が、ある受信者には10.0.0.10、別の受信者には192.0.2.10と見える。装置が二台に増えたわけではない。住所を読む帳面が二冊になった。

ルートサーバーは入口と出口で表を引く。IPv4のNEXT_HOPが付いたIPv4経路を受け取ると、送り手に登録されたIPv6アドレスへ書き換える。Legacyの受信者へ出す時は、その受信者の列にある送り手のIPv4別名にする。Unnumberedへは書き換えず、Supportingへも原則として維持する。SLATに割当のないネクストホップを持つ経路は伝えない。表の一行が広告可能な到達性の範囲を決める。

LAN側では交換所がARPとNeighbor Discoveryを監視し、該当する顧客別の列に従って代理応答する。草案の方式は参加者間で近隣探索のメッセージをそのまま通さない構成も求める。サーバーが示す別名と代理が返す実際の相手が食い違えば、BGPに経路があってもパケットは目的のピアへ届かない。実導入を判断するのに必要なのは、各受信者の広告、SLAT行、ARP/ND応答、FIB解決、パケットの到着を一続きにした記録だ。参加者の住所変更後にも同じ記録を取り直す。

これはルートサーバーの職務変更でもある。RFC 7947の2.2.1節は、サーバー自身が利用者間のトラフィックを運ばないためNEXT_HOPを変更せず渡すよう定める。草案は翻訳のためにその規則を外す。主なSLAT方式でもサーバーはデータ転送装置にはならない。ただし利用者が本当の隣接装置を探すための名前を管理する。ARP/ND代理は同じ内容を答えなければならない。著者らは住所管理の単一の正本と、異なる表示のネクストホップが同じ相手に解決されることの定期確認を勧める。

移行は段階的にできる。最初にARP/ND監視を入れ、IPv4経路のIPv6ネクストホップを扱える新サーバーを旧サーバーと並べる。SLATの列は当初、既存の公開IPv4割当を写してよい。公開アドレスの余裕が減れば、顧客別のローカルプレフィックスへ付け替える。この並行期間は戻る道を残すが、新旧の二つの見え方を検査し続ける期間でもある。

二者間ピアリングはサーバーによる翻訳を通らない。草案はSLATを公開して更新し、当事者が自ら変換できるよう求める。Looking Glassには元のIPv4ネクストホップ、実際のIPv6値、指定した受信者に出す別名を一緒に示す案もある。一つの別名だけを見れば、それを相手の普遍的な住所と誤認する。別案のプロキシ装置は二つの領域間で実際にパケットを転送するため、主なSLAT方式とは違う故障点を持つ。

公開IPv4の節約は台帳管理の省略を許さない。受信者別のBGP広告とLAN上の代理応答が常に同じ物理相手を示すなら、交換所はアドレスを取り戻せる。パケットはその帳尻を毎回確かめる。

Route Server Next Hop Translation草案・第02版 · RFC 7947 · RFC 8950 · RFC 9161