このページの本文へ

前へ 1 2 次へ

使えばわかる!IPv6入門 第2回

リンクローカルアドレス、グローバルアドレスの違いや設定方法とは?

IPv6を使ったLANを試してみよう

2011年05月31日 09時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

グローバルアドレスで通信する

 リンクローカルアドレスでは、ルーターを越えた通信はできない。そこで、LAN内やインターネットとの通信には、グローバルアドレスかユニークローカルアドレスを用いる。ここでは、グローバルアドレスを使ってみよう。ここでは、プレフィックスを「2001:db8:1:1::/64」とした。

 グローバルアドレスの設定は、以下の手順で行なう。

画面3 グローバルアドレスの設定

  • ①PC1で、netshで画面3のコマンドを入力する。各コマンドが正しく実行されれば、"OK"と表示される。この時、「要求された操作には、権限の昇格が必要です。管理者として実行してください。」と警告されることがある。その場合には、そのコマンドプロンプトをいったん閉じて、コマンドプロンプトのアイコン(またはショートカット)を右クリックして「管理者として実行」を選べばよい。
  • ②PC2では、何もしなくてよい。ただし、①が完了してから、30秒以上待つ。

画面4 PC1(Windows 7)のアドレス情報を確認する

 設定が終わったら、それぞれのPCでアドレス情報を取得する。画面4はPC1(Windows 7)で、画面5はPC2(Windows XP)で、それぞれipconfigを実行した結果の一部だ。Windows XPでは、2001:db8:1:1:で始まるアドレスが1つ増えているが、Windows 7では2つ増えているのがわかるだろう。

画面5 PC2(Windows XP)のアドレス情報を確認する

 Windows 7だけで増えたアドレスは、「一時IPv6アドレス」だ。これは、プライバシー保護のため、一定時間ごとにインターフェイスIDがランダムな値に変化するアドレスで、匿名アドレスとも呼ばれている。一方、インターフェイスID(IPv6アドレスの下位64ビット)がリンクローカルIPv6アドレスのインターフェイスIDと一致するアドレスは、人為的に再設定が行なわれない限り変化しない「永続的な」IPv6アドレスである。

 では、念のため、相互にpingで導通確認をしておこう。Windows 7からは、以下のコマンドを実行する。

ping 2001:db8:1:1:20b:97ff:fe2e:1f58

 通信対象をグローバルアドレスで指定した場合は、スコープIDは不要である。これは、ユニークローカルアドレスでも同じだ。どちらも、アドレスに含まれるプレフィックス情報を見れば、どのインターフェイスからパケットを送り出すのか判別できるからである。

画面3(再掲載)

 さて、画面3のコマンドを解説しよう。コマンドは2つある。最初のコマンドは、「インデックスが“11”のインターフェイスからルーター広告(RA:Router Advertisement)を行なう」という意味だ。そして次のコマンドは「インデックスが“11”のインターフェイスへ、ユニークローカルIPv6アドレスのプレフィックスを“2001:db8:1:1::/64”に設定し、この情報をルーター広告により配信する」となる。この設定をリンク内のホストの1台に投入すると、約30秒でリンク内の全ホストにユニークローカルIPv6アドレス(プレフィックスは“2001:db8:1:1::/64”、インターフェイスIDは各ホストで自動生成された値)が自動的に設定される。

自動構成の仕組み(その2)

 では、グローバルアドレスの設定の仕組みを細かく見てみよう(図3)。

図3 グローバルアドレスの自動設定

  • ①PCは、インターフェイスにリンクローカルアドレスが設定されたら、そのアドレスをルーター要請メッセージに載せて送信する。
  • ②同一リンク内に「ルーター広告(RA)」を行なうホストがあれば、そのホストはルーター要請メッセージを受信すると、グローバルアドレスのプレフィックスの情報をルーター通知メッセージに載せて返信する。
  • ③PCはルーター通知メッセージを受信すると、それに含まれるプレフィックスを使ってグローバルアドレスをインターフェイスに設定する。

 ここで使われるルーター要請メッセージやルーター通知メッセージも、前述の近隣探索プロトコル(NDP:Neighbor Discovery Protocol)の一部である。この仕組みは、ユニークローカルアドレスの設定やデフォルトゲートウェイの設定でも同様だ。

 つまり、グローバルアドレスとユニークローカルアドレスのプレフィックス情報、デフォルトゲートウェイ情報をリンク内の1台のホストに設定するだけで、リンク内のほかのすべてのホストのIPv6アドレスは、プラグ&プレイで自動構成できてしまう。このように、IPv6では、リンク内の各ホストが通信を行なうために必要とするさまざまな情報を、ルーターが自動的に配信する。この仕組みが、これまで何回か出てきているルーター広告(RA)だ。

 なお、RAを行なうホストは常時稼動していることが望ましいく、PCよりもルーターが用いられることが多い。ルーター通知メッセージは、ルーター要請メッセージを受信しなくても定期的(既定値は30秒おき)に発信され、それを受信したホストは動的に構成を変更する。このため、ネットワークの構成が変わってプレフィックスを変更した場合でも、ルーターの設定を変更するだけでホストのアドレスを自動的に再設定できる。

 今回はアドレスが自動設定されるPCは1台だけだが、数十台のPCがつながったネットワークを想定すれば、この自動設定の効率性、ありがたみがわかるだろう。

手動構成も必要

 一般のクライアントPCであれば、アドレスなどの設定が自動化されて喜ぶ人は多いだろう。エンドユーザーだけでなく、管理者にとっても手間が省けるからだ。しかし、IPアドレスを固定したいサーバでは事情が異なる。

 もちろん、手動でIPv6アドレスを設定する手段も確保されている。Windows Vista以降では、GUIで設定できる。これには、「ローカルエリア接続」の「プロパティ」から、「インターネット プロトコル バージョン6(TCP/IPv6)」の行をクリックして反転表示させた状態で、「プロパティ」ボタンを押す。すると、IPv6アドレスの設定画面が現われるので、値を入力するだけだ(画面6)。

画面6 GUIによるIPv6アドレスの設定

 Windows XPではGUIは用意されないが、netshから設定できる。また、Vistaや7でも、netshの操作に慣れてしまえば、こちらのほうが早く設定できるだろう。画面7はPC1に設定した様子で、画面7-①でユニークローカルアドレス“2001:db8:1:1::1/64”を割り当て、画面7-②でアドレスの設定状態も確認している(画面7の②)。

画面7 netshによるアドレスの手動設定

 次回は、IPv6のLANにルーターでつないでみたいと思う。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事