仕事でDHCP機能をLinuxサーバに入れることになったけど、
「IP割り当てしてくれるモノ」という以上の知識がない…。
ので。
DHCPについて詳しく調べてみたい。
(どうでもいいけど、DHCPって聞いたら、化粧品とかサプリメントのDHCをどうしても思い出してしまう…w)
1.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への負荷がかかる。
参考サイト
https://www.ccjc-net.or.jp/~kouza/199805/dhcp1.html
https://www.itbook.info/study/dhcp7.html
仕組みはざっと理解できた!
けど、実際に構築するとなると、もっと深く学ばねば…(´・ω・`)