IPv6が登場したことで、世の中が一気にIPv6に移行できれば話は簡単なのだが、そうは問屋が卸さない。当面、IPv4とIPv6の共存が続くだろう… というよりも、少なくとも予見できる範囲内の将来にわたり、その状態が続くのではないかと思われる。

そこで今回は、IPv4ネットワークとIPv6ネットワークが共存するための手法について取り上げていくことにしよう。

IPv6への移行が必要なデバイス

そもそも、IPv6への対応が必要になるデバイスとは、どういったデバイスだろうか?

IPv4もIPv6も、ネットワーク層(レイヤー3)のプロトコルである。Windows、Mac OS、Linux、FreeBSDなどといった各種オペレーティングシステムは、TCP/IPネットワークを利用するために、IPv4のスタックに加えてIPv6のスタックも用意する必要がある。では、対応しなければならないのがオペレーティングシステムだけかというと、そういうわけではないところが話を難しくしている。

つまり、レイヤー3で動作するネットワーク機器、すなわちルータとレイヤー3スイッチも、IPv6に対応しなければならない。しかも、(レイヤー3スイッチはともかく)ルータは企業やデータセンターのみならず、ブロードバンドルータや無線LANアクセスポイント兼用ルータといった形で、家庭にまで広く行き渡っている。また、各種のネットワーク用アプリケーションソフトについても、IPv6による通信を問題なく行えるかどうかという問題がある。

そして、IPv4にしか対応していない製品をすべてIPv6対応製品に置き換えるには、長い時間がかかる。それどころか、IPv4対応製品が姿を消したことを確認するのは、現実問題として不可能といえるかもしれない。つまり、IPv4を全廃して全面的にIPv6に置き換えるのは、短期的、いや中期的に見ても困難と考えられる。

しかも、すでにIPv4で動作しているサーバについては、IPv4しか使えないハードウェアやソフトウェアが残っている限り、IPv6だけにする訳にはいかないだろう。こうなると、鶏と卵の関係ではないが、どこから先にIPv6に移行すればよいかという堂々めぐりの問題になってしまいそうだ。

IPv4とIPv6が共存した場合の問題点

そういった事情を考慮すると、IPv6が登場したからといって一気にIPv6に切り替えるのではなく、IPv4とIPv6を共存させながら、移行できるところから順次、移行していくしかないといえる。

ただし、すでにIPv4のグローバルアドレスは枯渇状態になってきているため、これからインターネット上で新設するサーバの中には、IPv4アドレスの割り当てを受けることができず、IPv6専用になるものが増えてくるだろう。LAN内部では事情が異なり、サーバもクライアントも、IPv4とIPv6のデュアルスタックが主流になると思われるが(Windows 7やWindows Server 2008やMacOS Xを使用していれば、自動的にそうなる)。

そうなった場合に発生する可能性がある通信の組み合わせについて、まとめてみた。サーバもクライアントも、IPv4にのみ対応したもの、IPv6にのみ対応したもの、IPv4とIPv6の両方に対応したものが存在すると考えられるので、それらをマトリックス化したものだ。

IPv4とIPv6が共存した場合に発生する可能性がある組み合わせと、通信の可否

IPv4対応サーバ IPv4/IPv6対応サーバ IPv6対応サーバ
IPv4対応クライアント ×
IPv4/IPv6対応クライアント
IPv6対応クライアント ×

つまり、問題になるのはIPv4にしか対応していないクライアントとIPv6にしか対応していないサーバの組み合わせ、あるいはその反対の組み合わせということになる。

もうひとつの問題として、途中で経由するネットワークがIPv4にしか対応していない可能性が挙げられる。そこが、さまざまなネットワークを相互接続することで発展してきたインターネットの難しいところだ。

これらの事情を考慮すると、解決しなければならない問題として以下のものがあることが分かる。

  1. IPv6にしか対応していないコンピュータに対して、IPv4アドレスをどう扱わせるか

  2. IPv4にしか対応していないコンピュータとIPv6にしか対応していないコンピュータの間で、いかにして通信を可能にするか

  3. IPv4にしか対応していないネットワークを経由してIPv6同士の通信を行うにはどうするか

そこで出てくるキーワードが、「互換性アドレス」と「トンネリング」である。トンネリングといってもVPN(Virtual Private Network)を実現するわけではないので、暗号化は行わない。ヤマハルータでいうところの、IPIPトンネリングである。そこで次回からは、この互換性アドレスとトンネリングについて解説していくことにしよう。