クラウド屋さんになりたい

地方でインフラエンジニアやってます。 仮想環境を含めた広義のクラウド屋さんを目指して、勉強したことや思ったことをゆるく書いてみます。 時代や最新技術の流れに置いていかれないよう、のんびりでもコツコツ頑張りたいなあ。

初学者向けにDHCPの仕組みを解説してみる

はじめに

仕事納めが近いということでPCやファイルサーバー内を整理していたところ、僕が入社1年目だったころに記録していたメモが出てきた。ネットワークの基礎に関する内容も含まれていたため、初心に返ってまとめてみようと思います。

今日のトピックス

DHCPの仕組みをまとめてみる。
※本記事には残念ながら図解はありません。ごめんなさい。。

DHCPとは?

  • "Dynamic Host Configuration Protocol"の略称。
  • ネットワークに接続されたIP機器に対して、自動的にIPアドレスを付与するためのプロトコル
  • 一連の動作には、TCPではなくUDP が利用される。

IPアドレス取得までの流れ

  • 登場人物は、DHCPサーバーIP機器(PCをイメージしてもらえたら良いかもしれません)の2つ。
  • NWに接続されたIP機器は、以下の流れでIPアドレスを取得する。

    1. DHCP Discover(通信方向:IP機器 ⇒ DHCPサーバー)
      • IP機器は接続されたNW上で、DHCP Discoverパケットをブロードキャストで送信。

        (IP機器の気持ち:このNW上にDHCPサーバーさんは存在していますか?IPアドレスが欲しいのですが・・・)

    2. DHCP Offer(通信方向:DHCPサーバー ⇒ IP機器)
      • DHCP Discoverパケットを受け取ったDHCPサーバーは、自分自身が持つIPプールから払い出し可能なIPアドレスを選択する。その後、IP機器に対してユニキャストでDHCP Offerパケットを送信。

        DHCPサーバーの気持ち:私はこのIPアドレスを払い出すことができます。いかがでしょうか?)

    3. DHCP Request(通信方向:IP機器 ⇒ DHCPサーバー)
      • DHCP Offerパケットを受け取ったIP機器は、「提案いただいたIPアドレスを使用したいです!」ということを通知するためにブロードキャストでDHCP Requestを送信。

        (IP機器の気持ち:このIPアドレス使用したいです!私にください!)

    4. DHCP Ack(通信方向:DHCPサーバー ⇒ IP機器)
      • DHCP Requestを受け取ったDHCPサーバーは、IPアドレスを使用するために必要な設定情報をユニキャストで送信。

        DHCPサーバーの気持ち:どうぞどうぞ。ご利用ください)
        (IP機器の気持ち:払いだしてくれてありがとうございます!うれしいです!)

※「4.」でブロードキャスト通信になる理由
同セグメント内にDHCPサーバが複数存在する場合があり、その場合DHCP Discoverを受けたDHCPサーバは、IP機器に対して常にIPアドレスを割り当てようとする。 そのため、もうこれを使うことにしましたよ~っていうことを全てのDHCPサーバに伝える必要があるため。

おわりに

今回はNutanixやMS製品から離れて、ネットワークの基礎的な部分に触れてみました。図がないので分かりにくかったかもしれません。
僕個人は何事も基礎部分が大切だと思っているので、今回のような内容をちょくちょく投稿できればと思います。