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

標準移行ツール

RFC 1933 は、次の移行方式を定義しています。

デュアルスタックの実装

デュアルスタックとは、アプリケーションからネットワーク層に到るプロトコルスタックのすべてのレベルの完全な複製をいいます。デュアルスタックの例として、同じマシンで実行する OSI プロトコルと TCP/IP プロトコルがあります。ただし、IPv6 移行の観点からは、プロトコルスタックに IPv4 と IPv6 の両方を組み込み、残りスタックが同一である状況を表します。この場合、同じ伝送プロトコル (TCP、UDP など) と同じアプリケーションが IPv4 と IPv6 の両方で実行します。

図 15-1 は、OSI 層全体にわたるデュアルスタックプロトコルを表します。

図 15-1 デュアルスタックプロトコル

Graphic

デュアルスタック方式では、ホストとルーター両方のサブセットをアップグレードして、IPv4 に加えて IPv6 をサポートします。この方法では、アップグレードされたあとのノードからも IPv4 で常に IPv4 専用ノードと相互運用できます。そのため、IPv4 からデュアルスタックにアップグレードしても失われるものはありません。

ネームサービスの設定

デュアルノードでは、ピアが IPv6 と IPv4 のどちらをサポートしているか明確でないと、伝送時にどちらの IP バージョンを使用するのかが決まりません。そのため、ネームサービスでどんな情報を伝達するかを制御する必要があります。ネームサービスで IPv4 ノードの IP アドレスと IPv6 ノードの IP アドレスを定義すると、デュアルノードでは、両方のアドレスをネームサービスで使用できます。

ただし、IPv6 アドレスをネームサービスに指定した場合も、ネームサービスから情報を得たすべてのノードが IPv6 でそのノードにアクセスできます。たとえば、NIS に IPv6 アドレスを指定すると、その IPv6 ホストはその NIS ドメインに所属するすべての IPv6 とデュアルノードからアクセスできます。グローバル DNS に IPv6 アドレスを指定するには、そのノードがインターネット IPv6 バックボーンからアクセスできることが条件です。これは、IPv4 の場合も同様であり、たとえばメールの配信と HTTP プロキシの操作は、IPv4 でアクセスできるノードの IPv4 アドレスがあるかどうかに依存します。たとえばファイアウォールなどの理由で IPv4 でアクセスできない場合、IPv4 アドレスがアクセスできる範囲だけで認識できるように、ネームサービスは内部ファイアウォールと外部ファイアウォールのデータベースに分けます。

ネームサービスのアクセスに使用するプロトコル (DNS、NIS、NIS+ など) は、ネームサービスで検索できるアドレスタイプに依存しません。このネームサービスサポートでは、デュアルスタックとの組み合わせにより、デュアルノードから、IPv4 専用ノードとの通信では IPv4、IPv6 ノードとの通信では宛先までの IPv6 ルートがあれば IPv6 を使用できます。

IPv4 互換アドレスフォーマットの使用

通常 32 ビット IPv4 アドレスは、128 ビット IPv6 アドレスで表現できます。移行機能では、次の 2 つの形式を定義しています。

IPv6 ノードは互換フォーマットで表現します。このフォーマットでは、実際の IPv6 アドレスがなくても IPv6 ノードを使用できます。また、IPv4 専用ルーターで自動トンネルを使用できるため、このアドレスフォーマットではさまざまな IPv6 設定の試用が可能です。ただし、IPv6 ステートレスアドレス自動設定機構では、このアドレスは設定できません。IPv6 ステートレスアドレス自動設定機構には、DHCPv4 など既存の IPv4 機構や静的構成ファイルが必要なためです。

マップアドレスフォーマットでは、IPv4 ノードを表現します。現在ソケット API の一部でだけ、このアドレスフォーマットの使用方法が定義されています。IPv4 アドレスを 128 ビットマップアドレスで表現して IPv6 アドレスと IPv4 アドレスの両方に共通のアドレスフォーマットを使用すると、アプリケーションで便利です。ただ、IPv4 プロトコルトランスレータと IPv6 プロトコルトランスレータがないとこれらのアドレスは使用できません。

トンネル機構

移行時の依存状態を最小限に抑える目的から、2 つの IPv6 ノード間のあるすべてのノードで IPv6 をサポートする必要がありません。この機構をトンネルといいます。基本的に IPv6 パケットは IPv4 パケット内部に組み込まれ、IPv4 ルーター間を転送されます。図 15-2 は、IPv4 を使用したルーター (R) 間のトンネル機構を示します。

図 15-2 トンネル機構

Graphic

その他、移行時には次のようなトンネル機構の使用方法があります。

設定トンネルは、MBONE (IPv4 マルチキャストバックボーン) など現在はインターネットで他の目的に使用します。設定トンネルの作成手順からいうと、2 つのルーターを設定して、その間に IPv4 ネットワーク経由の仮想ポイントツーポイントリンクを作成します。近い将来インターネットのさまざまな局面にこの種のトンネルが利用されるでしょう。

自動トンネル

初期の実験的配置では、自動トンネルの使用可能範囲は限定されています。IPv6 ルーターがない場合、自動トンネルには IPv4 互換アドレスが必要であり、IPv6 ノードと接続できることが条件です。(自動トンネルネットワークインタフェースを設定すれば) トンネルの発信元はデュアルホストとデュアルルーターのどちらが発信元でも使用でき、終点は必ずデュアルホストになります。トンネルのはたらきにより、宛先 IPv4 アドレス (トンネルの終点) が IPv4 互換宛先アドレスから抽出されて動的に指定されます。

アプリケーションとの対話

IPv6 にアップグレードしたノードでも、IPv6 を使用できるかどうかはアプリケーション次第です。アプリケーション側で変更が必要な API (ソケットなど) を使用する場合や、API のプロバイダ (java.net クラスなどの実装) が IPv6 アドレスをサポートしていないアプリケーションでは、IPv6 アドレスのネームサービスを要求するネットワーキング API を使用しません。どちらの場合も、ノードが送受信するのは IPv4 ノードのように IPv4 パケットだけです。

次の用語は、インターネットの世界では標準用語として使用されています。