Lesson2では,IPv6の「グローバル・ユニキャスト・アドレス」について学ぼう。グローバル・ユニキャスト・アドレスは,IPv6のインターネット通信で端末同士がユニキャスト通信するときに使う。IPv4のグローバル・アドレスにあたる最も基本となるIPアドレスだ。

二つの部分からなるアドレス

 グローバル・ユニキャスト・アドレスは,二つの部分で構成される(図2-1)。128ビットのうちの前半64ビットは「プレフィックス」(またはネットワーク・プレフィックス)と呼ばれる。プレフィックスはIPv4アドレスの「ネットワーク部」と同様,その端末が所属するネットワークを示す値だ。後半64ビットは「インタフェースID」と呼ばれる。インタフェースIDはIPv4アドレスの「ホスト部」と同様,ネットワーク内の一意の端末(ホスト)を示す値である。

図2-1●IPv6で使うグローバル・ユニキャスト・アドレスの生成方法<br>128ビットのうちの前半64ビットはプロバイダから割り当ててもらい,後半64ビットはLANアダプタのMACアドレスを使って自動生成する。このため,ユーザーが事前にアドレスを設定する必要はない。
図2-1●IPv6で使うグローバル・ユニキャスト・アドレスの生成方法
128ビットのうちの前半64ビットはプロバイダから割り当ててもらい,後半64ビットはLANアダプタのMACアドレスを使って自動生成する。このため,ユーザーが事前にアドレスを設定する必要はない。
[画像のクリックで拡大表示]

 これら二つの部分はどのように決まるのかを見ていこう。

階層化したIDを含むプレフィックス

 プレフィックスは「グローバル・ルーティング・プレフィックス」と「サブネットID」の二つのIDで構成される

 このうちグローバル・ルーティング・プレフィックスはユーザーがISP(インターネット・サービス・プロバイダ)から受け取るもので,ユーザーが利用しているサイト(ネットワーク)に対応するIDである。ISPはIPアドレスを管理する国際的な機関からまとまった単位でIPアドレスを割り振られているので,それを各ユーザーに割り当てていく。ちなみにIPアドレスを管理する国際機関の日本担当は,アジア太平洋地域を管理するAPNIC(エーピーニック)である。

 もう一つのサブネットIDは,グローバル・ルーティング・プレフィックスが示すサイトの中で,サブネットを識別するためのIDだ。

 つまり,プレフィックスはユーザーの端末に来るまでに渡ってきた組織を階層形式で表している。こうすることで,プレフィックスは全世界で一意であることが保証されると同時に,ルーティング処理の際にルーターの負荷を軽減する。

インタフェースIDは自動生成

 次に,後半64ビットのインタフェースIDの生成手順を見てみる。

 インタフェースIDを生成する方法は2種類ある。IPv6端末のMAC(マック)アドレスを使う方法と,ランダムに生成する方法だ。

 図2-1中では,MACアドレスからインタフェースIDを生成する前者の方法を解説している。この方法は「EUI-64」と呼ばれる。LANカードが持つMACアドレスは,原則として世界で一意のものだ。そのため,MACアドレスから作るこのインタフェースIDもまた,世界で一意になるはずである。

 一方,後者の方法は起動時にOSがランダムな値を生成して,それをインタフェースIDとして使うもの。前者の方法では,IPアドレスからMACアドレスが容易にわかってしまうというセキュリティ上の問題点がある。この問題を回避するためにRFC4941で規定したのが,後者のランダム方式である。VistaのIPv6の設定では,この方式でインタフェースIDが生成される。

 以上のように生成したインタフェースIDとプレフィックスを合わせることで,そのネットワークに属する,世界で一意の端末であることを示すグローバル・ユニキャスト・アドレスが生成できるのである。このアドレス設定作業は,基本的に自動で行われる。IPv6では,DHCPサーバーがなくても,グローバルなIPアドレスが自動的に設定され,すぐに通信できるようになるのだ。