サーバとクライアント
Server & Clientクライアントサーバシステム ― 提供する側、受け取る側
インターネット上のやり取りの多くは、役割の異なる2種類のコンピュータの組み合わせで成り立っています。サーバ(サービスを提供する端末)と、クライアント(サービスを受け取る端末)です。この2つの組み合わせをクライアントサーバシステムと呼びます。
私たちが普段パソコンやスマートフォンでWebサイトを見たり、メールを受け取ったりしているとき、私たちの端末は常に「クライアント」の側です。その裏側には必ず、サービスを提供している「サーバ」が存在しています。
サーバの種類 ― 提供するサービスによって呼び方が変わる
サーバは、提供するサービスの内容によっていくつかの種類に分かれます。
| サーバの種類 | 提供するサービス |
|---|---|
| ファイルサーバ | ファイルの保管・共有 |
| プリンタサーバ | ネットワーク上のプリンタの共有 |
| Webサーバ | Webページの配信 |
| 認証サーバ | IDとパスワードによるログインの管理 |
| プロキシサーバ | クライアントの代わりに通信を仲介 |
| DNSサーバ | 名前とIPアドレスの変換 |
このうち、認証サーバは、IDとパスワードを受け取り、それが正しいかどうかを確認してログインの可否を判断するサーバです。会社や学校のシステムにログインするとき、裏側で必ずこの認証サーバが働いています。
プロキシサーバ ― ウエイターにたとえると
プロキシサーバ(別名・代理サーバ)は、クライアントの代わりに通信を仲介するサーバです。少しイメージしにくい存在なので、レストランのウエイターにたとえてみましょう。
あなたはレストランのお客です。「Amazonのサイトが見たいです」とウエイター(プロキシサーバ)に注文します。ウエイターはその注文をキッチン(実際のWebサーバ)に伝え、料理(Webページのデータ)を受け取って、あなたのテーブルまで運んできます。もしウエイターが「お仕事中にAmazonの利用は禁止されています」と注文を断れば、あなたはそのページを見ることができません。
会社や学校のネットワークで、特定のWebサイトが閲覧できないようになっているのは、多くの場合このプロキシサーバが間に立って、通信の可否を判断しているからです。
DNSサーバ ― 名前をIPアドレスに変換する
ブラウザに「google.com」と入力すると、目的のページにつながります。しかし、コンピュータ同士が実際に通信するときに使っているのは、この文字列そのものではなくIPアドレス(インターネット上の住所にあたる数値)です。
「google.comという文字列が来ましたが、これに該当するIPアドレスはどれですか」と、裏側で変換してくれているのがDNSサーバです。DNSサーバがこの変換(名前解決)を担ってくれているおかげで、私たちは細かいIPアドレスの数字の並びをいちいち覚えることなく、名前を入力するだけでページにアクセスできています。
nslookupで、名前解決を覗いてみる
DNSサーバが実際にどんな変換をしているかは、コマンドプロンプトでnslookup(ドメイン名からIPアドレスを調べるコマンド)を使うと確認できます。
C:\Users\you> nslookup google.com
画面には、google.comに対応するIPアドレスが表示されます。これが、DNSサーバが裏側で行っている「名前解決」の結果そのものです。※ IPv4アドレスは変わることがあるため、実際に試すと表示される数値が上の画像と異なる場合があります。
ここからは、基礎の一歩先の話です。初心者の方は読み飛ばして構いません。
1回の名前解決の裏で、複数のサーバがリレーしている
「google.comのIPアドレスを教えてください」という問い合わせは、実は1台のDNSサーバだけで完結しているわけではありません。まず、ふだん使っているISP(インターネットサービスプロバイダ)などが用意した窓口役のサーバに問い合わせが届きます。その窓口役が答えを知らなければ、さらに上位のサーバへと問い合わせをリレーし、最終的に「google.comの情報を管理している大元のサーバ」までたどり着いて、初めて正しいIPアドレスが返ってきます。
もっとも、毎回この長いリレーをしていては時間がかかってしまいます。そこで一度調べた結果は一定時間だけ手元に覚えておくキャッシュという仕組みが使われており、同じサイトに2回目以降アクセスするときは、この覚えておいた結果を使うことで、瞬時に表示できるようになっています。
教室のひとこま
最後に、このテーマを教えるとき、教室でよく交わされるやりとりを。
講師nslookupのデモは、研修中に必ず実演しています。ふだん目にすることのない黒い画面に、見慣れたサイト名とIPアドレスの数字が並んで出てくる瞬間、教室の空気が少し変わります。「いつも使っているあのサイトも、裏側では数字で呼ばれている」という実感を持ってもらうのが狙いです。