DHCPv6
IPv6で、サーバからアドレスやDNSサーバの情報などを機器に配る仕組み。アドレスを管理して配るステートフルな使い方と、アドレス以外の情報だけを配るステートレスな使い方がある。
イマシルちゃんの解説
IPv4では、パソコンをつなぐとDHCPサーバがIPアドレスを配ってくれたよね。
IPv6でも同じことをするのがDHCPv6なんだ。
ただIPv6には、ルータの広告をもとに機器が自分でアドレスを作る方法もあるから、
「アドレスはDHCPv6からもらう」のか「自分で作って、DNSサーバの情報だけもらう」のかを選べるんだよ!
より深い解説
定義
DHCPv6は、RFC 8415で定められた、IPv6用のDHCPである。UDPを使い、クライアントはポート546番、サーバ(とリレーエージェント)はポート547番で待ち受ける。
アドレスの決め方は3通り
| 方式 | アドレス | DNSサーバなどの情報 | ルータ広告のフラグ |
|---|---|---|---|
| SLAACのみ | ルータ広告のプレフィックスから自分で作る | ルータ広告で受け取る(RDNSS) | M=0、O=0 |
| SLAAC+ステートレスDHCPv6 | 自分で作る | DHCPv6から受け取る | M=0、O=1 |
| ステートフルDHCPv6 | DHCPv6サーバから割り当ててもらう | DHCPv6から受け取る | M=1 |
「ステートフル」は、サーバがどのアドレスを誰に貸したかという状態(state)を管理することを指す。
サーバの見つけ方
クライアントは、DHCPv6サーバのアドレスを知らなくてもよい。リンク上のすべてのDHCPv6サーバとリレーエージェントが参加するマルチキャストアドレスff02::1:2宛てに要求を送れば、サーバ(またはリレーエージェント)が応答する。DHCPv6サーバのアドレスは、近隣探索ではなくDHCPv6自身のやり取りで見つかる。
メッセージの流れ(ステートフルの場合)
| 順番 | メッセージ | 送る側 |
|---|---|---|
| 1 | Solicit | クライアント(マルチキャスト)。「サーバはいますか」 |
| 2 | Advertise | サーバ。「ここにいます。このアドレスを貸せます」 |
| 3 | Request | クライアント。「そのアドレスをください」 |
| 4 | Reply | サーバ。「どうぞ」 |
IPv4のDHCP(DISCOVER、OFFER、REQUEST、ACK)と同じく4回のやり取りである。Rapid Commitを使うと、SolicitとReplyの2回で済ませることもできる。
IPv4のDHCPとの違い
| DHCP(IPv4) | DHCPv6 | |
|---|---|---|
| ポート番号 | 67(サーバ)、68(クライアント) | 547(サーバ)、546(クライアント) |
| 最初の要求の送り方 | ブロードキャスト | マルチキャスト(ff02::1:2) |
| デフォルトゲートウェイの通知 | DHCPで配る | 配らない。ルータ広告で知る |
| 機器の識別 | 主にMACアドレス | DUID(DHCP固有の識別子) |
プレフィックス委譲(DHCPv6-PD)
DHCPv6-PDは、アドレス1つではなく、プレフィックス(/56や/60など)をまとめてルータに割り当てる仕組みである。家庭用ルータがプロバイダからプレフィックスを受け取り、家の中のネットワークに分けて使うのに使われる。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問12
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅱ 問1
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問6
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問1