Solaris のシステム管理 (第 3 巻)

IPv4 と IPv6 の相互運用性

IPv4 から IPv6 に段階的に移行する場合、新しく導入する IPv6 有効化アプリケーションと併行して既存の IPv4 アプリケーションも使用しなければなりません。最初の段階では、デュアルスタックで実行する、ということは IPv4 プロトコルスタックと IPv6 プロトコルスタックの両方で機能するホストプラットフォームとルータープラットフォームがベンダーから提供されます。IPv4 アプリケーションは、少なくとも 1 つの IPv6 インタフェースで IPv6 有効化になっているデュアルスタックでも実行できます。アプリケーションの変更 (や移植) は不要です。

デュアルスタックで実行する IPv6 アプリケーションも、IPv4 プロトコルを使用できます。その場合、IPv4 マップ IPv6 アドレスを使用します。IPv6 は設計上、(IPv4 と IPv6 で) 別々のアプリケーションは不要です。たとえば、デュアルホストの IPv4 クライアントがなくても IPv4 専用ホストのサーバーと通信できます。また独立した IPv6 クライアントがなくても IPv6 サーバーと通信できます。実装時には IPv4 クライアントアプリケーションを新しい IPv6 API に移植するだけです。クライアントは、IPv4 専用サーバーだけでなく、デュアルホストまたは IPv6 専用ホストで実行中の IPv6 サーバーとも通信できます。

ネームサーバーからクライアントが取り出すアドレスで、IPv6 や IPv4 を使用するかどうかが決まります。たとえば、ネームサーバーにそのサーバーの IPv6 アドレスが指定されている場合、サーバーは IPv6 を処理できます。

表 15-1 に IPv4 と IPv6 のクライアントとサーバー間の相互運用性をまとめます。表 15-1 では、デュアルスタックホストに、IPv4 と IPv6 両方のアドレスがそれぞれのネームサービスデータベースに存在するものとします。

表 15-1 クライアントサーバーアプリケーション: IPv4 と IPv6 の相互運用性

アプリケーションの種類 (ノードの種類) 

IPv6-unaware (非認識) サーバー (IPv4 専用ノード)  

IPv6-unaware (非認識) サーバー (IPv6 有効化ノード) 

IPv6-aware (認識) サーバー (IPv6 専用ノード) 

IPv6-aware (認識) サーバー (IPv6 有効化ノード) 

IPv6-unaware (非認識) クライアント (IPv4 専用ノード)  

IPv4 

IPv4 

IPv4 

IPv6-unaware (非認識) クライアント (IPv6 有効化ノード) 

IPv4 

IPv4 

IPv4 

IPv6-aware (認識) クライアント (IPv6 専用ノード) 

IPv6 

IPv6 

IPv6-aware (認識) クライアント (IPv6 有効化ノード) 

IPv4 

(IPv4) 

IPv6 

IPv6 

X は、それぞれのサーバーとクライアント間の通信ができないことを表します。

(IPv4) は、クライアントの選択するアドレスによって相互運用性が決まることを表します。IPv6 アドレスを選択すると処理はエラーになりますが、IPv4 アドレスを選択すると IPv4 マップ IPv6 アドレスとしてクライアントに戻り、IPv4 データグラムが送信されて処理が成功します。

IPv6 配置の初期段階では、IPv6 のほとんどの実装がデュアルスタックノードで処理されます。一般ベンダーではほとんど、初期状態では IPv6 専用実装をリリースしません。