こんにちは、ラワンセ 遠藤(ネットワークエンジニア)です。
ネットワークの基礎を学ぶシリーズの補講として、今回は「クライアントとサーバ」について解説していきます。
これまでの回では、
DNSサーバ
DHCPサーバ
Webサーバ
といった「サーバ」という言葉が何度も登場してきました。
しかし、初心者の方からすると、「そもそもサーバって何?」「クライアントって何が違うの?」という疑問を持つことも多いと思います。
今回は、ネットワーク通信の基本となる「クライアント」と「サーバ」の関係について解説していきます。
■問題
ネットワークにおいて、サービスを提供する側を何と呼ぶか?
■選択肢
A. クライアント
B. サーバ
C. ルータ
D. スイッチ
■回答
B. サーバ
■解説
ネットワーク通信では、
サービスを利用する側
サービスを提供する側
に役割が分かれています。
このとき、利用する側 → クライアントと呼び、提供する側 → サーバと呼びます。
□Webサイトで考える
例えば、Webサイトを見る場合を考えてみます。
あなたのPCやスマホのブラウザは、「このページを見せてください」と要求を送ります。
一方で、WebサーバはHTMLや画像などのデータを返します。
つまり、
ブラウザ → クライアント
Webサイト側 → サーバ
という関係になります。
□サーバという言葉のイメージ
「サーバ」という言葉を聞くと、大きなコンピュータをイメージするかもしれません。
ただ、本来の server には「提供する側」という意味があります。
例えば居酒屋にある「ビールサーバ」も、ビールを提供する機械だから“サーバ”と呼ばれています。
ネットワークでも同じで、
Webページを提供する → Webサーバ
IPアドレスを配布する → DHCPサーバ
というように、「何かを提供する側」がサーバです。
□これまで登場したサーバ
今までのシリーズでも、さまざまなサーバが登場しています。
DNSサーバ
→ ドメイン名からIPアドレスを返す
DHCPサーバ
→ IPアドレスを自動で割り当てる
syslogサーバ
→ ログを保存する
このように、「何かを提供する側」がサーバです。
□クライアントは何か
クライアントは、サーバに対して要求を送る側です。
例えば、
Webブラウザ
スマホアプリ
メールソフト
などがクライアントになります。
つまり、私たちが普段使っている機器の多くはクライアントとして動作しています。
□通信の流れ
基本的な通信は、
① クライアントが要求を送る
② サーバが応答を返す
という形で行われます。
例えばDNSでは、
クライアント
「google.com のIPアドレスを教えて」
DNSサーバ
「○○.○○.○○.○○ です」
というやり取りが行われています。
□なぜ分けるのか
役割を分けることで、多くの機器が同じサービスを利用できるようになります。
例えばWebサーバ1台に対して、世界中のクライアントがアクセスできます。
この「サービスを提供する側」と「利用する側」の分離が、インターネットの基本的な仕組みになっています。
□初心者ポイント
「自分のPCはクライアントだけなの?」と思うかもしれませんが、場合によってはサーバとして動作することもあります。
例えば、自分のPCでWebサーバを起動すると、そのPCはサーバとして動作します。
つまり、役割によって呼び方が変わります。
□もう一歩理解を深める
サーバは常に待ち受け状態になっており、クライアントからの要求を待っています。
このとき使われるのが、第10回・第11回で学んだ「ポート番号」です。
例えば、
80番 → HTTP
53番 → DNS
22番 → SSH
のように、サーバは特定のポートで通信を待ち受けています。
■まとめ
サービスを利用する側をクライアントと呼ぶ
サービスを提供する側をサーバと呼ぶ
通信はクライアントの要求とサーバの応答で成り立つ
DNSやDHCPもサーバの一種
□今後について
今後の回では、DNSサーバやDHCPサーバなど、さまざまなサーバが登場していきます。
「どんなサービスを提供しているのか」という視点で見ると、ネットワークの理解がかなりしやすくなります。
□採用情報
ラワンセでは一緒に働くエンジニアを募集しています。
・IT業界での経験を活かして、エンジニアとしてステップアップしたい方
・インフラエンジニアとしてキャリアの幅を広げていきたい方
・実務に近い環境でスキルを身につけていきたい方
・これからエンジニアとしてのキャリアに挑戦したい方
ラワンセには、それぞれのキャリアに応じた形で成長していける環境があります。
今の環境でこのままでいいのかと感じている方や、エンジニアとして次のステップに進みたいと考えている方は、ぜひ一度お話ししてみませんか。