IPv6の開発がはじまってからおよそ20年が経過し、IPv6が本格的に普及する兆しが見えてきた。IPv4アドレスの枯渇が始まり、いやおうなしにIPv6を使わざるを得ない状況が目前に迫ってきたからだ。
この連載では、実際にWindows XP/Vista/7に実装されたIPv6スタックを使いながらIPv6の仕組みについて学んでいく。連載の途中からは、ヤマハの最新IPv6対応ルーター「NVR500」を用いたネットワークの構築にも触れていく予定だ。
Windows Vista/7ならIPv6環境がすぐ使える
「習うより慣れよ」という言葉がある。IPv6の勉強も、教科書を読むだけではなく、実際に使ってみたほうが理解が早いだろう。ここからの記述は、Windows 7でIPv6を操作することを想定して進めていく。Windows VistaのIPv6も、基本的にはWindows 7と同じである。また、Windows XPでの説明も補足する。読者の皆さんも、手元のPCで試しながら記事を読み進めていただければ、理解が深まるはずだ。
まず、IPv6が利用可能になっていることを確認しよう。Windows 7およびWindows Vistaは、初期状態でIPv6が利用可能になっている。そのため、IPv6を故意に無効としない限りは問題なく使えるはずだが、念のため確認しておこう。
Windows 7では、コントロールパネルの「ネットワークと共有センター」を開き、画面左側にある「アダプターの設定の変更」をクリックし、「ローカルエリア接続」をダブルクリックする。すると表示される「ローカルエリア接続の状態」ダイアログで「プロパティ」を選ぶ。これで表示される画面で、画面1のように「インターネット プロトコル バージョン6(TCP/IPv6)」の行にチェックが入っていればIPv6は有効になっている。
画面1 Windows 7の「ローカルエリア接続のプロパティ」。中央部の「インターネット プロトコル バージョン6(TCP/IPv6)」にチェックが入っていればIPv6は有効だ
また、Windows Vistaであれば、「ネットワークと共有センター」から「ローカルエリア接続の状態」欄の「状態の表示」をクリックすると「ローカルエリア接続の状態」が表示されるので、プロパティをクリックする。そして、Windows 7の場合と同様に「インターネット プロトコル バージョン6(TCP/IPv6)」の行にチェックが入っていればよい。
一方、Windows XPは初期状態でIPv6がインストールされていない。そのため、以下の手順でインストールする必要がある。
スタートメニューからコントロールパネルを開き、「ネットワーク接続」→「ローカルエリア接続」を進む。「ローカルエリア接続のプロパティ」が開いたら、「インストール」→「プロトコル」→「Microsoft TCP/IP version 6」を選択して「OK」をクリック。あとは、画面の指示に従い、PCを再起動すれば完了だ。
IPv4と異なり、IPv6はインストールするだけでアドレスなどが自動設定される。プラグ&プレイが相当なレベルで実現されているのだ。TCP/IPの設定状態を調べるには、コマンドプロンプトで「ipconfig」コマンドを利用する。手元のWindows 7マシンで実行した結果が画面2だ。
画面2 Windows 7のipconfigの結果
画面2の「イーサネット アダプタ ローカル エリア接続:」のブロックがネットワークインターフェイスカード(NIC)の状態だ。Windows 7のIPv6では、この「イーサネット アダプタ ローカル エリア接続:」のほかに、いくつかの「Tunnel adapter ……」というブロックが表示される。これはIPv4とIPv6の共存のために使用する仮想インターフェイスの情報だ。Windows 7でIPv6を有効にすると、物理的なNICが1つしかなくても、複数の論理的なインターフェイスが自動的に構成される。
さて、リンクローカルIPv6アドレスとして表示される値は、
IPv6アドレス+“%”インターフェイスインデックス(NICの識別番号)
となる。リンクローカルIPv6アドレスは、PCのすべてのNICに自動的に設定されるため、このようにインターフェイスインデックスと一緒に表記することになっている。ここでは、“fe80::4163:ee0e:40ff:8b23”がIPv6アドレスで、“11”が該当するNICのインターフェイスインデックスだ。
IPv6アドレスの表記法
IPv6のアドレスの長さは、128ビットである。これを16ビットずつ8つに分割し、それぞれを16進数(4桁)で表記し、区切りにコロン(:)を入れて並べた形式で表記する。たとえば、手元のPCのリンクローカルIPv6アドレスの正式な表記は、
fe80:0000:0000:0000:4163:ee0e:40ff:8b23
である。
しかし、これでは長すぎるので、以下の方法により表記を短縮できる(図1)。
図1 IPv6アドレスの短縮方法
まず、コロン(:)で挟まれた4桁の16進数は、前置き(左側)の0を省略する。“0101”であれば“101”といった具合だ。また、4桁すべてが0の場合は、1つの0となる。つまり、“0000”は“0”となる。すると、上のアドレスは
fe80:0:0:0:4163:ee0e:40ff:8b23
になる。
さらに、"0:0:0"のように0が続く部分は、アドレス全体で1カ所だけだが"::"と省略できる。これで、
fe80::4163:ee0e:40ff:8b23
と短くなった。この表記は、ipconfigコマンドの出力結果と一致する。PCやルーターなどの機器の設定を行なう際には、この形式がもっともよく用いられる。
(次ページ、IPv6アドレスの構造)