DHCP

DHCPとは?初心者のために仕組みを分かりやすく解説

こんにちは、インフラエンジニアのryuです。

今回の記事は、DHCPサーバーの仕組みを解説します。DHCPサーバーとはIPアドレスなどを配布するサーバーです。DHCPサーバーによって、IPアドレスなど、通信に必要な設定をしなくてもPCがインターネットに接続できるようになります。DHCPサーバーの仕組みを初心者の方でも分かりやすく解説します。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

DHCPサーバーとは?仕組みをわかりやすく解説

DHCPサーバーって何?

「DHCPサーバーって何?」と思っている初心者の方に、DHCPの仕組みを解説したいと思います。

DHCPサーバーとは、PCにIPアドレスなど通信に必要な情報を自動で割り当てるサーバーのことです。

通信に必要な情報???

wifiに接続すると、インターネットを見れますよね?インターネットに接続するために必要な情報です!

今回の記事では、初心者の方がDHCPサーバーの仕組みが理解できるように、現役インフラエンジニアの私が徹底解説します!

今回の記事を読むと以下の内容が理解できるようになります。

  • 通信に必要な情報とは?
  • DHCPサーバーは何をしている?
  • DHCPサーバーの仕組み(エンジニア向け)

では、やっていきましょう!

通信に必要な情報とは?【DHCPを理解するための前提知識】

まず、PCがインターネットに接続するために必要な設定は何か分かりますか?

うーん、IPアドレスとか?

まず、ネットワークの基礎知識のおさらいをしましょう。DHCPを理解するための前提知識です。

PCがインターネットに接続するためには、以下の情報が必要です。

  • IPアドレス
  • サブネットマスク
  • デフォルトゲートウェイ

では、なぜこの情報が必要か説明できますか?

うーん・・・ 分からない・・・

おさらいのため、簡単に説明します。

  • IPアドレス → PCの住所 通信するために必要
  • サブネットマスク → ネットワークを識別
  • デフォルトゲートウェイ → 知らないネットワークに通信するときの窓口

PCが通信をするときにデータを送信する宛先と返事を受け取るための送信元の住所が必要です。それがIPアドレスです。

サブネットマスクはネットワークの規模を表すものでネットワークを識別します。

そして、インターネット上にある場所が分からないサーバーに通信するためには、窓口となるデフォルトゲートウェイに一旦通信をして、デフォルトゲートウェイが適切な経路に通信します。

IPアドレスなどが、まだ良く分からないという方は、こちらの記事も参考にしてください。

では、自分が使用しているPCやスマホはこれらの設定をしていますか?おそらくほとんどの人は意識せずに使っています。

では、なぜインターネットに接続するために必要な設定をしなくてもインターネットに接続できているのでしょうか?

その答えをこれから解説していきます!

なぜDHCPサーバーが必要?

突然ですが、PCやスマホをインターネットに接続したいとき何をしますか?

スマホのwifi設定をいじりますよね?

Wifiに接続するだけでなぜ、インターネットに接続できるようになるのでしょうか

その答えはDHCPサーバーがインターネットに必要な情報をPCやスマホに登録してくれるからです。

DHCPとは、インターネットなどのネットワークに一時的に接続するコンピュータに、IPアドレスなど必要な情報を自動的に割り当てるプロトコル

(IT用語辞典より)

なんとなくわかったけど、イメージがわかない・・・

DHCPサーバの動作のイメージはこのようになります。

DHCP動作の仕組み

使用者はWifiに接続すると、DHCPサーバーにIPアドレスなどの情報を要求します。そして、DHCPサーバーは情報を端末に割り当てます

これらの動作を詳しく解説します。

DHCPサーバ-の仕組み

クライアント(PCやスマホのこと)がDHCPサーバーからIPアドレスなどを取得するために、DHCPサーバーと様々なやり取りを行います。

DHCPサーバーとPCのやり取りは以下の通りです。ここは重要な部分なので思えておきましょう!

では、クライアントとDHCPサーバーのやり取りを順番に解説します。

1.DHCPサーバーを発見するDHCP Discover

クライアントがネットワークに接続するとIPアドレスなどを取得するために、DHPサーバを探します。

どのように探すかというとDHCP Discoverパケットをブロードキャストで同じネットーワークにいる全ての機器にメッセージを投げます。

ブロードキャストとは同じネットワークにいる機器全てに通信する方法です。

DHCP Discoverは違うネットワークには届かないというところも重要です。

DHCP Discoverの仕組み

2.DHCPからの応答 DHCP Offer

DHCP Discoverのパケットを受け取ったDHCPサーバはクライアントに対して、

このIPアドレス使えますよ!という提案“DHCP Offer”を返します。

DHCP Offerはユニキャスト通信でクライアントとDHCPサーバが1対1で通信を行います。

DHCP Offerの仕組み

3.提案されたIPアドレスをもらうDHCP Request

クライアントはDHCPサーバからDHCP Offerで提案されたIPアドレスを使います!とDHCPサーバに要求します。

これがDHCP Requestです。

DHCP RequestもDHCP Discover同様ブロードキャストでメッセージを送信します。

DHCP Requestの仕組み

4.IPアドレスなどの設定情報を送るDHCP Ack

クライアントからDHCP Requestを受け取ったDHCPサーバはIPアドレスなどの設定情報をクライアントに送信します。これがDHCP Ackです。

DHCP Ackはユニキャストでクライアントと1対1で通信が行われます。

DHCP Ackが最後のやり取りです。

DHCP Ackの仕組み

ここまでがDHCPサーバーの動作になります

違うネットワークにDHCPサーバーがいる場合は?

DHCPサーバーが違うネットワークにいる場合、通常はIPアドレスが取得できません。

なぜか分かりますか?

答えはDHCP Discoverがブロードキャストで送信されるため、同じネットワークにいるDHCPサーバにしか届かないからです。

DHCPリレーエージェントとは?

では、どうすればよいのか。その答えがDHCPリレーエージェントです。DHCPリレーエージェントとは、別ネットワークにあるDHCPサーバーへパケットを中継する機能です。

ルータやL3SWに違うネットワークにいるDHCPサーバを登録し、DHCP Discoverを中継します。

ciscoのネットワーク機器の場合、ip helper-addressというコマンドで設定できます。

DHCPリレーエージェントをわかりやすく図解

DHCPリレーエージェントを分かりやすく図解すると以下のようになります。

DHCPリレーの設定

ルーターやLinuxサーバーなどがリレーエージェントとなり、DHCPサーバーへパケットを中継します。IPアドレスを取得するための、『DHCP DISCOVER』は同一ネットワーク内にしか届かないからです。

DHCPリレーについては、こちらの記事で詳しく解説しています。

DHCPリレーとは?DHCPリレーの設定方法などを詳しく解説【LinuxとRouterで設定】

DHCPサーバー仕組みまとめ

今回の記事ではDHCPサーバーの仕組みと動作について解説しました。

今回の記事のポイントは以下の通りです。

  • DHCPサーバーとはクライアントに通信に必要な情報を割り当てる
  • DHCPサーバーとクライアントのやり取り
  • 違うNWのDHCPサーバーと通信する場合はリレーエージェント

DHCPなどTCP/IPの知識はエンジニアとして必須知識なので、知らないと現場で使えないエンジニアになってしまいます。必ず勉強しておきましょう!

次回の記事ではLinuxサーバーでDHCPサーバーを構築します!

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST