DHCPv4の動作(その8)

ここでは、DHCPv4のメッセージフォーマットと各フィールドの内容を解説していきます。

DHCPv4のメッセージフォーマット

DHCPv4メッセージのフォーマットは、下図の通りです。

DHCPv4のメッセージの主要項目

DHCPv4メッセージの各フィールドの内容は、下記の通りです。

フィールドName説明
op
(1バイト)
OpCodeパケットが要求と応答のいずれであるかを識別する。
htype
(1バイト)
ハードウェア
タイプ
ハードウェアアドレスのタイプを指定します。
hlen
(1バイト)
ハードウェア長ハードウェアアドレス長を指定する。
hops
(バイト)
ホップクライアントが0を設定し、要求がルータを経由する度に値がインクリメントされる。
xid
(4バイト)
トランザクション
ID
クライアントによって選択されたランダムな数字。DHCPv4メッセージは全て同じxidが設定される。
secs
(2バイト)
DHCPv4プロセスが開始されてからの経過した秒数が設定される。
flags
(2バイト)
フラグメッセージが、ブロードキャストなのかユニキャストなのかを指定する。
ciaddr
(4バイト)
クライアント
IPアドレス
Bound,Renew,Rebinding状態のように、クライアントが自身のIPアドレスを知っている時のみ使用される。
yiaddr
(4バイト)
相手先
IPアドレス
クライアントIPアドレスが、0.0.0.0の場合、DHCPv4サーバはオファーされたクライアントIPアドレスをこのフィールドに設定する。
siaddr
(4バイト)
サーバ
IPアドレス
クライアントがDHCPv4サーバのIPアドレスを知っている場合は、このフィールドにDHCPv4サーバのIPアドレスを設定する。それ以外では、DHCPv4サーバからのDHCPOFFER、DHCPACKで