DHCPの概要

DHCPは、ネットワークに接続された端末に対して、IPアドレスやサブネットマスク、デフォルトゲートウェイ、DNSサーバなどのネットワーク設定情報を自動的に割り当てるためのプロトコルです。

管理者や利用者が手動で各端末に設定を行う必要がなくなり、効率的でミスの少ないネットワーク運用が可能になります。特に、端末の増減が多い環境や大規模なネットワークにおいて有効です。

DHCPのパケット

DHCPでは、IPアドレスを自動的に割り当てるために複数のパケットが順にやり取りされます。

STEP1
DHCP DISCOVER(発見パケット)

PCが利用可能なアドレスを探すためにDHCP DISCOVERをブロードキャストで送信します。

STEP2
DHCP OFFER(提案パケット)

サーバは候補となるアドレスを提示するDHCP OFFERをブロードキャスト又はユニキャストで返します。

DISCOVERパケットの「flagsフィールド」のブロードキャストフラグが「1」ならブロードキャスト、「0」ならユニキャストで送信します。

STEP3
DHCP REQUEST(要求パケット)

提示された中から利用するアドレスを要求するために、サーバに対してDHCP REQUESTをブロードキャストで送信します。

STEP4
DHCP ACK

サーバが要求を承認するDHCP ACKを返すことで、IPアドレスの割り当てが完了します。

DISCOVERパケットの「flagsフィールド」のブロードキャストフラグが「1」ならブロードキャスト、「0」ならユニキャストで送信します。

DHCPの規格では以上で終了ですが、割り当てられたアドレスがネットワーク上で重複していないかを確認するために、OSはGARP(Gratuitous ARP)を送信します。これにより同一セグメント内でのアドレス競合を検出できます。

DHCPでは、DISCOVER、OFFER、REQUEST、ACKの4つのパケットが利用される

DHCPリレーエージェント

DHCPサーバは通常、同一ネットワークセグメント内のクライアントにしか応答できません。なるセグメントにあるクライアントがDHCPを利用するためには、リレーエージェントが必要です。

STEP1
DHCP DISCOVERの送信

クライアントが送信したDHCP Discoverはリレーエージェントが受信します。

STEP2
リレーエージェントによる転送

リレーエージェントは、自身が受信したインタフェースのIPアドレスをgiaddr(Gateway IP Address)フィールドに設定し、DHCPサーバに転送します。

STEP3
giaddrによるIPアドレスの選択

DHCPサーバはgiaddrを参照して適切なアドレスを選び、DHCP OFFERをリレーエージェントに返します

STEP4
リレーエージェントによる転送

リレーエージェントは、DHCP OFFERをクライアントに中継します

DHCPリレーエージェントを利用することで複数のネットワークをまとめて管理できる