【基礎】DHCPの仕組みを知る | 若手エンジニアのブログ

若手エンジニアのブログ

文系出身の若手女子エンジニアによる技術ブログ。
日々の経験や学びをアウトプットするためにブログを書いています。
バックエンド(Java+SpringFramework)を経てインフラエンジニアになりました。
今は育休中につき、本で勉強したことを中心にアウトプットしています。

仕事でDHCP機能をLinuxサーバに入れることになったけど、

「IP割り当てしてくれるモノ」という以上の知識がない…。

 

ので。

 

DHCPについて詳しく調べてみたい。

(どうでもいいけど、DHCPって聞いたら、化粧品とかサプリメントのDHCをどうしても思い出してしまう…w)

 

1.DHCPとは?

2.DHCPの仕組み(IPアドレス決定までの流れ)

3.DHCPの利用メリット・デメリット

 ・メリット

 ・デメリット

参考サイト

 

1.DHCPとは?

DHCP(Dynamic Host Configration Protocol)の略。

ネットワーク通信を行うために必要な情報を、各機器が取得するためのプロトコル。

 

通信を行うための情報とは、自身に割り当てられるIPアドレスだけでなく、

IPアドレスのサブネットマスク、デフォルトゲートウェイや、DNSサーバの情報なども含む。

 

2.DHCPの仕組み(IPアドレス決定までの流れ)

DHCPは、クライアント-サーバ方式で成り立っている。

ネットワーク通信のための情報を提供する側が「DHCPサーバ」、

情報を提供される側(ネットワークにつなぎたい機器)が「DHCPクライアント」となる。

 

ここで、DHCPクライアントがIPアドレスを取得するまでの流れを説明する。

 

①DHCPクライアントが、DHCP Discoverというメッセージをブロードキャストする。

 

分かりやすく言うと、

DHCPクライアントは、同一ネットワーク内に属するすべての機器に対し、

「あなたはDHCPサーバさんですかー??IP割り当ててほしいんですけどー」と尋ねる。

 

DHCPクライアントは、最初の段階で自分のIPは割り振られていないし、

そもそもIPを割り振ってくれるDHCPサーバの所在(IP)も知らない。

従って、まずはサーバの所在を確認するところから始まるのである。

 

なお、同一ネットワーク内の全ての機器に対して通信することを、ブロードキャスト通信と呼ぶ。

 

 

②DHCPクライアントからのDHCP Discoverに対し、DHCPサーバは、

 提案IPを含めてDHCP Offerを返す。

 

要は、①でクライアントから来た要求に対し、DHCPサーバが応答するということ。

提案IPとは、「あんたにこのIPアドレス割り振ろうと思ってるけど、どう?」というもの。

文字通り提案されたIPアドレスである。

 

ちなみに、もしDHCPサーバが同一ネットワーク内に複数あった場合、各DHCPサーバが応答する。その場合、DHCPサーバは、複数の応答を受信することになる。

 

 

③DHCPサーバからのDHCP Offerに対し、DHCPクライアントは、

 IPアドレスの正式払い出しを求めて、DHCP Requestをブロードキャストする。

 

②で、DHCPサーバからの応答(DHCP Offer)には、提案IPが含まれると書いた。

DHCPクライアントは、この提案されたIPアドレスを、「正式に俺のIPとして使わせてくれ」という返事を行うのが、③である。

 

返事を、DHCPサーバ単体に送るのではなく、全体宛にブロードキャスト通信しているのがミソ。

DHCPサーバが複数存在することもあるため、

「俺はこのIPを使うぜ」というのを、他のDHCPサーバ含めて全体通知する仕組みとなっている。

 

 

④DHCPサーバは、DHCPクライアントからのDHCP Requestに応え、

 IPアドレスを正式に承認する。(DHCP Ack)

 

最後に、DHCPサーバが、「OK、あんたはこのIPアドレスで決定!」という承認を行い、

IPアドレスの正式な割り当てが完了する。

 

ちなみに、万一そのIPアドレスの割り当てが出来ない事態となった場合は、

不承認としてDHCP Nakが送られる。

もしDHCP Nakが返された場合、DHCPクライアントは、①のDHCP Discoverからもう一度やり直すことになる。

 

■DHCPの利用メリット・デメリット

◎メリット

・機器のNW追加時に、いちいち手作業でIPアドレスを割り当てる手間がなくなる
・登録済以外の機器がNW接続しようとしても、IPアドレスを割り当てないため、セキュリティ対策になる
・使用中の機器に動的にIPアドレスを割り当てるため、IPアドレスの無駄遣い防止になる

 

◎デメリット

・DHCPサーバ障害発生時、DHCPに登録した機器全般のNW接続もできなくなる。。。
・IPアドレス付与のためのDHCPと機器間の通信が発生するため、各機器に静的にIPアドレスを手動付与する時に比べNWへの負荷がかかる。

 

 

参考サイト

cman.jp/network/term/dhcp/

https://www.ccjc-net.or.jp/~kouza/199805/dhcp1.html

https://www.itbook.info/study/dhcp7.html

 

仕組みはざっと理解できた!

けど、実際に構築するとなると、もっと深く学ばねば…(´・ω・`)