特別企画:Windows XP SP1がIPv6を実装


あなたのマシンでIPv6を体験
〜Wndows XP SP1でIPv6を使いこなす〜


及川卓也
マイクロソフト
2002/10/17

Windows XP SP1でIPv6を使う

 さて、ここからは2002年9月にリリースされたWindows XP SP1を用いてIPv6に実際触れてみることにしましょう。

 Windows XPでもIPv6プロトコルスタックは標準提供されていましたが、そのインストールは通常のネットワークプロトコルのインストールと異なり、ipv6コマンドを用いるものでした(ipv6 install)。Windows XP SP1でもipv6コマンドを使うことはできますが、ほかのネットワークプロトコルと同様、「ネットワーク接続」の各インターフェイス(「接続」)のプロパティ画面よりインストールできるようになりました。手順は次のとおりです。

1. Windows XP SP1の「ネットワーク接続」で「接続」(例えば、「ローカル エリア接続」)を選択します。

2. マウスの右ボタンでプロパティ画面を表示させ、「インストール」をクリックします画面1)。

画面1 「接続」のプロパティからプロトコルをインストールする

3. 「ネットワーク コンポーネントの種類の選択」で「プロトコル」を選択します(画面2)。

画面2 「ネットワーク コンポーネントの種類の選択」で「プロトコル」を選択する

4. 「ネットワーク プロトコルの選択」画面で「Microsoft IPv6 Developer Edition」を選択します(画面3)。なお、SP1適用以前にすでにIPv6プロトコルをインストールしている場合には、「Microsoft IPv6 Developer Edition」はリストに表示されません

画面3 「Microsoft Ipv6 Developer Edition」を選択する

 インストールされたIPv6スタックは画面4のように「接続」のプロパティ画面に表示され、インストール済みであることが分かります。ただし、ここでもWindows XP SP1適用以前にIPv6がすでにインストールされている場合にはリストに表示されませんので、注意してください。

画面4 IPv6のインストール完了後、「接続」のプロパティにはIPv6がインストール済みプロトコルとして表示される

 IPv6は自動構成の仕組みを持っているので、ユーザーによるネットワーク設定は不要です。現時点では標準が定まらないため、自動構成される設定だけでは足りない設定項目もありますが、それでも一般ユーザーに128bitsのアドレスを入力させるのはいいアイデアではありません。そのため、WindowsではIPv4と異なり、IPv6用にGUIでの設定画面などは用意されていません。画面4でも「プロパティ」ボタンがグレーアウトしているのが分かるでしょう。

 代わりに提供されているのが、コマンドラインツールとしてのipv6netshです。ipv6コマンドはWindows XPやそれ以前のWindows 2000用のIPv6 Technology Previewから提供されていますが、今後はnetshがipv6用の設定コマンドとして置き換えられることが予定されています。Windows .NET Server 2003ではipv6コマンドは提供されません。

 Windows XPまでのnetshコマンドはipv6コマンドの持つ機能のすべてを網羅してはいませんでしたが、SP1でnetshコマンドが拡張され、ipv6コマンドの持つ機能のすべてがnetshでも可能となりました。表3が主なipv6コマンドとnetshコマンドの対応表です。

ipv6コマンド
netshコマンド
説明
ipv6 install netsh interface ipv6 install IPv6のWindowsへのインストール
ipv6 uninstall netsh interface ipv6 uninstall IPv6のWindowsからのアンインストール
ipv6 [-v] if [インターフェイス番号] netsh interface ipv6 show interface[[interface=]インターフェイス名] [[level=]{normal |verbose}] [[store=]{active | persistent}] インターフェイスについてのIPv6の構成状態の表示
ipv6 ifd インターフェイス番号 netsh interface ipv6 delete interface[[interface=]インターフェイス名] [[store=]{active |persistent}] インターフェイスの削除
ipv6 ncf [インターフェイス番号 [IPv6アドレス]] netsh interface ipv6 delete neighbors[[interface=]インターフェイス名][[address=]IPv6アドレス] インターフェイスの近隣ノードキャッシュの削除
ipv6 rc [インターフェイス番号 [IPv6アドレス]] netsh interface ipv6 showdestinationcache [[interface=]インターフェイス名][[address=]IPv6アドレス] インターフェイスのルートキャッシュの表示
表3 主なipv6コマンドと対応するnetshコマンド (一部抜粋、ここをクリックすると表全体を別ウィンドウで拡大表示します

自動構成されたIPv6情報を見る

 IPv6はステートレスな自動構成が実現されています。利用しているネットワークのルータがすでにIPv6のルーティングに対応されている場合、Windows XPはルータからルータ通知メッセージ(RA:Router Advertisement)を受け取り、自動的にアドレスを構成します。ルータが対応していない場合でも、リンクローカルアドレスを自動構成します。各インターフェイスの一覧は「netsh interface ipv6 show interface」で表示できます(画面5)。

画面5 netshにより表示されたIPv6インターフェイスの一覧 (画面をクリックすると拡大表示します)

 netshコマンドには会話型モードとバッチモードの2つのモードがあります。コマンドプロンプトからnetshと入力することで会話型モードが起動され、「netsh>」プロンプトでnetshの各サブコマンドを実行できます。IPv6関連のコマンドは「interface ipv6」サブコンテキストにあるので、netshを会話型モードで起動後、「interface ipv6」と入力します。ここで「show interface」と入力することで画面5と同じ結果が表示されます。同じことをコマンドプロンプトから直接行うには、「netsh」に続けて、サブコンテキストとコマンドを入力します。これがバッチモードです。この場合は「netsh interface ipv6 show interface」と入力することになります。画面5の例はバッチモードでの実行例です。この後の説明ではバッチモードでの表記を行いますが、同じことは会話型モードでも可能です。会話型モードの使い方は「netsh>」プロンプトで「?」を入力することでヘルプが表示されるので、それを参照してください。

 Windows XPではipv6 ifコマンドでのみ実際に構成されたIPv6アドレスを表示できましたが、Windows XP SP1ではipconfigコマンドでIPv4とIPv6の両方のアドレスを表示できるようになっています(画面6)。

画面6 SP1ではipconfigコマンドがIPv6対応された (画面をクリックすると拡大表示します)

 この例ではルータが設定されていないので、リンクローカルアドレスのみがIPv6アドレスとして表示されています。

 また、アドレス以外の情報については「netsh interface ipv6 show interface interface=インターフェイス名」で表示できます(画面7)。

画面7 netshコマンドによるインターフェイスの情報の詳細表示 (画面をクリックすると拡大表示します)

 ホスト上のIPv6が正常に動作しているかを確認するにはループバックアドレスにpingを実行してみるといいでしょう。IPv6のループバックアドレスは「::1」です。IPv6用のpingはping6コマンドになります。ping6の使い方はIPv4でのpingと同じです。ping6に続けて相手ホストのホスト名かアドレスを入力します(画面8)。

画面8 ping6コマンドによるループバックアドレスの確認 (画面をクリックすると拡大表示します)

 もしほかにIPv6が利用できるホストがネットワーク上に存在する場合は、そのホストへの到達も確認してみましょう。ping6に相手ホストのIPv6アドレス(リンクローカルアドレス)を指定します(画面9)。

画面9 別ホストのリンクローカルアドレスを指定してping6コマンドを実行 (画面をクリックすると拡大表示します)

 ご覧のように「パラメータに問題があります。」と表示されてしまいます。これはIPv6では相手ホストに到達するため、利用するインターフェイスを特定しなければならないからです。ここでは、指示されているように、スコープIDを利用してみましょう。スコープIDの指定はIPv6アドレスの後ろに「%」でインターフェイスIDを付加することで行います。画面5で「ローカル エリア接続」のインターフェイスIDは4であるのが分かります。そこで、ここでは「%4」を付加します(画面10)。

画面10 スコープIDを指定したping6コマンドの実行 (画面をクリックすると拡大表示します)

 IPv6ホストに一度アクセスすることで近隣ノードキャッシュにエントリが生成されます。「netsh interface ipv6 show neighbors」コマンドでエントリを確認してみましょう。「netsh interface ipv6 show neighbors interface=インターフェイス名」を実行します。画面11のように表示されます。

画面11 近隣ノードキャッシュの確認 (画面をクリックすると拡大表示します)

 これでIPv6を用いての基本的な通信が可能なことは確認できました。ここでは説明しませんでしたが、このほかにもWindows XPを単純な静的ルーティングを行うルータに設定することなどができます。オンラインヘルプなどを参考に試してください。

6to4でインターネット上のIPv6サイトにアクセスする

 6to4はIPv4を利用したトンネル技術の1つです。IPv6のプレフィックスにIPv4グローバルアドレスを埋め込むことにより、自動トンネル構成を可能にしています(図2)。

2002
IPv4アドレス
SLA
インターフェイス識別子
16bits
32bits
16bits
64bits
図2 6to4アドレス体系

 なお、Windows XPの6to4の実装ではインターフェイス識別子の部分にもIPv4アドレスが埋め込まれます。

 図3のように、6to4を利用することで、IPv4を用いて2サイト間のIPv6接続ができます。また、インターネット上に用意された6to4リレールータを用いることでIPv6のインターネット(IPv6によりアクセス可能なインターネット上のホスト)への接続も可能になります。

図3 6to4を用いたIPv6通信


 Windows XPではグローバルIPv4アドレスを持つインターフェイスがあった場合、自動的に6to4機能が有効になります。例えば、ダイヤルアップでプロバイダに接続し、それにグローバルアドレスが割り当てられていれば、6to4機能を使ってIPv6インターネットに接続することができます。

 画面12は6to4が有効になったホストでのIPv6アドレスの表示です。モザイクが掛かっている部分がグローバルIPv4アドレスの埋め込まれている部分です。

画面12 6to4が有効になったホストのIPv6アドレス (画面をクリックすると拡大表示します)


 Windows XPでは既定の設定で、6to4リレールータとしてマイクロソフトが公開している6to4.ipv6.microsoft.comを用いるように構成されています。そのため、たとえ日本のプロバイダに接続して、日本側にあるIPv6サイトにアクセスする場合でも6to4を用いたパケットは一度太平洋を越え、6to4リレールータを経由して、再び海を越えて日本に戻ってきます。

 ここではKDDI研究所が実験目的で6to4リレールータを公開していますので、そちらにアクセスしてみましょう。KDDI研究所の6to4リレールータを用いるには「netsh interface ipv6 6to4 set relay」を用います(画面13)。なお、KDDI研究所の6to4公開実験の概要については[6to4」のページをご覧ください。

画面13 6to4リレールータの変更 (画面をクリックすると拡大表示します)

 これで6to4の設定は完了です。ping6やtracert6を用いてIPv6ホストへの到達性を確認できます。また、IPv6対応のアプリケーションであるInternet ExplorerやFTPクライアント、Telnetクライアントを利用してIPv6ホストに接続することも可能です。


 以上簡単にWindows XP SP1を用いたIPv6の設定を紹介しました。現在はまだIPv6対応のアプリケーションが多く提供されているとはいえない状況ですが、SP1で正式にIPv6サポートが開始されたことで、ますます多くのアプリケーションがIPv6対応になることが期待できます。IPv6の世界を体験できる時期ももうすぐでしょう。

関連リンク

Microsoft IPv6 Technology Preview for Windows 2000について(英文)

Windows XPのIPv6実装について(英文)

Windows CE.NETのIPv6実装について(英文)

MSR(Microsoft Research)によるIPv6参照実装について


Index
特別企画:Windows XP SP1がIPv6を実装
  Part.1 マイクロソフトのIPv6への取り組み
独立したIPv6ホストやサイトに接続するためのトンネル技術
Part.2 WindowsXP SP1でIPv6を使う
・自動構成されたIPv6情報を見る
・6to4でインターネット上のIPv6サイトにアクセスする
 


「Master of IP Network総合インデックス」


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

注目のテーマ

Master of IP Network 記事ランキング

本日 月間