こんにちは、ゆうじんです。
最近の子供たちは、小さい子供でもスマホやタブレットを自在に使いこなしており、非常に驚かされます。しかし、私の周りの子供たちはパソコンを使う機会が少ないようで、ハマるとわからないことがあるようです。先日、親戚が集まった際に高校生くらいの男の子と話をしていると、彼が自宅のパソコンを使っていてDHCPエラーに遭遇して困ったと言うことを聞きました。
確かにこれらの仕組みはいわば黒子のような存在で、普段はあまり意識しなくてもよいのですが、それらの基盤技術を知っているとトラブルへの対応力や、セキュリティへの感度も上がったりすると思うので、今回は彼に説明した内容をブログにもまとめておこうと思います。
DHCPとは?
パソコンやスマートフォン、タブレットPCをインターネットに接続する場合、機器ごとにIPアドレスをそれぞれ設定するのは非常に面倒です。なおさら、機器を持ち歩いて、ネットワークにつなぎ直すために、都度、IPアドレスを変更しなければならないとすれば、手間がかかって使い勝手の悪いものとなってしまいます
この面倒なIPアドレスの設定を自動化したり、配布するIPアドレスの一括管理を行ったりするためにDHCP(Dynamic Host Configuration Protocol)が利用されています。
DCHPサービスが行われていないネットワークでは、ユーザーがネットワークに接続する際には、IPアドレスやサブネットマスクなどの設定をそれぞれ手動で行わなければいけません。また、全ての機器でIPアドレスが重複しないようにするため、ネットワークの管理者はIPアドレスの管理をしっかり行う必要があります。これはとても大変です。
DHCPサービスを行なっているネットワークでは、物理的に機器を接続するだけで、通信に必要な設定が行われます。ネットワーク管理者は、DHCPサーバーに必要な設定をしておけば、DHCPサーバーがIPアドレスを接続してきた機器に適切なIPアドレスを割り当ててくれます。
DHCPサーバーを使うことで、ネットワーク管理者の負担は軽くなりますし、ユーザーも便利にネットワークに接続することが可能になります。
DHCPの仕組みについて
DHCPを利用するためには、まずDHCPサーバーを立ち上げなくてはいけません。そう説明すると「うちにはDHCPサーバーなんてないけど、パソコンやスマホにIPアドレスが自動で割り振られているよ」とおっしゃる方がいるかもしれませんが、その場合は自宅で使っておられる光回線やケーブルテレビ等のブロードバンドルーターが、DHCPサーバーを兼ねてくれています(ちなみに、ADSLでモデムに直接接続されている場合は、PPPoEという別の仕組みでIPアドレスが割り当てられます)。
DHCPを利用するためには、ネットワークの管理者はDHCP サーバーをインストールし、必要な設定を行っておく必要があります。DHCPサーバーに割り当てるIPアドレスの範囲を設定する(アドレスプール)と、その範囲でDHCPサーバーは個々のクライアントに重複せずにIPアドレスを順に割り当ててくれます。
パソコンを接続した時にIPアドレスがリースされる流れ
それでは、DHCPのあるネットワークにパソコンをつないだ場合に、具体的にどのようなやりとりが行われているのか、その動作を見ていきましょう。
まず、パソコンをネットワークにつなげた場合、最初はDHCPサーバーのIPアドレスさえ、パソコン側はわからないので全ての宛先(ブロードキャスト)にメッセージを送信して、ネットワーク全体に問い合わせを行います。
次に、その問い合わせをうけたDHCPサーバーが、問い合わせをしてきたパソコンに割り当てるIPアドレス設定などをアドレスプールから選択して提案します。
そして、 IPアドレス設定の提案をうけたパソコンは提案されたIPを使用する事をブロードキャストで通知します。
最後に、DHCPサーバーはパソコンに貸し出すIPアドレスやサブネットマスク、貸出期間を通知します。
これで、パソコンは自身のIPアドレスを「XX.XX.XX.XX」として接続することができるようになります
なぜこんなにやり取りをするの?
DHCPサーバーはLAN内に複数存在することもあります。そのため、複数のサーバーがDHCPオファー(「このアドレスを使いなよ」)と接続してきたパソコンに渡すこともあります。
しかし、その場合でも、パソコン側がDHCPリクエスト(「アドレスXX.XX.XX.XXを使います」)をネットワーク内にブロードキャストして知らしめることで、採用されなかったDHCPサーバー側も「あ、使われなかったな」と判断することができます。
さてご説明はここまで。
DHCPのおかげでプラグ&プレイが可能となり、LANにつないだだけでネットワークで機器がすぐ使えるようになります。ユーザーにとっても管理者にとっても便利なサービスですね。
拙い説明で恐縮ですが、少しでもどなたかの疑問解消につながれば幸いです。
では。