DHCPv4の動作(その12)

 ルータのDHCPリレー機能を使用すれば、ルータを超えた先のDHCPv4サーバからIPv4アドレスの払い出しを受けることができます。ここでは、なぜ、自分の所属するネットワークのIPアドレスをDHCPv4クライアントが受け取ることができるのかを解説していきます。

DHCP(セグメントの識別)

 DHCPリレー機能を利用すれば、下図のようなネットワークを構築することができます。DHCPv4サーバを集約して、1台のDHCPv4サーバーでIPv4アドレスの払い出しを管理できるようになります。

DHCPv4サーバには、下記のようにセグメント(ネットワーク)ごとにスコープを設定することとなります。

 1F・・・10.1.0.0/16
 2F・・・10.2.0.0/16
 3F・・・10.3.0.0/16
 4F・・・10.4.0.0/16
 5F・・・10.5.0.0/16

 それでは、なぜ、DHCPv4サーバは、DHCPv4クライアントが所属するセグメント(ネットワーク)を識別して、セグメントごとに異なる設定情報を割り当てているのでしょうか?

 それは、DHCPv4メッセージ内の「GIADDR」のIPアドレスによって、どのサブネットのIPv4アドレスに割り当てるかを識別しIPアドレスを割り当てているからです。「GIADDR」に値が無い場合は、同一セグメントと認識しています。

DHCPのメッセージフォーマット
情報名説明
CIADDRクライアントIPv4アドレス、クライアントがBOUND、 RENEW、REBINDING状態の場合に用いられる。
YIADDRDHCPv4サーバが割り当てるクライアントのIPv4アドレス(自分のIPv4アドレス)
SIADDRDHCPv4サーバのIPアドレス
GIADDRDHCPリレーエージェントのIPv4アドレス。DHCPv4サーバはGIADDRを見てクライアントの所属するサブネットを識別する。
CHADDRクライアントのMACアドレス

 DHCPリレーが設定されたルータは、DHCPv4パケットをDHCPv4サーバに転送する前に、パケットのGIADDRフィールドに、そのセグメント用のルータのIPv4アドレス(DHCPv4パケットの着信インターフェイスのIPv4アドレス)を格納します。

 DHCPv4クライアントが、IPv4アドレスを取得する際に、そのIPv4アドレスがクライアントのためのゲートウェイアドレスとなります。

関連コンテンツ