ITの教科書検索

第5章 アプリケーション層|5-2|コース全体 19本中17本目

入門読了 約8分更新日 2026-09-27

DHCPとは ― IPアドレスを自動で配るしくみ

DHCPとは、端末にIPアドレスなど4つの設定を自動で配る仕組みです。つなぐだけで通信が始まる理由、DORAという4段階のやり取り、リースを更新するタイミングが分かります。

目次
  1. DHCPは4つの設定をまとめて配る
  2. IPアドレスがない端末は、どう話しかけるか
  3. DORA:4段階のやり取り
  4. リース期間と更新
  5. ポート番号とUDP
  6. 固定IPとの使い分け
  7. DHCPの注意点
  8. 練習問題

DHCPは、IPアドレスと一緒に3つの設定も自動で配る

端末をネットワークにつなぐと、多くの場合は何も入力しなくても通信が始まります。これはDHCP(Dynamic Host Configuration Protocol)の働きです。DHCPサーバは、新しく参加した端末に次の4つをまとめて配ります。

  1. 1

    IPアドレス

    この端末自身の住所です。

  2. 2

    サブネットマスク

    住所のうち、どこまでがネットワークを示す部分かの境目です。

  3. 3

    デフォルトゲートウェイ

    外向けの通信を預ける相手です。

  4. 4

    DNSサーバ

    ドメイン名をIPアドレスに変換してくれる相手です。配られるのは、その相手のIPアドレスです。

それぞれの中身は、IPアドレス・サブネットマスク・デフォルトゲートウェイ・DNSの各記事で説明しています。

この4つが揃わなければ、通信できない・外に出られない・ドメイン名でアクセスできない、のいずれかが起こります。DHCPは、この面倒な手動設定を1回のやり取りで済ませる仕組みです。家庭のネットワークでは、多くの場合、自宅ルータがDHCPサーバを兼ねています。

まだIPアドレスがない端末は、どう話しかけるのか

通常の通信では、宛先IPアドレスを指定して1対1で送ります。この送り方をユニキャストと呼びます。しかし、DHCPで最初にやり取りする端末は、まだIPアドレスを持っていません。宛先のDHCPサーバのIPアドレスも分かりません。

この問題を、DHCPはブロードキャストで解決します。ブロードキャストは、同一ネットワーク内の全員に一斉に届ける通信方法です。宛先は、255.255.255.255 にします。住所を持たない端末でも、宛先を名指しせずに「まだ住所がありません。DHCPサーバはいますか」と送り出せます。

255.255.255.255 は、自分のネットワーク全体を指す宛先です。このアドレスを、限定ブロードキャストと呼びます。

サブネットマスクの記事で説明したブロードキャストアドレスは、ネットワークごとに決まります。ホスト部がすべて1のアドレスで、たとえば 192.168.10.255 です。限定ブロードキャストは、自分のネットワーク情報がまだ分かっていなくても使えます。この点で、ネットワークごとのブロードキャストアドレスとは使う場面が違います。

宛先の種類による届く範囲の違いは、ユニキャスト・ブロードキャスト・マルチキャストの記事にまとめています。

DORA:4段階のやり取りでIPアドレスが決まる

DHCPでIPアドレスが決まるまでには、4つのメッセージをやり取りします。順に、DISCOVER、OFFER、REQUEST、ACKです。この流れを、4つのメッセージの頭文字を取ってDORAと呼びます。

DISCOVERとREQUESTは、必ずブロードキャストです。OFFERとACKは、端末側の実装しだいで、ブロードキャストになる場合とユニキャストになる場合があります。

実線=必ずブロードキャスト/点線=実装によりブロードキャストかユニキャスト端末(0.0.0.0)DHCPサーバ(67番で待受)1. DISCOVER(誰かIPをくれ)宛先 255.255.255.255:672. OFFER(この番号でどうか)ブロードキャスト or ユニキャスト3. REQUEST(その番号をください)宛先 255.255.255.255:674. ACK(確定しました)ブロードキャスト or ユニキャスト
DORAの4段階は、DISCOVER、OFFER、REQUEST、ACKの順に進みます。このうち端末が送るDISCOVERとREQUESTは、必ず宛先255.255.255.255へのブロードキャストで送られます。端末は、まだ自分のIPアドレスもDHCPサーバのIPアドレスも分からないためです。一方、サーバが返すOFFERとACKは、端末が立てるBROADCASTフラグしだいで、ブロードキャストにもユニキャストにもなります。フラグを立てるかどうかは、端末の実装によって異なります。macOS・Linuxの標準的なクライアントは、通常このフラグを立てません。

① DISCOVER:端末がDHCPサーバを探す

端末は、「DHCPサーバはいませんか、IPアドレスをください」という要求をブロードキャストします。自分のIPアドレスがまだないため、送信元は 0.0.0.0 のままです。

② OFFER:サーバが候補を提案する

DISCOVERを受け取ったDHCPサーバは、割り当て候補のIPアドレスをOFFERで返します。OFFERには、サブネットマスク・デフォルトゲートウェイ・DNSサーバ・リース期間もまとめて入れます。

DISCOVERメッセージには、応答をブロードキャストで欲しいかどうかを示す印があります。この印をBROADCASTフラグと呼びます。端末がこのフラグを立てていれば、サーバはブロードキャストで返します。立てていなければ、端末のMACアドレス宛にユニキャストで返します。

このフラグを立てるかどうかは、端末の実装によって異なります。macOSやLinuxの標準的なDHCPクライアントは、通常は立てません。同じネットワークにDHCPサーバが複数あれば、それぞれが別々のOFFERを返すことがあります。

③ REQUEST:端末がどれか1つを選ぶ

端末は、届いたOFFERの中から1つを選びます。そして、「このIPアドレスをください」というREQUESTを送ります。OFFERとは違い、このREQUESTは常にブロードキャストです。

選んだサーバにだけユニキャストで伝えないのには、理由があります。他にOFFERを出した別のDHCPサーバにも、「あなたの提案は選ばれませんでした」と伝えるためです。そのサーバは、提案していたIPアドレスを解放し、他の端末に割り当てられるようにします。

④ ACK:選ばれたサーバが確定を返す

REQUESTで選ばれたDHCPサーバは、ACKを返します。ACKは、そのIPアドレスの割り当てを確定する知らせです。ACKもOFFERと同じく、端末のBROADCASTフラグの立て方しだいで、ブロードキャストかユニキャストかが決まります。

端末はACKを受け取って初めて、通知された4つの設定を自分に反映します。

リースには期限があり、定期的に更新する

DHCPで配られたIPアドレスは、永久に使えるわけではありません。期限つきで貸し出す形で割り当てられます。この貸し出しをリースと呼びます。期限が切れる前に、端末はサーバに更新を申し出ます。

更新を試みるタイミングは、リース期間の50%が経過した時点です。この時点をT1と呼びます。たとえばリース期間が8時間なら、4時間経過した時点で最初の更新を試みます。

この更新のREQUESTは、リースを出したDHCPサーバに直接ユニキャストで送られます。DORAの最初のREQUESTとは違います。端末はすでにIPアドレスを持ち、相手のサーバも分かっているためです。

更新が成功すると、リース期間はその時点から数え直しになります。

T1でのユニキャストによる更新に、応答がない場合もあります。そのとき、端末はそのまま待つわけではありません。リース期間の87.5%が経過した時点で、もう一度更新を試みます。この時点をT2と呼びます。

T2では、特定のサーバを指定せず、ブロードキャストで更新を試みます。同じネットワークにいる別のDHCPサーバでも、応答できるようにするためです。

T1で更新成功 → 0%にリセットT2で更新成功 → 0%にリセット更新を試みる(T1・50%・ユニキャスト)再度更新を試みる(T2・87.5%・ブロードキャスト)更新できず失効→ DISCOVERへ0%50%87.5%100%取得直後
リース期間の50%が経過した時点がT1です。T1で、端末はリースを出したサーバへ直接ユニキャストで更新を試みます。成功すれば、そこでリース期間は0%から数え直しになります。応答がなければ、87.5%が経過した時点のT2で、今度は特定のサーバを指定せずブロードキャストで更新を試みます。こちらが成功した場合も、同じく0%にリセットされます。どちらも成功しないまま100%に達すると、リースは失効します。端末は、最初のDISCOVERからやり直します。

T2でも更新できないまま、リース期間が満了することもあります。そうなると、そのIPアドレスは失効します。端末は最初のDISCOVERからやり直し、新しくIPアドレスを取得します。

DHCPはUDPを使い、ポート67と68を使い分ける

DHCPは、コネクションを確立しないUDPでやり取りします。宛先IPアドレスがそもそも決まっていない以上、TCPのようにコネクションを結んでから話す方式は使えません。ポート番号は役割ごとに固定です。

役割ポート番号
DHCPサーバ67
DHCPクライアント68

DISCOVERとREQUESTは宛先67番、OFFERとACKは宛先68番です。サーバ側が常に67番、クライアント側が常に68番を使います。

固定IPとDHCP、どちらを使うか

サーバやプリンタ、ルータ・スイッチ自身などは、他の機器から名指しでアクセスされます。こうした機器は、IPアドレスが変わると困ります。そこで、固定IPを手動で設定します。

一方、PCやスマートフォンなどは、自分からアクセスする側の機器です。IPアドレスが多少変わっても困りません。DHCPに任せたほうが、設定の手間が省け、IPアドレスが重複する事故も防げます。

機器の例向いている設定
サーバ、ファイルサーバ固定IP
プリンタ、ルータ・スイッチ自身固定IP
PC、スマートフォン、タブレットDHCP(自動)

手動で設定せずに、DHCPで同じアドレスを毎回配る方法もあります。この方法と手動の設定の違いは、固定IPアドレスの記事で比べています。

DHCPの注意点

ブロードキャストはルータを越えない

IPアドレスを取得するときのDORAでは、DISCOVERとREQUESTは必ずブロードキャストです。ブロードキャストは、同一ネットワーク内にしか届きません。ルータを越えて、別のネットワークに転送されることはありません。

そのため、DHCPサーバが別のネットワークにしかない場合、端末のDISCOVERはそのままでは届きません。この場合は、ルータなどにブロードキャストを代理で中継させます。この仕組みをDHCPリレーエージェントと呼びます。

DHCPサーバが見つからないとどうなるか

DISCOVERを送っても、一定時間OFFERが返ってこないことがあります。その場合、OSは169.254.0.0/16の範囲で、暫定的なアドレスを自分で割り当てます。このアドレスをAPIPAと呼びます。IPアドレスの構造にも出てきます。

このアドレスが付いているのは、DHCPサーバとの通信に失敗した証拠です。正常なDHCPでの割り当てではありません。

IPv6での自動設定

ここまでのDHCPは、IPv4のものです。IPv6には、似た働きをするDHCPv6があります。ほかに、DHCPサーバなしで端末自身がアドレスを組み立てる仕組みもあり、SLAACと呼びます。どちらもIPv6の記事で説明しています。

不正なDHCPサーバが混ざるとどうなるか

DORAのやり取りには、応答してきた相手が正規のDHCPサーバかどうかを確かめる仕組みがありません。端末は、届いたOFFERの送り主が正規のサーバかどうかを区別できません。同じLANに攻撃者が用意した不正なDHCPサーバが混ざると、端末がそちらのOFFERを選んでしまうことがあります。スイッチ側でこれを防ぐ仕組みが、DHCPスヌーピングです。

練習問題(全5問)

Q1DHCPが端末に自動で配る情報の組み合わせとして正しいものは?
Q2DHCPのDORAの正しい順序は?
Q3DHCPDISCOVERの宛先IPアドレスとして正しいものは?
Q4DHCPサーバが待ち受けるUDPポート番号は?
Q5DHCPのリース更新について正しい記述は?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

おすすめの本 PR

ネットワークを初めて学ぶ人向けの入門書です。

目的別の本の選び方を見る

入門コースを読み進める

入門コース 全19本中17本目