IPv6の特徴 その3
目次
IPv6アドレスの設定はどうする?
IPv6アドレスは128ビットもの大きさがあるので、
「IPv6アドレスの設定はどうするの?」
という疑問が当然出てくるでしょう。
たとえば、社内LANに数百台ものコンピュータが接続されていて、そのコンピュータ1台1台にIPv6アドレスを設定していくという作業は考えただけでも、面倒です。今回は、IPv6アドレスの設定方法について見ていきます。
IPv6アドレスを設定する方法は、主に次の3つあります。
- 手動設定
- DHCP(ステートフルアドレス設定)
- オートコンフィグレーション(ステートレスアドレス設定)
最初の手動設定は、1つ1つアドレスを手動で設定する方法です。ルータやスイッチなどのネットワークデバイスやアドレスを固定する必要があるサーバでは、IPv4のときと同様にIPv6アドレスを手動で設定します。
2つ目は、IPv4と同じようにIPv6でもDHCPサーバから自動的にIPv6アドレスを取得することができます。DHCPサーバを利用する方法は、「ステートフル」とも呼ばれます。DHCPサーバがどのようなホストにアドレスを割り当てているかを管理することから「ステートフル」と言うことがあります。
ただし、当然のことながら、DHCPサーバが存在しないと、ホストはアドレスを取得することはできません。
3つ目のオートコンフィグレーションが、IPv6で新たに追加されたアドレスの設定方法です。オートコンフィグレーションは、IPv6ルータがローカルネットワーク上のホストに対して、ネットワークアドレス(プレフィクス)やデフォルトゲートウェイの情報を送信するという機能です。ローカルネットワーク上のホストはルータから送信されたネットワークアドレスと自身のインタフェースのMACアドレスから一意なIPv6アドレスを利用することができます。
DHCPサーバのようにアドレスの割り当て状態を管理していないことから「ステートレス」とも言われます。
オートコンフィグレーションの機能によって、DHCPサーバがなくてもIPv6ホストはアドレスを取得して、ネットワークに接続することができます。つまり、オートコンフィグレーションによって、プラグ&プレイが可能になります。
オートコンフィグレーション
では、オートコンフィグレーションによるステートレスなアドレスの割り当てをもう少し詳しく見てみましょう。オートコンフィグレーションによるIPv6アドレス設定の概要を表したのが、次の図です。
ルータは、ローカルネットワーク上にそのネットワークのネットワークアドレス(プレフィクス)やデフォルトゲートウェイの情報を送信します。この送信を行うためにNDP(Neighbor Discovery Protocol)というプロトコルを利用します。
ルータが送信するネットワークアドレスは64ビットです。残り64ビットのインタフェースIDを各ホストが一意に生成すれば、全体として一意のIPv6アドレスができることになります。各ホストのNIC(Network Interface Card)のMACアドレスは、一意であることから、MACアドレスから64ビットのインタフェースIDを生成すれば、一意のインタフェースIDになります。
ただし、MACアドレスは48ビットなので、そのままではインタフェースIDにはできません。そこで、EUI-64という方式に基づいて48ビットのMACアドレスから64ビットのインタフェースIDを生成します。
※EUI-64形式によるインタフェースID生成の詳しい内容は、また改めて解説します。
こうして、オートコンフィグレーションでは、
各ホストのIPv6アドレス=ルータが送信したネットワークアドレス(64ビット) +EUI-64形式でMACアドレスから生成したインタフェースID(64ビット)
を自動的に設定することが可能になります。
リナンバリング
オートコンフィグレーションによって、さらにネットワークのリナンバリング(アドレスの再割り当て)を行いやすくなります。
リナンバリングを行いたいときは、ルータが送信するネットワークアドレスを新しいアドレススペースのものに変更すればよいだけです。各ホストは、新しいネットワークアドレスによって、自身のIPv6アドレスを自動的に設定するので、エンドユーザは、アドレスの変更をまったく意識する必要がありません。
もちろん、ルータ等では、リナンバリングの際に、明示的な設定変更が必要です。しかし、IPv6ネットワークでのリナンバリングは、IPv4ネットワークでリナンバリングを行うよりもはるかに容易に実行できます。