はじめに
今回は、『DHCPサーバー』について解説していきます。
では、『DHCPサーバー』とはどのようなものなのでしょう?
結論から言えば、クライアントの機器に『IPアドレスを割り振るための』サーバーです。
『DHCPサーバー』が生まれた背景
インターネットでも社内ネットワークでも、それを利用する機器には必ず住所となる『IPアドレス』が必要になります。
なぜなら、IPアドレスがなければその機器の住所が分からないからです。
住所が分からなければ目的の作業はできず(たどり着けず)、これではネットワークとは呼べません。
そこでIPアドレスを各機器に設定することが必要になります。
ちなみにこの作業は基本的には人の手でも可能なのですが、それはPC数台などの少ない数の場合であり、中から大規模ネットワークの場合はかなり大変なことになります。
PCやネットワークにつなぐ機器をそれぞれ設定しなければならないので、その分の手間と時間はかさみ、更には管理も必要になってくるからです。
そこで、その手間を解消するために『DHCP(Dynamic Host Configuration Protocol)』サーバーというものが生まれました。
この『DHCPサーバー』は、IPアドレスを各機器に自動的に『貸し出す』という便利なことをしてくれるサーバーです。
『DHCPサーバー』の便利さとは?
今更ですが、そもそも『DHCPサーバー』という名をあまり聞きませんよね。
それも当然です。
普段からIPアドレスを自分自身で設定することはありませんし、またネットに繋ぐにも意識することなく自動的に繋がれてしまっていますからね。
私たちが何もせずとも『DHCPサーバー』がいつの間にか勝手にやってくれているので、その存在を知る由はあまりないのです。
しかし、その存在には非常に助かります。
例えば、スマホを『WiFi』で利用する場合が当てはまります。
家庭で『Wifi』を利用し、行き先でその場所の『WiFi』を利用する場合、最初だけIDとパスワードを設定すれば大抵繋がりますよね?
その際に、IPアドレスの設定というものはおそらくしたことがないと思います。
つまり、ここで『DHCPサーバー』が活躍してくれていて、代わりにその設定をやってくれているというわけです。
知らない間に便利なことをしてくれていますよね〜。
でもここであなたは『そんなサーバー家にはないよ?』と思ったかもしれません。
そうなんです。
実は『DHCP』もサービスの1つであるので、物理的なサーバーが必須というわけではありません。
DHCPサービスが利用できる機器さえあればよく、現在それを請け負っているのは、今や家庭にでもどこにでもある『ルーター』という機器がおこなってくれています。
『DHCPサーバー』がおこなっている複雑なやりとり
では、『DHCPサーバー』は実際にどのようなことをしているのでしょう?
DHCPサーバーは、クライアントに『IPアドレス』、『サブネットマスク』、『デフォルトゲートウェイのIPアドレス』、『DNSサーバーのIPアドレス』などを自動的に渡しています。
そして、クライアント側のOSには元々DHCPサービスを利用するためのソフトが搭載されているので、ユーザーが『DHCPサービスを利用』と設定さえすればそれだけで完了になります。
スマホなんかだと、標準でDHCPの設定になっていたりするので、特にそれすら気にせずに使えるようになっています。
では実際に、初めてネットワークに繋いだ機器が、どのようにDHCPサービスを受けているかを見ていきましょう。
まず、使用する機器には『MACアドレス』という、ネットワークにつながるための固有の『物理アドレス』を持っています。(詳細は別記事で)
そしてネットワークに繋いだ機器は、このMACアドレスを含めた『DHCP Discover』というリクエストを、同じネットワーク内にある全機器に『ブロードキャスト』という一斉送信を使って先におこないます。
ここでのリクエストのイメージは、『DHCPサーバーいませんか?』とか『IPアドレスください』という感じです。
その『DHCP Discover』を『DHCPサーバー』が見つけると、DHCPサーバーは確保しているIPアドレスの1つを、送られてきたMACアドレスの機器宛に返します。
『ハイ、ここにいるよー。このIPアドレス使ってー』という感じです。
これを『DHCP Offer』と呼びます。
DHCP Offerを受け取った機器は、そのIPアドレスが重複していないかどうかをチェックし、問題がなければ『これ使わせてー』と『DHCP Request』という要求を『DHCPサーバー』に送ります。
これを受けた『DHCPサーバー』が見事『いいよー』と承認すれば、それ以降はその与えられたIPアドレスが『その機器のIPアドレス』として使えることになります。
このDHCPサーバーの承認のことを『DHCP ACK(Acknowlegement)』と呼びます。
仮に、『DHCP ACK』の承認がされない場合は最初からやり直しになります。
このような感じで、DHCPサービスは人に代わって面倒なことを請け負ってくれているわけです。
DHCPサービスのIPアドレスには使用期間がある!
このようにDHCPサーバーはIPアドレスを自動的に割り振ってくれるわけですが、1つだけ覚えておいた方がいいことがあります。
『DHCPサーバー』からIPアドレスを割り振ってもらっても、ある一定期間その機器の電源を切っていたりすると、いつの間にか割り振られていたIPアドレスが使えなくなっていることがあります。
これは、DHCPサーバーのIPアドレスには『リース期間』というものが設定されているためです。
IPアドレスの『リース期間』は、基本的に機器の方で『DHCP Request』で更新することになるのですが、電源を切っているとこのリクエストができないことになります。
そうなると、DHCPサーバーも『そのIPアドレスを使っていないなら返してね』となってしまうので、電源を付け直した機器は再度『DHCP Discover』から始めることになります。
すると繋げ直した場合のIPアドレスは変更されてしまうため、IPアドレスを固定したい機器やサーバーがある場合はあらかじめ手動で設定しておく必要があります。
こういったIPアドレスが変更になることを『動的IPアドレス』と呼びます。
まとめ
『DHCPサーバー』と『DHCPサービス』について、何となく掴めたでしょうか?
ネットワークに繋ぐ機器には必ずIPアドレスを振らなければならないため、このようなサービスが必要になるのですね。
ほんと便利で助かります。