Windows XPでIPv6を体験しよう! 第1回 インストールと設定の確認

Windows XPでIPv6を体験しよう! 第1回 インストールと設定の確認

タグ:

 コンシューマーOSとして大きなシェアを持っているWindowsが、Windows XPでIPv6通信機能を搭載したことで、IPv6は気軽に試すことのできる身近なものとなった。ここではWindows XPを例に、2回に分けてIPv6の世界を味わってみたい。
 IPv6はWindows XP Professional、Home Editionのどちらにも含まれている。当初は開発者向けとして、一般ユーザーに対するサポートの対象外となっていたが、Service Pack-1(以下、XP SP-1)で正式にサポートされた。XP SP-1では、IPv6のインストール手順や関連コマンドで新たに追加されている部分があるが、以下では適宜違いを示しながら解説する。


IPv6をインストールする

 通常のOSインストールでは、IPv6は自動的にインストールされない。コマンドプロンプトを表示させ、画面1のように、

ipv6 install

と入力することで行う。

画面1
画面1:IPv6をインストールして情報を表示


 XP SP-1では、ほかのネットワーキングプロトコルの追加のように、ネットワーク設定からGUIでインストールできるようになった。ネットワークコンポーネントの追加で「プロトコル」を選択し、表示されるプロトコルのリストから「Microsoft IPv6 Developer Edition」を選んでインストールする。
 以後の設定はコマンドラインで行う。ここでもXP SP-1で変更があり、ipv6コマンド群に加え、netsh interface ipv6コマンド群が用意された。今後はnetsh interface ipv6コマンド群に統一されていくとのことだが、ここではXPとXP SP-1に共通なipv6コマンド群を中心として解説する。なお、ipv6コマンド群と、netsh interface ipv6コマンド群を対照させた表を、この記事の末尾に掲載したので参考にしていただきたい。
 画面1では、PCがまったくネットワークに接続していない状態でIPv6のインストールを行ったあと、

ipv6 if

というコマンドでネットワークインターフェイスの情報を表示してみた。これだけでもすでに“Interface 5”(無線LANインターフェイス)、および“Interface 4”(有線のイーサネットインターフェイス)において、“preferred Link-local”として、リンクローカルアドレスが表示されていることが分かる。
 では、このPCをIPv6ネイティブなネットワークに有線で接続してみる。先ほどと同じ

ipv6 if

コマンドを打つと、イーサネットインターフェイスに“preferred global”として、グローバルアドレスが構成されているのが分かる(画面2)。IPv6の自動構成機能の威力はこうしたところに現われる。人間が介入して設定しなくとも、グローバルアドレスを自動的に取得して、通信ができる状態になってしまう。

画面2
画面2:IPv6ネイティブネットワークに接続している状態



いろいろなアドレスが存在する

 すでに、1つのインターフェイスに複数のIPアドレスが自動的に構成されることを見てきた。IPv6では、スコープという考え方があり、リンクローカル、サイトローカル、グローバルの3種類のIPアドレスがある。各端末ではこれらすべてのアドレスを1つのネットワークアダプタ上で同時に持つことができる。これは目的や適用範囲によって使い分けができる。
 リンクローカルアドレスは、端末(のインタフェース)がネットワーク接続されると、まず最初に構成されるアドレスである。しかし、同一リンク上でしか有効ではない。つまり、このアドレスを使った通信はルータを越えないことになっている。リンクローカルアドレスは一般的なデータ通信には使われず、制御のために使われている。サイトローカルアドレスは特定の拠点(サイト)内で使われることになっている。社内のみに有効な通信などである。しかし、IPv6に接続されたコンピュータは通常グローバルアドレスを使う。


アドレスの自動構成の仕組み

 Windows XPでIPv6ネットワークへ接続すると、即座にグローバルIPv6アドレスが自動的に作られてしまう。文字通り「プラグ・アンド・プレイ」そのものである。IPv6でおもしろいのは、各端末がサーバー等に頼ることなく、ルーターから通知を受けた64ビットのネットワークプレフィックス(アドレスのネットワーク部)と、自分自身で生成する64ビットのインターフェイスID(アドレスのホスト部)を組み合わせて、128ビットのグローバルアドレスを構成してしまうことである。
 インターフェイスIDの生成のために使われる情報は、イーサネットのネットワークアダプタの場合、MACアドレスである。MACアドレスとは、16進法で表される48ビットの情報で、前半24ビットが製造者を示す番号となっており、IEEEによって管理されている。後半24ビットは各製造者によって割り振られた各部品に固有の番号だ。したがって、MACアドレスが重複することはあり得ないということになっている。
 画面2では、「link layer address 08-00-46-45-07-00」と表示されている。これがこのイーサネットアダプタのMACアドレスだ。そして「preferred global」の「(public)」のほうのアドレスを見ると、「2001:2a0:4ff:0:a00:46ff:fe45:700」となっている。このアドレスの後半部分は、MACアドレスから自動生成されたものなのだ。
 MACアドレスは48ビットなので、ホスト部として確保されている64ビットのスペースを埋めるにはあと16ビット足りない。そこでMACアドレスの間に「fffe」という固定の値を詰めこむなどの処理を行っている。
 では、ネットワークプレフィックスの部分はどうやって取得するのか。ここでリンクローカルアドレスが活躍する。リンクローカルアドレスでは、上位64ビットが「FE::/64」に定められている。端末がネットワークに新たに接続されると、その端末が持つ各ネットワークインターフェイスでは、自身がMACアドレスを基に生成したインターフェイスIDと「FE::/64」を組み合わせることで、まずリンクローカルアドレスを生成する。次に、同一リンク上に同一のアドレスを持ったインターフェイスがほかにないかを確認すれば、とりあえず同一リンク上でのIP通信ができる状態になる。
 一方、ルーターは「Router Advertisement」(RA)と呼ばれるメッセージを一定間隔で流す。これにはネットワークプレフィックス情報が含まれており、端末側ではリンクローカルアドレスを使ってこれを受け取り、自分のインターフェイスIDと組み合わせて、グローバルなユニキャストアドレスを生成する。
 端末のインターフェイスは、RAを待たずに「Router Solicitation」(RS)というメッセージを出し、プレフィックス情報を自ら要求することもできる。この際、端末側ではルーターのアドレスが分かっていないが、ルーターであれば必ず受け付けなくてはならないことになっている「FF02::2」というマルチキャストアドレスを使う。このリンクローカルのマルチキャストアドレスを送信先アドレスとしてRSを発行すると、一番近いルーターが応答し、RAを送信することになっている。
 RAにはほかにも、デフォルトルーター設定やIPv6ヘッダーに設定されるデフォルトのHop Limit値、ローカル接続におけるMTU(最大送信単位)値などの情報が含まれる。

前のページ 1/2 次のページ
 

この記事のトラックバックURL

http://www.ipv6style.jp/trackback/310
Ads by Google

IPv6ブログ