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


DHCPによるIPアドレス取得の流れ

前回、DHCPサーバとのやり取りをパケットキャプチャソフトで
実際にネットワーク上に流れているパケットをキャプチャしました。

 

DHCPのキャプチャ画面

上図からも分かるとおり、IPアドレス取得の流れは、
以下のように4つの手順を踏んで行われます。

#1行目のDHCP RELEASEメッセージは、
  クライアントPCがIPアドレスをリリース(返却)
  するときのメッセージですので対象外です。

 

●DHCPのやり取り

DHCPのやり取りはDHCP DISCOVER,DHCP OFFER,DHCP REQUEST,DHCP ACKのやり取りを行ってアドレスを取得をしています


今回はそれぞれのメッセージを見る前に、
DHCPのメッセージフォーマットについて
見ていきたいと思います。

 


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

DHCPのやりとりは、以下の図のようなフォーマットを使って行われます。

 

・op
メッセージタイプ(1 = BOOTREQUEST, 2 = BOOTREPLY)

・htype
ハードウェアアドレスタイプ(10Mイーサネットの場合は 1 )

・hlen
ハードウェアアドレス長(10Mイーサネットの場合は 6 )

・hops
DHCPリレーエージェントを使用する場合に利用される

・トランザクションID
クライアントとサーバ間の一連の通信で共通で使用されるID。

・秒数
クライアントによって記述される。
アドレスの更新を開始してからの秒数がセットされる。

・フラグ:下図参照

B: ブロードキャストフラグ
MBZ: 常に 0 をセット(将来のための予約)

・クライアントIPアドレス
クライアントがIPアドレスを取得している場合にセットされる。

・割り当てるIPアドレス
クライアントに割り当てられるIPアドレス

・サーバIPアドレス
サーバのIPアドレス

・リレーエージェントIPアドレス
リレーエージェントのIPアドレス。
リレーエージェントを使用する場合に利用される。

・クライアントハードウェアアドレス
クライアントのMACアドレスがセットされる

・サーバ名
サーバのホスト名(オプション)

・ブートファイル名

・オプション
可変長のオプション。
このオプション部分に下記のようなさまざまな種類のデータを設定して、
詳細なオプションを通知可能。

このオプション部分で、「サブネットマスク」
「デフォルトゲートウェイ」「DNSサーバのアドレス」
などがセットされます。

オプションで設定される項目は非常に多いため、
ここでの説明は割愛します。

興味のある方は、RFC2132に記述されていますのでご覧になって下さい。

□RFC2132
http://www.ietf.org/rfc/rfc2132.txt


DHCPに関するRFCについて

DHCPのもとになった技術は「BOOTP(BOOTstrap Protocol」
と呼ばれるプロトコルがもとになっています。

基本的にメッセージフォーマットもBOOTPと同じです。

唯一違うところが、BOOTPがIPアドレスを通知するだけだったのに対し、
DHCPはさらに多くのオプション(デフォルトゲートウェイやDNSサーバなど)
を通知できたり、リース期間の概念を取り込んでより高機能になっています。

DHCPに関するRFCには以下のようなものがあります。

□BOOTP:RFC951
http://www.ietf.org/rfc/rfc951.txt

□DHCP:RFC2131
http://www.ietf.org/rfc/rfc2131.txt

□DHCPオプション:RFC2132
http://www.ietf.org/rfc/rfc2132.txt

 

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: