- DHCPリレーの仕組み
- DHCPリレー時の払い出しセグメントの判別方法
ネットワークの設計・構築時に手元に置いておきたくなる一冊です!
ネットワーク構築において、VLANごとにDHCPサーバを設置するのは運用コストやリソースの観点から現実的ではありません。そこで必須となる技術が「DHCPリレー(DHCP Relay Agent)」です。
本記事では、DHCPリレーの基本的な仕組みから、サーバがどのようにセグメントを判別しているのか(giaddrの役割)、設計上の注意点までプロの視点で詳しく解説します。
DHCPリレーとは?なぜ必要なのか
通常、PCなどのDHCPクライアントは、自身のIPアドレスを決めるために「ブロードキャスト」でサーバを探します。しかし、ブロードキャストはルーター(L3デバイス)を越えることができません。
課題: セグメント(VLAN)ごとにDHCPサーバを置く必要があり、管理が煩雑になる。

ここでクライアントからのブロードキャストを別のネットワークのDHCPサーバ宛へのユニキャスト通信に変換する仕組みのことをDHCPリレーと言います。

2. DHCPリレーの動作フローと「giaddr」の仕組み
ここで1つ疑問が生じます。
DHCPサーバはクライアントが属するセグメントに適したIPアドレスを払い出さないといけません。
多数のセグメントのクライアントからDHCP要求が来た場合、DHCPサーバはどうやって払い出すセグメントやIPアドレスを認識しているのでしょうか。
DHCPサーバが「どのセグメントのIPアドレスを貸し出すべきか」を判断できるのは、リレーエージェントがパケットに情報を付与しているからです。
/
DHCPでアドレスが払い出されるプロセス(DORAプロセス)
- DHCP Discover (Broadcast): クライアントが同一セグメント内にブロードキャスト。
- リレー処理: ルーター(リレーエージェント)がこれを受信。自身(クライアント側のインターフェース)のIPアドレスをgiaddr (Gateway IP Address) フィールドに書き込み、DHCPサーバへユニキャストで転送。
- DHCP Offer (Unicast):** サーバはgiaddrを見て「このネットワークのプールから出せばいいんだな」と判断し、リレーエージェントへ返信。
- 以降のRequest/Ack: 同様にリレーエージェントを経由して通信が完了します。
Point: サーバはパケットの「送信元IP」ではなく、「giaddr」の値を見て払い出し対象のサブネットを特定します。

主要メーカーの設定コマンド例
実際によく使われるDHCPリレーの設定例を紹介します。
Cisco IOS / Catalyst
インターフェース(クライアント側)に対して設定します。
interface Vlan10
ip address 192.168.10.1 255.255.255.0
ip helper-address 10.1.1.100 <-- DHCPサーバのIPアドレス5. まとめ
DHCPリレーは、大規模ネットワークにおけてなくてはならない機能です。しっかり理解しておきましょう。
- ブロードキャストをユニキャストに変換する。
- giaddrによってセグメントを識別する。
- 設定はクライアント側のL3インターフェースで行う。



コメント