IPv4/IPv6トランスレーション

読み:あいぴーぶいよんあいぴーぶいろくとらんすれーしょん / 英語表記:IPv4/IPv6 translation

IPv4とIPv6のパケット形式やアドレスを変換し、一方にしか対応しない機器同士の通信を可能にする技術。両端で同じIPの版を使えない場合に、境界の変換装置などが仲介する。

イマシルちゃんの解説

違う言葉しか話せない二人が、手紙をやり取りするとするよ。
間にいる人が、相手に読める言葉へ書き直して渡せば、話を続けられるよね。

別の封筒に入れるだけでは、中の言葉は変わらない。
封筒を外す役と、文章を書き直す役では、必要な仕事が違うんだ。

より深い解説

形式を変えて渡す

IPv4だけのホストは、そのままではIPv6のパケットを受け取って処理できない。逆方向も同様である。変換装置が宛先・送信元などを対応付け、相手側のパケット形式へ変える。

単にアドレスの文字表記を変えるだけではない。IPヘッダーの違いや、ICMPの扱い、上位層のチェックサムなどにも対応する必要がある。

代表的な構成

NAT64は、IPv6側のクライアントからIPv4側のサーバへ通信する構成などで使う。ステートフル方式はRFC 6146で定められ、変換装置が通信の対応状態を保持する。

構成要素主な役割
NAT64実際のパケットやアドレスを変換する
DNS64Aレコードを基に、必要に応じてAAAAレコードを合成する
IPv6側のクライアント得たアドレスへ通常のIPv6通信を始める

DNS64は名前解決を補助する仕組みであり、データパケットそのものの変換装置ではない。DNS応答を作る役割と、パケットを変える役割を分けて理解する。

通信の流れ

  1. クライアントがサーバの名前をDNSへ問い合わせる。
  2. IPv4の情報だけが得られる場合などに、DNS64が対応するアドレス情報を作る。
  3. クライアントがIPv6で通信を開始する。
  4. 変換装置がIPv4側へ転送し、返信も対応するIPv6通信へ戻す。

合成するアドレスには、変換先を識別するプレフィックスを使う。変換経路のルーティング設定も必要であり、名前解決が成功するだけで通信が完了するわけではない。

共存技術との比較

方式中心となる動作
デュアルスタック機器が両方のIPを実装して使い分ける
トンネリング内側のパケットを別のパケットへカプセル化する
トランスレーション境界で形式を変換する
キャリアグレードNATISPなどでIPv4のアドレスを共有する

トンネルは、IPv6同士の通信をIPv4の区間へ通す用途などに使われる。終端で外側を取り除いた後も内側はIPv6なので、IPv4しか扱えない相手への通訳にはならない。

適用上の注意

条件確認すべきこと
宛先をIPv4の数値で直接指定するDNS64による合成を利用できるか
アプリケーション本文にアドレスを含むIPヘッダーの変換だけで動作するか
新規の着信を受ける許可する方向と変換の設定があるか
DNSSECの検証を利用する合成と検証の位置関係が適切か

変換できる通信の範囲には方式ごとの条件がある。IPv4/IPv6変換を導入すれば、すべてのアプリケーションが無条件に動くとは限らない。

実際の試験ではここに出る!

この用語が出てくる記事

↑