前回と前々回で触れたIPアドレスについて、もう少しだけ書いてみます。
ノートPCやタブレット、スマートフォンを持ち歩いていて、自宅や会社などあちらこちらのWi-Fiに接続してインターネットにつなぐ、という方は多いと思います。また、ホテルでノートPCにLANケーブルを挿してインターネットにつないだことがある方も見えると思います。
その際、いちいちIPアドレスの設定なんかしなくてもネットワークが使えていたと思います。それはなぜかというと、DHCPという仕組みが働いて、IPアドレスが自動的に自分のノートPCやタブレット、スマートフォンに割りふられているからです。
簡単にDHCPの動作について説明します。
DHCPにはサーバとクライアントという役割があって、サーバはそのネットワークの持ち主が準備しています。自宅にそんなものを準備したことがないという方は、無線LANのアクセスポイントがその役割を果たしているはずです。(買った時からそういう役割を果たしてくれるように設定されているので。)
そしてクライアントというのは自分のノートPCやタブレット、スマートフォンなどです。有線LANの場合はクライアントにLANケーブルを挿したとき、無線LANの場合は、無線LANのアクセスポイントを見つけて接続をかけたとき(セキュリティーキーを求められた場合はセキュリティーキーを入力したとき)からDHCPシステムは動作します。
(1)まず、クライアントは、つないだ先のネットワーク上のすべての機器に対して届くようにあいさつをします。(すべての機器に届くようにする通信のことをブロードキャスト通信といいます)。
(2)そして、受け取った機器の中にDHCPサーバがいた場合、DHCPサーバはあいさつしてきた機器に対してIPアドレスを貸してほしいか尋ねます。
(3)クライアントは、貸してほしいと答えます。このとき、2台以上のDHCPサーバからオファーがあった場合は、どれか1つを選んで貸してほしいという返事します。
(4)そうするとDHCPサーバが自分の管理しているIPアドレスの中から誰にも貸していないアドレスを選んでクライアントに通知します。
(5)通知を受け取ったクライアントは通知されたIPアドレスを自分のIPアドレスとして使うようになります。
そもそも最初にIPアドレスなしでもサーバとクライアントが通信できるのが不思議かもしれません。全員に届くようにブロードキャストを投げることはできても、なぜサーバはクライアントに返事を返せるのでしょうか。
それは、無線や有線のネットワークインタフェースにMACアドレスという世界でそのインタフェースにしかついていないアドレスが製造時に付与されているからです。ブロードキャストを投げるときに、返事はこのMACアドレスにください、という情報を付加しているのです。だからサーバはそのMACアドレス宛に返事を返せばクライアントと通信できるのです。
こうしてDHCPクライアントは、人間が意識しなくても、DHCPサーバから割り振られたIPアドレスを使うことでネットワークに接続することができるようになるわけです。