PR

 インターネットは世界的に普及し続けており,IPv4アドレスの枯渇時期が具体的に予測されるようになってきました。APNICのチーフ・サイエンティストであるジェフ・ヒューストン氏や総務省などが,枯渇時期の予測データを出しています。いずれも,およそ2011年前後にIANA(Internet Assigned Numbers Authority)が管理するIPv4アドレスがなくなると予測しています。

 自律分散型システムの代表例であるインターネットは,ある日を境にすべてをIPv6に変えるという運用ができません。したがって,既存のIPv4の資産とIPv6の資産が共存する期間が生じることになります。この期間は,10年とも20年とも言われています。こうした背景から,世界各国でIPv4からIPv6への移行技術に対する関心が高まっています。

 本連載では,移行技術の一つであるIPv4パケットをIPv6のパケットに(またはその逆方向に)変換する「IPv6/IPv4トランスレータ」について解説します。

互換性のないIPv4アドレスとIPv6アドレス

 まず大前提として,IPv4とIPv6は互換性がありません。その主な原因は,IPアドレスやIPヘッダーのフォーマットが違うことです。IPv4アドレスは「192.168.0.1」のように32ビットで表しますが,IPv6アドレスは「2001:0db8:1111:2222:3333:4444:5555:6666」のように128ビットで表します。

 IPv4とIPv6では,IPヘッダーのフォーマットも異なります(図1)。例えば,IPv4ヘッダーにはパケットをフラグメントした時の情報が格納されますが,IPv6ヘッダーには格納されません。IPv6では,別途拡張ヘッダーを用いてこの情報を収納するようになっています。先ほど説明した通り,ヘッダーに格納される送信元とあて先のアドレスも異なります。ほかにも,IPv4ヘッダーにある特定アプリケーションの制御に使う「Type Of Service」フィールドはIPv6ヘッダーにはなく,代わりに「Traffic Class」フィールドが存在するなど,様々な違いがあります。

図1●IPv4ヘッダーとIPv6のヘッダー
図1●IPv4ヘッダーとIPv6のヘッダー
IPアドレスの長さとヘッダーのフォーマットのどちらも異なる。
[画像のクリックで拡大表示]

 したがって,IPv4のパケットとIPv6のパケットを変換するためには,アドレスやヘッダーのフォーマットを変換する必要があります。実際はほかにもいくつか処理が必要になりますが,詳細な情報は本連載で今後説明していきます。

デュアル・スタックやトンネリングとどこが違うか

 利用目的の観点からトランスレータを見ると,IPv4からIPv6への移行技術といえます。移行技術としては,ほかに「デュアル・スタック」や「トンネリング」があります。これらとトランスレータの違いを見ていきましょう(図2)。

図2●IPv4からIPv6への移行に使われる三つの技術
図2●IPv4からIPv6への移行に使われる三つの技術
デュアル・スタックとトンネリングは,同じプロトコル・スタックを持った機器同士が通信する技術。一方トランスレータは,IPv4プロトコル・スタックを持つ機器とIPv6プロトコル・スタックを持つ機器が通信するための技術である。

 デュアル・スタックは,機器がIPv4とIPv6の二つのプロトコル・スタックを持つことで,機器間の通信を実現する技術です。機器がIPv4とIPv6の両方のプロトコル・スタックを搭載していれば,通信相手がIPv4機器でもIPv6機器でも相手に合わせたプロトコルを用いて通信できます。

 トンネリングは,同一のプロトコル・スタックを持つ機器同士が,異なるプロトコルのネットワークを越えて通信する技術です。例えば,IPv6のプロトコル・スタックを持つ機器同士が通信する際,それぞれの機器がつながっているネットワークがIPv6で接続されていなくても両ネットワーク間にIPv4ネットワークがあれば,それを利用してIPv6通信ができるようにします。IPv4のネットワークをIPv6の下位層として利用することで,IPv6の接続性を提供するわけです。この手法を「IPv6 over IPv4」と呼ぶことがあります。逆に,IPv4のネットワーク同士をIPv6ネットワーク経由で接続する「IPv4 over IPv6」という手法もあります。

 端的に言えば,デュアル・スタックとトンネリングは,方法は違いますが同じプロトコル・スタックを持った機器同士が通信するための技術です。これらに対してトランスレータは,互換性のないIPv4の機器とIPv6の機器が互いに通信するための技術です。トランスレータをIPv6ネットワークとIPv4ネットワークの間に置くことで,IPv6のプロトコル・スタックしか持たない機器とIPv4のプロトコル・スタックしか持たない機器が通信できるようになります。