前回はIPv6のクライアントがIPv4のサーバーへアクセスする方法を説明しました。今回はIPv4のクライアントがIPv6のサーバーへアクセスする方法を見てみましょう。これを実現するための主な方法は,前回同様,デュアルスタック,アプリケーション・ゲートウエイ,そしてトランスレーションです。
(A)デュアルスタック
デュアルスタックはIPv4またはIPv6のネイティブな通信を提供するためのしくみです。IPv4のクライアントまたはIPv6のサーバー,あるいはその両方がデュアルスタックであれば,これらのホスト間ではIPv4あるいはIPv6のネイティブな通信が可能です。デュアルスタックについては,前回の説明を参照してください。
(B)アプリケーション・ゲートウエイ
アプリケーション・ゲートウエイはIPv4のネットワークとIPv6のネットワークの間に設置される通信機器です。IPv4のクライアントからの要求を受け取り,IPv4のクライアントの要求を代行してIPv6のサーバーにアクセスします。
実際の動作イメージは前回の説明を参考にしてください。サーバーとクライアントがサポートするプロトコルが反対になっていることを除けば,動作イメージはIPv6のクライアントがIPv4のサーバーにアクセスする場合と同じです。
もしアプリケーション・ゲートウエイが,IPv4のクライアントとIPv6のクライアントの両方にゲートウエイ・サービスを提供していれば,クライアントやサーバーがIPv4であるかIPv6であるかにかかわらず中継サービスを提供できます。アプリケーションごとに仲介機能を作る必要はありますが,1台のアプリケーション・ゲートウエイをおくだけで手軽にIPv6とIPv4のクライアントのアクセス代行機能を実現できるわけです。
(C)トランスレータ
IPv6のクライアントがIPv4のサーバーにアクセスする際のトランスレータの動作はとてもシンプルです。すなわち,トランスレータはDummy prefixさえ知っていれば,あるIPv4のアドレスに対して一意のIPv6のアドレスを対応付けることができるため,トランスレータはこのアドレスの対応付けを管理することなく変換できました。これが可能なのは,IPv6のアドレス空間がIPv4のアドレス空間に比べ非常に大きいためです。
ところがIPv6のアドレスをIPv4のアドレスに対応付けるのは簡単ではありません。IPv6のアドレス空間がIPv4のアドレス空間より大きいからです。したがって,トランスレータを採用する場合は,特定の小さなIPv6アドレス空間に対してのみIPv4アドレスを対応付けるか,いくつかのIPv4アドレスを使いまわしながら動的にIPv6アドレスに対応付ける方法を選ぶことになります。
動的な対応付けを実施する例を見てみましょう。まず管理者は,IPv6アドレスに対応付けるためにいくつかのIPv4アドレス群(アドレス・プール)を用意します。ここではアドレス・プールを [192.168.222.1~192.168.222.254]とします。また,トランスレータ上にはDNSのアドレス変換機能を持たせます。
例えば,IPv4のクライアントが6sv.v6start.netにアクセスしようとしたとします。DNSサーバーに6sv.v6start.netのIPv4アドレスを問い合わせます。このホストには,3ffe:501:ffff:1000::1というIPv6のアドレスのみが登録されているとします。ここで,トランスレータは3ffe:501:ffff:1000::1に対し,上記のアドレス・プールからIPv4のアドレス192.168.222.1を割り当てます。この割り当てに関する情報は,トランスレーション機能とDNSのアドレス変換機能が使います。こうすれば,IPv4のクライアントにはIPv4アドレス192.168.222.1が返され,このアドレスあてのIPv4パケットはトランスレータにおいて3ffe:501:ffff:1000::1あてのIPv6パケットに変換されることになります。
トランスレータ方式の特徴は,DNSサーバーとトランスレータが通信のステータスを管理しながら,IPv4アドレスとIPv6アドレスを動的に対応付けていることです。DNSサーバーとトランスレータが密接に連携して動作する必要があります。問題は,アドレス・プールに制限があるので,IPv4マシン(ネット)から同時にアクセスできるIPv6サーバーの数が制限されてしまうことです。
最後に,これまでの説明を整理します。
デュアルスタックを用いた場合は,IPv4あるいはIPv6ネイティブな通信が可能です。ただしすべての機器がデュアルスタックであるとは限りませんし,IPv4とIPv6の両方のアドレスがアサインされているとも限りません。加えて,IPv4とIPv6の両方のネットワークを運用する必要があります。
アプリケーション・ゲートウエイを用いると,IPv6のクライアントからIPv4のサーバーへ、あるいはIPv4のクライアントからIPv6のサーバーへのアクセスが可能になります。制限は,アプリケーションごとに仲介機能を用意しなければならないことです。
トランスレータはアプリケーションには依存しにくい変換技術です。ただし,IPv4のクライアントからIPv6のサーバーへアクセスする場合は,アドレス・プールを十分に確保できないケースがあり,そのときは同時にアクセスできるサーバーの台数に制限が出てきます。
このように、各ソリューションには一長一短があります。アクセスの向き,使用するアプリケーション,対象となる機器,およびクライアントやサーバーの台数などを整理し,目的に応じたソリューションを組み合わせて使うことが大切です。