特別企画: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でも「プロパティ」ボタンがグレーアウトしているのが分かるでしょう。
代わりに提供されているのが、コマンドラインツールとしてのipv6とnetshです。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コマンドの対応表です。
|
|||||||||||||||||||||
表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)。
|
||||||||
図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総合インデックス」 |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
|
|