全5267文字

 IPv6アドレスを割り当てる方法を説明する前に、IPv6アドレスの構造を簡単に説明しておこう。IPv6アドレスは、ネットワークを識別するための「プレフィックス」と、ネットワーク上の端末を識別するための「インターフェースID」で構成される。プレフィックスがIPv4アドレスにおけるネットワーク部、インターフェースIDはホスト部に相当する。

 IPv6アドレスを割り当てる方法は3つある(図3-1)。まずIPv6プロトコルが定めている「SLAAC」がある。この方法では、ルーターがIPv6アドレスの前半部分であるプレフィックスを端末に配布する。この配布には、「ルーター広告(RA)」というICMPv6のメッセージが使われる。後半部分のインターフェースIDは端末が個別に生成し、RAで受け取ったプレフィックスと組み合わせてIPv6アドレスを作る。

図3-1●IPv6では3つの方法でアドレスを割り当てる
図3-1●IPv6では3つの方法でアドレスを割り当てる
ルーターがルーター広告(RA)を使って端末にプレフィックスを配布する「SLAAC」と、DHCPv6サーバーが端末にIPv6アドレスを配布する「ステートフルDHCPv6」、ルーターとDHCPv6サーバーを組み合わせる「SLAAC+ステートレスDHCPv6」の3つがある。
[画像のクリックで拡大表示]

 ただし、これだけではネットワーク設定が完結しない。DNSサーバーの情報が必要になる。そのためには後述するDHCPv6あるいは、RAの「RDNSS」というオプションを使って配布するか、手動で設定することになる。

DHCPv6でアドレスを配布

 2つ目の方法は、DHCPのIPv6版であるDHCPv6で128ビットのIPv6アドレス全体を配布する方法だ。つまり、IPv6アドレスのプレフィックスとインターフェースIDの両方をDHCPv6で配布する。この方法を「ステートフルDHCPv6」と呼ぶ。IPv6アドレスを配布する状態(ステート)をDHCPv6サーバーが把握するので「ステートフル」というわけだ。DHCPv6はIPv4のDHCPと同様に、DNSサーバーの情報も配布する。

 3つ目が、SLAACとDHCPv6を組み合わせる方法だ。SLAACではIPv6アドレスは自動設定できるが、DNSサーバーの情報を配布しない。IPv6アドレスのプレフィックスはRA、DNSサーバーの情報はDHCPv6で配布するのが「SLAAC+ステートレスDHCPv6」である。DHCPv6サーバーがIPv6アドレスの状態を把握しないので「ステートレス」になるわけだ。

 整理すると、IPv6アドレスの設定とDNSサーバーの情報の配布のそれぞれで、DHCPv6を使う方法と使わない方法がある。ちなみにデフォルトゲートウエイは、RAを発行するルーターが基本的に担当する。

 DHCPv6の使い方を決めるのもルーターの役割だ。ルーターが送るRA内にあるMフラグとOフラグという情報で制御する。MフラグとOフラグの値が「0」の場合はDHCPv6を使わない、つまりSLAACを使う。Mフラグが「1」の場合には、ステートフルDHCPv6を使用する。Mフラグが「0」、Oフラグが「1」の場合には「SLAAC+ステートレスDHCPv6」を使う。