IPv6トンネリング
IPv6のパケットをIPv4などの別のパケットへ入れ、IPv6を直接運べない区間を通す技術。出口で外側を取り除き、内側のIPv6パケットを取り出す。両端のIPの版を相互に変えるトランスレーションとは役割が異なる。
イマシルちゃんの解説
途中の道では特別な荷物を扱えないけれど、両端の町では扱えるとするよ。
道で受け付けてもらえる箱に入れ、向こう側で箱を開ければ、そのまま届けられるよね。
中身を書き直すわけではなく、通れない区間だけ運び方を変える。
だから、最後に受け取る人も、もとの中身を扱える必要があるんだ。
より深い解説
内側と外側の役割
トンネルの入口でカプセル化し、出口でデカプセル化する。IPv6 over IPv4なら、中継区間のルータは主に外側のIPv4ヘッダーを見て転送する。
| 観点 | 内側 | 外側 |
|---|---|---|
| パケット | IPv6 | IPv4 |
| 宛先の意味 | 本来届けたい相手 | トンネルの出口 |
| 出口での扱い | 取り出して次へ送る | 取り除く |
出口で元の内容を取り出しても、宛先がIPv4しか扱えなければ、そのまま通信できない。トンネルと形式変換の目的を区別する。
過去問で見かける方式
| 方式 | 仕組み |
|---|---|
| 6to4 | IPv4アドレスの情報を使い、IPv4網越しにIPv6の拠点などを結ぶ |
| Teredo | IPv6のパケットをUDP/IPv4に入れ、NAT越えを考慮して運ぶ |
| 手動設定のトンネル | 両端のアドレスなどを管理者が設定する |
6to4はRFC 3056で定義される。アドレスには2002::/16の範囲を使い、IPv4アドレスを組み込む構造を持つ。TeredoはRFC 4380で定義され、NATがある環境も考慮するが、どのNAT構成でも必ず通信できるわけではない。
過去の方式を読むときの注意
6to4のエニーキャスト中継方式はRFC 7526で非推奨となった。これは、RFC 3056に記載された仕組みのすべてを一括して同じ意味で廃止した、という説明とは区別する。
過去問で問われる「どう運ぶ方式か」と、現在のネットワークで採用する構成は分けて判断する。運用では、経路、対応装置、管理できる終端の範囲を確認する。
オーバーヘッドと経路の確認
外側のヘッダーが増えるため、同じ物理回線のMTUでも、内側に入れられる大きさは小さくなる。経路のMTUやフラグメントの扱いを確認しないと、大きいデータだけが届かない場合がある。
トンネルを通しただけで暗号化されるわけでもない。外側の経路が到達可能か、内側の経路が正しいか、通過を許可する設定があるかを順に確かめる。
ほかの共存方式との区別
| 方式 | 端末や境界が行うこと |
|---|---|
| トンネリング | 元のパケットを外側の形式で運ぶ |
| デュアルスタック | 一つの機器が両方のIPを使う |
| IPv4/IPv6トランスレーション | 両端の形式の違いを変換する |
両端の機器が何に対応しているかを先に確認すると、通過経路の工夫だけで足りるか、境界での変換が必要かを判断できる。