LoginSignup
53
33

More than 5 years have passed since last update.

DHCPの仕組み

Last updated at Posted at 2017-08-27

DHCPとは

  • Dynamic Host Configuration Protocol
  • L7(アプリケーション層)プロトコル
  • 構成要素
    • DHCPサーバ:クライアントにIPアドレスを割り当てる。Windowsサーバ/Linuxサーバ/ルータに構築。
    • DHCPクライアント:IPアドレスを割り当てられる端末。
  • DHCPサーバ向けのパケットはUDP:67で、DHCPクライアント向けのパケットは、UDP:68を使用。

DHCPの仕組み

  • IPアドレスをクライアントに割り当てるまでの流れ(同一セグメントにクライアントとサーバがある場合)
  1. DHCP Discover
    • クライアントからブロードキャストでDHCP Discoveryメッセージを送信し、ネットワーク全体に問い合わせる
      • そのときのパケットの中身
送信元MACアドレス 宛先MACアドレス 送信元IPアドレス 宛先IPアドレス 送信元ポート 宛先ポート DHCPメッセージ
クライアントのMACアドレス FF:FF:FF:FF:FF:FF 0.0.0.0 255.255.255.255 68 67 DHCP Discover
  1. DHCP Offer
    • サーバ側でアドレスプールから割り当てるIPアドレスを選択し送信。
    • そのときのパケットの中身
送信元MACアドレス 宛先MACアドレス 送信元IPアドレス 宛先IPアドレス 送信元ポート 宛先ポート DHCPメッセージ
サーバのMACアドレス FF:FF:FF:FF:FF:FF or クライアントのMACアドレス サーバのIPアドレス 255.255.255.255 67 68 DHCP Offer + 割り当てるDHCPクライアントのIPアドレス + DHCPサーバのIPアドレス
  1. DHCP Request
    • クライアントは割り当てられたIPを使用する通知をブロードキャストで送信。まだこの時点では設定情報がなく、割り当てられていない。
    • そのときのパケットの中身
送信元MACアドレス 宛先MACアドレス 送信元IPアドレス 宛先IPアドレス 送信元ポート 宛先ポート DHCPメッセージ
クライアントのMACアドレス FF:FF:FF:FF:FF:FF 0.0.0.0 255.255.255.255 68 67 DHCP Request + 割り当てるDHCPクライアントのIPアドレス + DHCPサーバのIPアドレス
  1. DHCP Ack
    • サーバが割り当てるIPアドレスの情報をクライアントに送信。
    • そのときのパケットの中身
送信元MACアドレス 宛先MACアドレス 送信元IPアドレス 宛先IPアドレス 送信元ポート 宛先ポート DHCPメッセージ
サーバのMACアドレス FF:FF:FF:FF:FF:FF or クライアントのMACアドレス サーバのIPアドレス 255.255.255.255 67 68 DHCP Ack + DHCPクライアントのIPアドレス + Gatewayやsubnetなどの情報
  • ※DHCP Offer/DHCP Ackはブロードキャストもしくはユニキャストで送信される。DHCP Discovery内のブロードキャストフラグ次第でどちらかに決まる。

  • IPアドレスのリース更新の流れ

    1. DHCP Request
      • クライアントがサーバにリース期限更新のリクエストを送る
    2. DHCP Ack
      • サーバがクライアントに要求を許可するメッセージを送信する。
  • IPアドレスの解放までの流れ

    1. DHCP Release
      • クライアントがサーバにリリース依頼のリクエストを送信。

なぜDHCPクライアントがDHCP Offerの情報をそのまま使わないのか?

  • DHCPサーバがネットワーク上に複数台存在する場合があり、その際に他のすべてのDHCPサーバにどのDHCPサーバからの設定情報を使用するか通知する必要があるため、DHCP Requestによってブロードキャストで送信し、通知している

DHCPリレーエージェント

  • L2を超えた先にDHCPサーバが存在する場合(=ルータの先にDHCPサーバが存在する場合)、DHCPリレーエージェントを設置する必要あり
  • ブロードキャスト通信は、ルータ(L3)を越えられない(ルータがパケットを破棄する)ため。
  • DHCPリレーエージェントとは?
    • ルータがリレーエージェントになることが多いが、サーバにソフトウェアを入れて構築することも可能
    • DHCPクライアントが送信したDHCP Discovery/OfferパケットなどのブロードキャストパケットをユニキャストでDHCPサーバに転送する役割
    • その後、DHCPサーバはDHCPリレーエージェントにユニキャストで応答し、DHCPリレーエージェントは、ブロードキャストでDHCPクライアントに送信する
53
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
53
33