技術解説
Windows Server 2003に実装されたIPv6機能

3. IPv6のIPv4ネットワークとの相互運用性

吉田 かおる
2003/06/10

1-5 IPv4ネットワークとの相互運用

 現在、多くのネットワーク機器(ルータ、アプリケーション、ホストなど)はIPv4のみに対応しており、IPv6には対応していません。そのため、IPv4からIPv6への移行は対応した機器から順に、そして、段階的に進むことが予想されます。つまり、しばらくの間は、IPv4とIPv6のネットワークが混在することになるわけです。

 このような混在環境においても、ネットワークは混乱なく運用されなければなりません。そのためには、IPv4とIPv6は相互運用を行う必要があります。Windows Server 2003には、このようなIPv4ネットワークとIPv6ネットワークが混在した環境で重要となるトンネリング技術が用意されています。トンネリング技術とは、パケットにカプセル化して、ネットワークへ送信する技術です。特に移行の初期では、ほとんどのネットワークはインターネットも含めてIPv4ネットワークであるため、IPv6パケットにIPv4ヘッダをカプセル化して送信する「IPv6 Over IPv4トンネリング」が利用されることになるでしょう(図1-13)。

図1-13 IPv6 Over IPv4トンネリング

 Windows Server 2003のIPv6 Over IPv4トンネリングには、構成済みトンネルと自動トンネルがあります。構成済みトンネルは、手動でトンネルを設定するものです。例えば、限定的にあるルータとルータの間をトンネリングしたい場合には、構成済みトンネルを使用します。この操作は、Netshのipv6コンテキストにおいて、「add v6v4tunnel」で行います。

 自動トンネルは、トンネリングを手作業で構成する必要がありません。このような自動トンネルをWindows Server 2003では4種類、サポートしています。

■6to4
 ルータからルータへの自動トンネリング技術です。主に、IPv4インターネットでのトンネリングで使用されます。

■ISATAP
 ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)は、ホストからホストまたはルータへの自動トンネリング技術です。プライベートアドレスにも対応しているため、主にIPv4イントラネットでのトンネリングで使用されます。

■IPv6自動トンネリング
 IPv6自動トンネリングでは、「IPv4互換アドレス」を使用する自動トンネリング技術です。ただし、IPv4互換アドレスではグローバルアドレスのみが定義されているため、あまり広く使用されていません。

■6over4
 6over4では、IPv4マルチキャストを利用したトンネリング技術です。すべてのIPv4ルータがマルチキャスト対応できなければなりませんので、一部のIPv4イントラネットでのみ使用されます。

 IPv6自動トンネリングと6over4に関しては、使用用途が少ないため、既定で無効化されています。これらを有効化するには、Netshのipv6コンテキストにおいて、「set state 6over4=enabled」または「set state v4compat=enabled」を実行します。

1-5-1 6to4サービスの構成

 6to4サービスは、IPv4インターネットのIPv6ホストに対して、アドレスの割り当てと自動トンネリングを行い、IPv6ホストまたはIPv6サイト間の通信を実現します。6to4サービスは、以下の要素から構成されます(図1-14)。

図1-14 6to4サービス

■6to4ホスト
 6to4アドレスが構成されているホストです。なお、6to4アドレスは自動的に構成されます。

■6to4ルータ
 IPv4ネットワークとIPv6ネットワークの間でパケットを転送するルータです。

■6to4リレールータ
 インターネット上のIPv4ネットワークと「6Bone」と呼ばれるインターネット上のIPv6ネットワークとの間で転送を行うルータです。現在、インターネット上にはオープンな6to4リレールータがいくつか存在し、これらを利用することで、プロバイダからIPv6アドレスを取得することなく、インターネット上のIPv6ネットワークと通信することができます。

 Windows Server 2003を6to4ルータとして構成するには、インターネット接続共有(Internet Connection Sharing(以下、ICS))を有効化します。インターネット接続共有は、[ネットワーク接続]フォルダの接続アイコンのプロパティの[詳細設定]タブから、[ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしての接続を許可する]をチェックします(図1-15)。

図1-15 詳細設定

 ICSを有効化して、6to4ルータとすると、自動的にマイクロソフトのリレールータ(6to4.ipv6.microsoft.com)に接続され、IPv6インターネットに接続できます。なお、マイクロソフト以外のリレールータに接続したい場合は、Netshで「interface ipv6 6to4」コンテキストに移動し、「set relay <リレールータアドレスのIPv4アドレス> enable」を実行します。この場合は自由にリレールータを選択することができます。

TIPS
例えば、国内の6to4リレールータを選択することで、IPv6インターネットへの接続パフォーマンスを向上させることができます。

1-5-2 ISATAPサービスの構成

 ISATAPは、ホストとホストまたはルータ間の自動トンネリング技術です。ISATAPは、IPv4/IPv6ノード同士がIPv4ネットワーク(主にIPv4イントラネット)に存在する場合に使用できます。Windows Server 2003では、既定でISATAPが有効化されているため、IPv4/IPv6ノードはリンクローカルのISATAPアドレスを自動生成しており、同じネットワーク上のノードは、お互い通信することができます。

 これに対して、異なるネットワークのノードでは、リンクローカルアドレスでは通信することはできません。そのため、ISATAPルータを構成します。ISATAPルータは、パケットのルーティングとルータ通知によるプレフィックスの配布を行います(図1-16)(サイトローカルのISATAPアドレスの生成に使用されます)。

図1-16 同一ネットワークのISATAP構成

 ISATAPルータでは、自動トンネル擬似インターフェイス(Automatic Tunneling Pseudo-Interface)において、転送とルータ通知を有効化します。これは、Netshのipv6コンテキストで「set interface 2 forwarding=enable advertise=enable」を実行します(ゾーンID 2は自動トンネル擬似インターフェイスとします)。また、「add route <プレフィックス> 2 publish=yes」を実行し、各ホストにサイトローカルアドレスの生成のためのプレフィックスを配布します。

POINT
ISATAPルータの検出
 ISATAPホストでは、IPv6の初期化時にISATAPルータ(のIPv4アドレス)の検出を行います。この作業をWindows Server 2003は「ISATAP」という名前のIPアドレスを解決することで実現しています。以下に、この名前解決の順番を紹介します。

   1. ローカルホスト名
   2. HOSTSファイル
   3. DNSサーバ
   4. ローカルNetBIOS名(ISATAP<00>として)
   5. WINSサーバ
   6. ブロードキャスト
   7. LMHOSTSファイル

 なお、ISATAPルータの検出では自動を推奨していますが、手動で構成することもできます。手動で構成する場合は、Netshのisatapコンテキストから「set router <ISATAPアドレス>」を実行します。
 
NOTICE: isatapコンテキストには、「interface ipv6 isatap」で移動できます。

1-6 PortProxy

 Windows Server 2003には、IPv4とIPv6の混在環境を実現する方法として、これまでに紹介したトンネリング技術とは別に、PortProxyがあります。

 PortProxyは「トランスレータ」と呼ばれる種類のサービスで、IPv4とIPv6のプロトコル変換を実現します。PortProxyにより、IPv4専用ノードとIPv6専用ノードがPortProxyサーバを介して通信することができるようになります。

 例えば、Windows Server 2003のTelnetクライアントはIPv6に対応していますが、TelnetサーバはIPv6に対応していません。このような場合にPortProxyを使用すれば、IPv6ホストのTelnetクライアントからIPv4ホストのTelnetサーバに接続することができます(図1-17)。

図1-17 PortProxy

 PortProxyを構成するルータは、IPv4とIPv6のデュアルスタック構成とします。そして、例えば、Telnetサービス(TCPポート 23)をIPv6対応として、IPv6ホストから接続できるようにするには、Netshのportproxyコンテキストから「add v6tov4 23」を実行します(図1-18)。

NOTICE: portproxyコンテキストへは、Netshから「interface portproxy」で移動できます。
 
図1-18 add v4tov6

 なお、PortProxyのプロトコル変換では、アプリケーションデータを変換することはできません。そのため、FTPのように、アプリケーションデータ内にアドレスやポート情報が含まれるプロトコルの変換には対応していません。End of Article

Windows Server 2003に実装されたIPv6機能  
本記事は、@ITハイブックスシリーズ『Windows Server 2003 ネットワーク構築ガイドブック』(インプレス発行)の第10章「IPv6」を、許可を得て転載したものです。同書籍に関する詳しい情報については、「@ITハイブックス」サイトでご覧いただけます。
出版社:株式会社インプレス
ISBN:4-8443-1789-X
発行:2003年6月
判型:B5変形
ページ数:352ページ
本体価格:3,200円

 

 INDEX
  [技術解説] Windows Server 2003に実装されたIPv6機能
    1.Windows Server 2003に実装されたIPv6機能
    2.IPv6対応ルータの役割
  3.IPv6のIPv4ネットワークとの相互運用性
 
目次ページへ  「Windows Server Insider @ITハイブックス連携企画」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間