BETA

初心者くんDHCPサーバを知る

投稿日:2020-09-15
最終更新:2020-09-15

DHCPサーバさんとは

 今回はDHCPサーバについて振り返っていきたいと思います。DHCPサーバさんとはクライアント側にIPアドレスを割り振ってくれるサーバさんです。このサーバさんのおかげで人間がわざわざ手動でポチポチとタイピングしなくても重複がないようにウマーい具合に設定してくれます。やり取りをセリフにしてみると以下のような感じになります。

PC「ネットサーフィンがしたいからIPアドレスちょーだいよ!」

DHCPサーバさん「ふむ。ならばこれを使うといいでしょう」

PC「ありがとう!確かに192.168.○○○.×××を受け取ったよ」

DHCPサーバさん「うむ」

このようなやり取りがクライアント側とサーバ側で行われています。では、もう少し詳しく振り返っていきたいと思います。

DHCPサーバからクライアント側へ

 上記のセリフのやり取りを専門用語っぽく変換していきたいと思います。

PC「ネットサーフィンがしたいからIPアドレスちょーだいよ!」

DHCP Discoverといいます。所属するNWにブロードキャスト通信で 要求を周知します

DHCPサーバさん「ふむ。ならばこれを使うといいでしょう」

DHCP Offerといいます。クライアント側からの要求に対してIPアドレスなどの提案を行います。

PC「ありがとう!確かに192.168.○○○.×××を受け取ったよ」

DHCP Requestといいます。クライアント側は最初に受け取ったIPアドレスについて周知します。

DHCPサーバさん「うむ」

DHCP Ackといいます。クライアント側のIPアドレスの利用について承認をします。

ざっくりとですが上記のように記せます。実際にはDHCPサーバさんはクライアント側にIPアドレスだけではなく、その他の設定情報もクライアント側に提供します。以下に記します。

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

可視化すると分かりやすい

 ここまでDHCPサーバさんとクライアントPCのやり取りについて記してきましたが百聞は一見に如かずということで通信を可視化するソフトウェアで実際にDHCPサーバとクライアントPCがどのようなやり取りをしているか確認してみました(このスクリーンショットをブログにアップロードするのはアウトなのかセーフなのか、もしくはグレーなのか・・・法律に明るくない初心者くんには判断出来なかったので載せていません)。可視化してみると上記のセリフのようにまずクライアントPCからDHCP Discoverの通信が発生します。それを受け取ったDHCPサーバがDHCP Offerの通信を行い、それに対しクライアントPCがDHCP Requestの通信を行います。最後にDHCPサーバが承認を意味するDHCP Ackの通信を行って終了です。

具体的にどんな設定をするの?

 DHCPサーバではIPアドレスなどの情報をクライアント側に提供をしますが任意のIPアドレスのみクライアント側に提供することもできます。Windows Server2012R2では「新しいスコープの設定」で「192.168.1.1から192.168.1.127までクライアント側に割り振りたいな」といった設定が可能です。また「このPCには絶対に192.168.1.128を割り振りたい!」というIPアドレスの変更が望ましくない場合でもスコープの予約が可能なので任意のクライアントに任意のIPアドレスを設定することができます。

冗長化

 DHCPサーバさんも機械ですから「朝出勤したらDHCPサーバがお亡くなりになっていました!」なんてことや「掃除のオバチャンが間違えて電源コードを引っこ抜いた!」なんてことがあるかもしれません。もしそんなことがあればIPアドレスを割り振る作業を手動で行うハメになるかもしれません。そんな面倒な作業は誰でもやりたくはありません。なので「万が一のために備えておこう」と仮にサーバがオシャカになっても何とかなるようにするのです。例えばクライアント側へ割り振れるIPアドレスが100個あったとしたなら「こちらのサーバは60個割り振って、そちらのサーバは40個担当してもらう」ということが可能なわけです。フェールオーバー構成スコープ分割などで実現可能なようです。フェールオーバー構成は初心者くんには厳しかった内容なので分割スコープについて今回は学習しました。

かんそう

 DHCPサーバはWEBサーバやDNSサーバより「何だか地味な役割だなあ」と思ってましたが振り返ってよくよく考えてみると頑張ってくれないと困るサーバだなあと感じます。次回はLinuxについて学習して振り返っていく予定です。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

初心者です。

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう