「サーバー」という言葉から何をイメージするでしょうか?

新人君
新人君

ウォーターサーバー!

新人ちゃん
新人ちゃん

ビールサーバー!

まあ、そんな声も聞こえなくはないですが(^^;)
よく見る模式図だとパソコンがクライアント、四角い箱がサーバー…というイメージではないでしょうか?

たとえばこんなイメージ:

クライアント・サーバーシステムのイメージ

じつはこれは一つの見方であって、これだけではありません。
「サーバー」と言ったときに、実は2つの意味があります。

1つはみなさんご存じの、ハードウェア(コンピューター)としてのサーバー。
2つ目はソフトウェア(プログラム)としてのサーバーです。

ハードウェアとしてのサーバー

ハードウェア、機械としてのサーバーはなかなか見る機会がないと思いますが、機械の構成としてはみなさんお使いのパソコンとほぼ同じです!

CPUがあって、メモリがあって、HDD、ネットワークなど、構成としてはほとんど違いがありません。
Windowsを入れて、Wordを入れて文章の編集もできるし、ゲームを入れて遊ぶこともできます。

じゃあ何が違うか?

それはネットワーク越しの管理機能だったり、CPUにセキュリティ機能が入っていたり、HDDが長期間運用しても壊れにくい、とか、サーバーならではの仕様になっています。
ですので、そういったセキュリティや長期運用ということを考えなければみなさんのパソコンもふつうにサーバーとして使うことは可能なんです。

ソフトウェアとしてのサーバー

ここからが一番聞いてほしい内容なのですが、サーバーの本質は「ソフトウェア」です。
サーバーを何の用途で使うかによって入れるソフトは変わってくるのです。

ここでは、ハードウェアとしてのサーバーを「サーバー機」、ソフトウェアとしてのサーバーを「サーバーソフト」として区別することにします。

サーバー機をファイルサーバーとして使いたければファイルサーバーソフトをインストールします。
Webサーバーとして使いたければ例えば「Apatche HTTP Server」(Webサーバー)をインストールし、ファイル転送用に「FTPサーバー」をインストールします。また遠隔管理用に「SSHサーバー」をインストールします。

ここで気づいてほしいのは、一つのコンピューターに複数の「サーバー」ソフトを入れることができるということ。
ご説明したWebサーバーの例では3つの「サーバー」ソフトが入ります。

ところで、サーバー機を特定するためにはIPアドレスが必要です。

IPアドレスは通常1マシン(コンピューター)につき一つ。
IPが192.168.0.123だとして、サーバー機は特定することはできますが、どのサーバープロセス(ソフトが実行されている状態のことを「プロセス」といいます)にアクセスすればいいのかはわかりません:

IPアドレスだけではサーバープロセスは特定できない

となると、一つのサーバー機の中の複数のサーバーソフトウェアはどうやって区別されるのでしょうか?それを区別するのがポート番号なのです!
ポート番号まで指定してあげればサーバープロセスを特定することができるのです:

ポート番号でサーバープロセスを特定

ここに挙げたサーバーソフトのポート番号をご紹介すると:

サーバー種別ポート番号
Webサーバー80
FTPサーバー20,21
SSHサーバー22
サーバーソフトと対応するポート番号

となります。

実はみなさんお使いのウェブブラウザ(ChromeとかFirefox、Edge、IEなど)もアドレスバーに入れるURLには自動的にポート番号が足されています。たとえば

www.example.com

にアクセスしようとすると自動的に

www.example.com:80

と変換されます。

まとめ

「サーバー」にはハードウェア、ソフトウェアの2つの意味がある。
ハードウェアとしてのサーバーはパソコンとあまり変わらない。
ソフトウェアとしてのサーバーは一つのマシンに複数入れることができる。
マシンを特定するのがIPアドレス、サーバーソフトを特定するのがポート番号。

補足情報

サーバーOS

サーバー機に入るOSは大別して

  • Unix/Linux系OS
  • Windows Server(サーバー向けWindows)

Windows Serverを入れることもUnix/Linuxを入れることも可能です。

サーバーソフト

サーバーソフトの呼び方はOSによって異なります。

  • Unix/Linuxではデーモン
  • WindowsではWindowsサービス(単にサービス、と呼ぶことも多い)

なお、デーモンやWindowsサービスなどのサーバーソフトのことを「サービス」と総称することもあります。

ファイルサーバー

Windowsの場合パソコン向けWindows、サーバー向けWindows Server問わず標準でファイル共有の機能が入っています。
また、「NAS」というファイルサーバーに特化したハードウェア製品もあります。

仮想環境

最近ではAWSとかGCPなどのサービスで「仮想サーバー」が使えるようになっていますが、初心者の方にとっては「サーバーもよくわからないのに仮想と言われても…」という状況でしょうね。

ここで言いたいのは、仮想サーバーの勉強は後回しにしてください、ということ。

本記事の説明ですと一つのサーバー機には一つのIPアドレスが振られる、というご説明でしたが、仮想サーバーになると状況が変わります。一つのサーバー機の中に仮想のサーバー機がいくつも入っているイメージになります。こうなると一つのサーバー機にIPが複数割り振られる状況になるので、実機の(物理的な)サーバーを理解してから仮想サーバーの勉強をしてみてくださいね、とういことです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です