Webサイト管理者のための2020年版“IPv6対応入門”第5回
IPv6化が進むNWインフラからのIPv4アクセスを可能に、「IPv4 over IPv6」が必要な背景
サイト管理者や開発者が知っておきたい「IPv4/IPv6共存技術」
IPv4 over IPv6を実現するトンネリング手法、MAP-E
IPv4/IPv6共存技術には多種多様なものがあり、ここですべてを網羅することはできない。そこでここからは、共存技術の中でもIPv4 over IPv6を実現するものに話を絞り込んでいく。――とは言っても、IPv4 over IPv6の手法だけでも非常に数が多い。それぞれに技術的な特徴があり、どれを採用するかはISPやVNE(仮想ネットワーク提供者)各社の事業戦略による。
現在、国内のISP/VNEが採用している代表的な方式としては、「MAP-E(Mapping of Address and Port with Encapsulation、RFC 7597)」や「DS-Lite(Dual-Stack Lite、RFC 6333)」「464XLAT(RFC 6877)」が挙げられる。それぞれMAP-EおよびDS-Liteはトンネリング型の、464XLATはトランスレーション型のIPv4 over IPv6手法である。
日本ネットワークイネイブラー(JPNE)の「v6プラス」では、IPv6インターネット接続サービスに“プラス”するかたちで、MAP-Eを採用したIPv4 over IPv6サービスを提供している。ユーザーはIPv6接続とIPv4 over IPv6接続をセットで利用することで、両プロトコルを効率良くカバーできる。ここではこのMAP-Eを例に、具体的にどのようなネットワーク構成で、どのようにパケット処理を行うのかを見ておこう。
MAP-Eでは、ユーザー宅内にあるMAP-E対応機能を備えたルーター(MAP CE:Customer Edge)と、IPv6ネットワークからIPv4ネットワークへの出入口(接続点)にある通信事業者のルーター(MAP BR:Border Relay)を利用し、CEルーター-BRルーター間をIPv6の汎用トンネリング技術(RFC 2473)でつなぐ。このトンネルが、IPv6ネットワーク上でIPv4パケットの“通り道”となるわけだ。
ユーザー側のCEルーターは、送出するパケットの宛先がIPv4インターネットのアドレスであれば、それをカプセル化してBRルーター宛てのIPv6パケットとして送出する。これを受け取ったBRルーターは、カプセルの中身であるIPv4パケットを取り出して、そのままIPv4インターネットへと送出する。もちろん、逆方向のトラフィック(IPv4インターネット側から届くレスポンスのIPv4パケット)は、BRルーターがカプセル化したうえでCEルーター宛てに送出する。これが基本的な仕組みだ。
このときMAP-Eでは、IPv4インターネットへの出入口(BRルーターのIPv4側インタフェース)が使うグローバルIPv4アドレスは、複数のCEルーターが共有できる仕組みになっている。IPv4アドレスが枯渇し、ISP/VNEがユーザーに割り当てられるアドレスは個数が限られているので、こうして1つのアドレスに複数のユーザー(CEルーター)を収容できるのは効率が良い。
ただ、複数ユーザーが同じIPアドレスを共有してしまうと、本当の送信元がどのユーザーなのかがわからなくなってしまうはずだ。ここでMAP-Eは、トランスポート層プロトコルのポート番号を利用してユーザーの識別を行う。具体的には、0~65535のポート番号を複数の範囲に分割し、通信事業者側から個々のユーザーに1つのポート範囲(一定数のポート番号群)を割り当てる。そして、CEルーターがIPv4のアウトバウンド通信でNAPTの処理を行う際には、割り当てられた共有IPv4アドレスとポート番号を送信元として使う。これにより、共有IPv4アドレスであっても複数のユーザーを識別できる。
ちなみにMAP-Eでは、送信元のIPv4アドレスとポート番号を使って計算することで、IPv6ネットワーク内のIPv6アドレスを生成できる仕組みも持っている。これによりBRルーターは、IPv4インターネット側からのレスポンスパケットをCEルーターに転送する際の宛先を自動的に決めることができる。この仕組みを使い、なおかつBRルーターがNAT処理を行わないことで、MAP-Eではセンター側をステートレスな仕組みにしている。
* * *
説明がやや複雑になってしまったが、MAP-Eについて覚えておきたいポイントをまとめると、「グローバルIPv4アドレスは複数ユーザーが共有する(できる)」「ユーザーの識別は送信元の共有IPv4アドレス+ポート番号により行わなければならない」という2点だ。こうした点はIPv4ネイティブアクセスとは異なるので、たとえばユーザーの送信元IPv4アドレスに加えて送信元ポートも意識するなど、Webサイトの開発や運用においては留意しなければならない。
なお、もうひとつの代表的なトンネリング手法であるDS-Liteでも、上述した特徴は同じだ。MAP-EとDS-Liteの大きな違いは、IPv4-IPv4のNAPT処理をユーザー側のCEルーターで行うか(MAP-E)、ISP/VNEのセンター側にあるキャリアグレードNAT(CGN)装置で行うか(DS-Lite)である。