# DHCP
## 概要
ネットワーク上のデバイスに対して必要な設定情報(IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバのアドレスなど)を自動的に割り当てる通信プロトコル。*Dynamic Host Configuration Protocol*の頭字語。
## 詳細
### DHCPの基本的な動作
ネットワークに新たなノード(**DHCPクライアント**)が接続されたとき、以下のような手順で自動的に設定情報が送信され、DHCPクライアントのネットワーク設定が行われる:
1. ネットワークに接続されたDHCPクライアントがIPアドレスの割り当てを要求するために**DHCP発見(DHCPDISCOVER)パケット**をブロードキャストする。
2. DHCPサーバがこの要求を受け取り、IPアドレスプールから利用可能なIPアドレスを選択、それを含む**DHCP提供(DHCPOFFER)パケット**をDHCPクライアントに送信する。
3. DHCPクライアントは受け取ったオファーを読み取り、そのIPアドレスを正式に要求する**DHCP要求(DHCPREQUEST)パケット**をブロードキャストする。
4. DHCPサーバは要求されたIPアドレスの割り当てを確認し、その情報を含む**DHCP確認応答(DHCPACK)パケット**をDHCPクライアントに送信し、IPアドレスの割り当てプロセスを完了する。
以上の流れを指してサーバ探索(Discovery)、IPリース提示(Offer)、IPリース要求(Request)、IPリース確認(Acknowledgement)の頭文字をとって**DORA**と呼ばれることがある。
## 関連ノート
- [[📘『マスタリングTCP/IP 入門編』]]
- [[📘『Pythonで動かしながら学ぶコンピュータネットワーク』]]
## 関連リンク
- [DHCP - Wikipedia](https://ja.wikipedia.org/wiki/DHCP)