IPv6の通信を実現するには,ルーターなど経路上のすべての機器がIPv6に対応している必要がある。だが,現在のネットワークではIPv4が広く使われている。この状況が一気にIPv6だけのネットワークへと変貌(へんぼう)することはまずありえない。当分の間は,IPv4とIPv6の併用が続くだろう。

 そこで,IPv6にはIPv4との併用を前提にしたしくみが定義されている。Lesson4では,IPv4とIPv6を併用するための方法を見ていこう。

IPv4向けの二つのIPアドレスを定義

 IPv6では,IPv4のネットワークや端末と併用するためのアドレスが定義されている。「IPv4互換アドレス」と「IPv4射影アドレス」がそれである(図4-1)。

図4-1●IPv4互換アドレスとIPv4射影アドレス
図4-1●IPv4互換アドレスとIPv4射影アドレス
IPv4とIPv6のネットワークが併用されている環境では,この二つのアドレスが利用されることが多い。特にIPv4互換アドレスは,トンネリングで利用される。

 IPv4互換アドレスとは,IPv6の端末同士がIPv4ネットワーク経由で通信するときに利用するIPアドレスだ。これは後述するように,IPv4ネットワークを「トンネリング」して使うために定義された。

 一方のIPv4射影アドレスは,IPv6端末がIPv4しか対応していない端末と通信する際に利用するためのアドレスだ。IPv4からの通信をIPv6のアプリケーションで処理できるようにする。

 だが,これらのアドレスはいずれも実際の環境ではあまり使われていない。そこで,ここではIPv4とIPv6を混在させる代表的な手法として,「デュアル・スタック」と「トンネリング」を解説しよう

デュアル・スタックで併用するのが簡単

 デュアル・スタックは,一つの端末の中でIPv6とIPv4を共存させる方法である。

 IPv6とIPv4は同じIP層のプロトコルであり,デュアル・スタック構成にすることにより,IPv6ネットワークでもIPv4ネットワークでも通信可能な状態になる。これは,IPv6が上位のトランスポート層のプロトコルであるTCPUDPとやりとりできるからである。図4-2のように,ちょうどたすきがけのような状態で,パケットをやりとりするようになるのだ。

図4-2●デュアル・スタックでIPv6とIPv4を併用<br>デュアル・スタックとは,IPv4とIPv6を併用すること。ネットワーク機器だけでなく,パソコンもデュアル・スタックにする必要がある。
図4-2●デュアル・スタックでIPv6とIPv4を併用
デュアル・スタックとは,IPv4とIPv6を併用すること。ネットワーク機器だけでなく,パソコンもデュアル・スタックにする必要がある。
[画像のクリックで拡大表示]

 ちなみに,Windows XPは初期状態ではIPv4のみの構成であるが,Windows Vistaは初期状態からIPv6とIPv4のデュアル・スタック構成になっている。つまりVistaではIPv6とIPv4はまったく別のインターネット・プロトコルとして同時に存在し,どちらのパケットについても同じように処理されるようになっている。

IPv6同士をIPv4でつなぐトンネリング

 次に,「トンネリング」について見ていこう。トンネリングとは,パケットをカプセル化してネットワーク上をやりとりする通信手法で,IPv6ネットワーク同士をIPv4ネットワークで中継するものである。

 図4-3はトンネル・ルーターを使って設定した例だ。IPv6ネットワークAにあるIPv6端末からIPv4ネットワークを経由して,IPv6ネットワークBにあるIPv6端末までIPv6パケットを送る様子を示している。

図4-3●トンネリングによる通信<br>別々のIPv6ネットワークにある端末同士がIPv4ネットワークを経由して通信するときに,トンネリングという手法をとる。
図4-3●トンネリングによる通信
別々のIPv6ネットワークにある端末同士がIPv4ネットワークを経由して通信するときに,トンネリングという手法をとる。
[画像のクリックで拡大表示]

 IPv6ネットワークAから送られたパケットは,IPv4ネットワークの入り口のトンネル・ルーターでIPv4ヘッダーが付けられる。このヘッダーにはルーターに設定した送信元アドレス,あて先アドレスが書き込まれる。パケットはIPv4ネットワークの出口のトンネル・ルーターに送られるとIPv4ヘッダーが取り除かれる。その後はIPv6ネットワークBの中でIPv6パケットとしてルーティングするのである。