IPアドレスの自動設定について
IPアドレスの自動設定について
IPv6アドレスのデバイスへの設定方法
デバイスにIPアドレスを設定するためにIPv6では手動設定、 DHCPv6(IPv4におけるDHCPの設定と仕組みは同じ)に加えてSLAAC(StateLess Address Auto Configuration)という自動機能を使うこともできます。
最初の二つはIPv4と似たものですので、 SLAACに限定して説明します。
【主な設定方法】
- 手動設定
- DHCPv6※IPv4におけるDHCPの設定と仕組みは同じ
- SLAAC(StateLess Address Auto Configuration)
SLAACによるIPv6アドレスの割り当ての流れ
ではSLAACを介してどのようにIPv6アドレスが設定されるのでしょうか?ルータからコンピュータへIPv6が割り当てられるまでの流れについて説明します。
1. ホストがネットワークに接続する(ホスト)
接続すると自動的にリンクローカルアドレス(同一ネットワーク内でしか使用できないアドレス)が割り当てられます。
2. ホストは、ルータへマルチキャストアドレス(FF02::02)でルータ要請(RS)を送信(ホスト ⇒ ルータ)
IPv6アドレスの構成におけるプレフィックス(所属ネットワーク部分を表すアドレス)部分を決めるための要請処理です。
リンクローカルアドレスを送信元IPv6アドレスに送信します。
※ICMPv6のタイプ133で送信します。 ICMPv6については後ほど後述します。
3. ルータは前半64ビットにあたるプレフィクスやデフォルトゲートウェイの情報を伝えるためのルータ広告(RA)を返信します。(ルータ⇒ホスト)
※ICMPv6のタイプ134で送信します。
4. ホストは受信したRAからプレフィックスと、EUI-64で生成したインターフェースIDを組み合わせたグローバルユニキャストアドレスを自動設定します。(ホスト)
前半64ビットにあたるプレフィクスを受け取ったので、残りの後半64ビットのインタフェースIDを確定させるために、自身のMACアドレスを介してEUI-64でインターフェースIDを作成します。
MACアドレスは基本的には一意的なアドレスなので、MACアドレスを使うことで一意的なインターフェースIDが生成されます。
MACアドレスのインタフェースIDの変更方法
MACアドレスを使用してインタフェースIDを作成しますが、MACアドレスは48ビットなのに対してインタフェースIDは64ビットです。EUI-64(Extended Unique Identifier64)フォーマットを使用することで、 MACアドレスから64ビットのインタフェースIDが生成されます。
具体的には以下の流れで生成されます。
- MACアドレスを24ビット(3バイト)に分割します。
- その間に16ビットの「FFFE(16進数)」を挿入することで64ビットになります。
- 最後に先頭の7ビット目を反転します。(0なら1、1なら0に変換します。)
- 2進数から16進数に戻したらインターフェースIDが完成します。
ICMPv6について
ICMPv6(Internet Control Message Protocol for IPv6)は、IPv4における(エラーなど通信状況を確認する)ICMPと(IPアドレスとMACアドレスの解決する)ARPを組み合わせたようなプロトコルです。
加えて先ほどのプレフィックスを取得するためのRA(ルータ広告)やRS(ルータ要請)のようなものも含まれています。0~255までのタイプがありますが、ここでは代表的なものを以下に紹介します。