【初心者向け・図解付き】DHCPサーバーがIPアドレスを割り振ってくれるまでの流れ

#この記事を書いた目的
備忘録として、
新しいPC端末が接続されたときそのPCがIPアドレスを取得するまでの流れを図にして理解を深めるために記載している。

#対象
自分
初心者の方
　→そもそもこんなのあるなんて知らなかった！という意味でも見ておくといいかもです。
　 この記事を読み終わるころには触りだけでも理解できているかもしれません。

#ストーリー仕立てで解説

①ごく普通な環境に

<img width="656" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/cf1666f6-e32f-39da-b765-724207069d4e.png">

②新しいPCがやってきました

<img width="647" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/190506fb-64e0-402b-8c71-953aa63a11b8.png">

③新しいPCは自分が使えるIPアドレスが知りたい様子
 (MACアドレスは出荷時(工場など)で採番される一意なアドレスなので重複しない)

<img width="651" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/0e460056-e1f2-6ac7-9734-f655fddb873d.png">

④しかし、接続したばかりのPCからはどの機械がどこにいるのか？誰がいるのか？も分かりませんのでこのように見えています

<img width="570" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/b6e1ce39-3c92-5b92-9f89-f69a2af573d2.png">

⑤ **ブロードキャスト** という、自分と同じLAN内にある接続された全ての機器に
「俺のMACアドレスはこれだー！」と問い合わせる(一方的に投げます)ことができます。

 赤ん坊もお母さんがどこにいるか分からずとりあえず泣いたらお母さんが構ってくれるみたいなもんですね。(良い例え)

<img width="573" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/5d30108f-30ef-7a51-da76-41485ce7b644.png">

⑥全ての機器にMACアドレスがきますが、当然関係のない機器達はスルーします。
 デフォルトゲートウェイ(略 GW)が反応してくれました。

<img width="574" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/b5a11fe9-ea64-5a5d-ae89-8ba6926b679e.png">

⑦新しいPCはすかさず「どのIPアドレスなら使っていいの！」とGWに聞きます。
 そうするとGWは **DHCPサーバー** に問い合わせてくれます。
 (GWとDHCPサーバーを分けているというていで進めていきますね)

<img width="571" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/09d5a153-4c73-5be4-1240-ec28848f512f.png">

⑧GWが「新しいPCのMACアドレス」をDHCPサーバーに渡すと、
 DHCPサーバーは「そのMACアドレスに使っていいIPアドレスはこれだよ」と返してくれます。これがDHCPサーバーの役割です。

<img width="568" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/5b33ca71-3a34-dcef-47e2-d358425285aa.png">

⑨まずは、右上のDHCPサーバーさんに注目。何かしていますね。
 DHCPサーバーは今回受け取ったMACアドレスと新たに割り振ったIPアドレスを紐づけて記憶するため **ARPテーブル(アープ)** に記録します。これで忘れないので安心ですね。

 同様に、GWもARPテーブルに記録して記憶します。

　そしてGWは
 「DHCPサーバーが割り振ってくれたIPアドレス(使っていいIPアドレス)」
 　　　　　　　　　　　　　　と
 「GW自身のIPアドレス」
  を新しいPCに教えてあげます。

 しかし、新しいPCはGW自身のIPアドレスがどこのIPなのか分かりません。

<img width="651" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/44426019-6e09-7a98-85c0-6a7ae994ea35.png">

⑩なので、もらったけどよく分からないIPアドレスでブロードキャストします。
 (ブロードキャスト覚えてますか？全ての機器に問い合わせることですよ)

 ブロードキャストしたおかげでGWがMACアドレスまで教えてくれました。
 これでGWへ次回からはブロードキャストせずに直接聞きにいけますね。安心、安心。

<img width="569" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/83f0bb05-1a0a-2a0f-5747-d43bbc926a93.png">

⑪忘れないように新しいPCも
「自分のMACアドレス × 割り振られたIPアドレス」
　　　　　　　　　　 と
「GWのMACアドレス × GWのIPアドレス」
 をこちらも同様にARPテーブル記録しておきます。

<img width="574" alt="DHCPサーバーがIPアドレスを割り振るまで" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/491501/f9eca7ea-1e5a-8f35-d226-61fd9704f4bd.png">


#まとめ
これで、IPアドレス取得までの一連の流れを図で紹介しました。

今回はまだLAN内の話。
インターネットに接続すらしていません。
次回は、
外部にアクセスするときに **デフォルトゲートウェイがどんな働きをしているのか** を図で紹介していこう。

次の記事（現在作成中）