サーバーの基本（２．サーバーの種類）

サーバーやネットワークについて勉強したことをまとめます。

1. サーバーとは何か
2. サーバーの種類
3. パーミッションについて
4. RAIDについて
5. TCP/IPについて
長くなるので、投稿を分けます。

この記事では、２．サーバーの種類について記載していきます。
間違っている認識があれば、ご指摘いただければ幸いです。

##２．サーバーの種類
<dl>
<dt> ● メールサーバー</dt>
<dd>メールサーバーとは、名前の通り、メールの送受信機能を供給するサーバーです。
大きく分けて「送信メールサーバー」と「受信メールサーバー」の２つがあります。
動作としては下のような流れになります。

①PCでメールを作成し、送信
②メールソフトの設定をもとに、近くのメールサーバーへ転送
③メールサーバーで宛先を判別する
④宛先メールサーバーへ転送
⑤メールを受け取ったメールサーバーは、自分が管轄しているユーザーのメールボックスに保管
⑥宛先ユーザーが受信操作をすると、メールが配送される
⑦ユーザがメールを閲覧できる。

この動作のうち、
②③④が送信メールサーバー（SMTPサーバー）
⑤⑥が受信メールサーバー（POPサーバー、IMAPサーバー）
の動作となります。

送信サーバーはSMTPサーバーといい、PCから、一番最初にメールを受け取ります。
そして、インターネットを通して、宛先の受信メールサーバーにそのメールを送ります。
メールを受け取った受信メールサーバーは、登録されているユーザーのメールボックスにメールを保管しておき、ユーザーが受信した際、そのメールを送信します。

受信メールサーバーは、「POPサーバー」と「IMAPサーバー」に分かれます。

- POPサーバー...メールを受信したPCにメールデータが保管され、インターネットに接続せずに自分のメールデータを閲覧できる

- IMAPサーバ...メールデータはメールを受信したPCには保管されず、サーバー上で管理される。インターネットに接続しなければ自分のメールデータを閲覧できないが、スマホやPCなど複数の異なるデバイスからメールデータを閲覧できる。(GmailなどのWebメールがこれにあてはまります。）

<strong>＜POPサーバーとIMAPサーバーの比較＞</strong>

| | POPサーバー |IMAPサーバー |
|:-:|:-:|:-:|
|<strong>オフラインでの閲覧</strong>|〇|×|
|<strong>サーバーの負荷の軽さ</strong>|〇|×|
|<strong>PCのリソース消費の少なさ</strong>|×|〇|
|<strong>複数デバイスからの閲覧<strong/>|×|〇|


</dd>
<dt>● FTPサーバー</dt>
<dd>FTPサーバーとは、File Transfer Protocolの略で、ファイル転送プロトコル、
つまり、ネットワーク上でファイルなどの転送を行う通信プロトコルの一つです。

前提として、私達が日頃Webページを閲覧するとき、Webサイトの画像や文章などのWebページの情報が入っている「Webサーバー」からデータを取得して閲覧しています。この「Webサーバー」は、24時間動いているため、そのおかげで私たちは24時間好きな時にWebページを閲覧することができます。

初心者のためのFTP入門（http://www.hyperdyne.co.jp/~oohashi/work/beginner/ffftp/01ftp.shtml)に
>「ホームページを作る」というような漠然とした言い方には、
・インターネットにつねに接続され、データを公開できるサーバを確保する
・自分のマシンでホームページのためのデータを作成する
・作ったデータをサーバに届ける
というおおざっぱな過程そのものを意味しています。
>

とあるように、すべてのWebページは「インターネットにつねに接続され、データを公開できるサーバ」にコンテンツを格納して表示する仕組みになっています。

![リクエスト＆レスポンス2.jpg](https://qiita-image-store.s3.amazonaws.com/0/232451/06d54e0e-085a-4bf2-dc25-58a3a6166c10.jpeg)

ここで、クライアントPCで作成したWebページの画像や文章などの情報を送受信するのがFTPサーバーです。
自分のPCでホームページ用のデータを更新しても、FTPサーバーに送信（アップロード）しなければ、そのホームページは更新されません。また、それとは反対に、Webページのデータが欲しい時、FTPサーバーからPCに受信（ダウンロード）することもできます。

FTPサーバーとのやりとりは、FTPソフトを使用します。
有名なところでは、Windowsで使用できるffftpやWinSCPや、Windows,Macともに使用できるFileZillaやCyberduckなどがあります。

</dd>
<dt>● 認証サーバー</dt>
<dd>社内ではファイルやメールなど、閲覧していい人のみが閲覧できるよう、制限していますね。
ですが、ファイルを閲覧するときにはファイルサーバーに、メールを閲覧するときには、メールサーバーに、といったように複数のサーバーに接続するたびに、毎回ログインを行うのは非常に面倒です。

そこで、認証機能だけをまとめて実行してくれるのが、この認証サーバです。
認証サーバーには、本人確認に必要な情報を格納しておきます。
そのため、クライアントPCから、まず認証サーバーで本人確認を実行したら、その認証サーバーが、メールサーバーやファイルサーバーなど各サーバーへの認証を担当して行ってくれます。

これにより、ユーザーは、認証サーバーにのみ本人確認すれば、社内のファイルやメールを本人確認なしで閲覧することができます。
</dd>

<dt>● 仮想サーバー</dt>
<dd>物理的にサーバーが存在するわけではなく、仮想の上でサーバーとして機能させることを、仮想化といいます。
これまでのサーバーでは、サーバー１台につき、１つのOS、１つのサーバー機能しか使用できませんでした。
しかし、仮想サーバでは、例えばメールサーバー・認証サーバー・データベースサーバーといったような複数のサーバー機能やOSを１台のサーバーで同時に使用できます。
物理的なサーバーの数を減らせるのが利点ですが、複数のサーバー機能を持たせると、パフォーマンスの低下に繋がることがあるので、注意が必要です。
</dd>
<dt>● DHCPサーバー</dt>
<dd>DHCPサーバーとは、PCにIPアドレスを割り当てるサーバーです。
IPアドレスは、ネットワークを使う全てのデバイスに割り振られています。
住所のようなもので、ネットワーク上でPCがお互いにやり取りするとき、このIPアドレスを確認して、データのやり取りをしています。DHCPサーバーは、この、IPアドレスを自動的に割り当てることで、通信を可能にしています。
IPアドレスは、個人で設定することも可能ですが、複数のPCで設定を行うのは大変です。
もしDHCPサーバーがなければ、ネットワークに接続する際に、毎回自分でIPアドレスの設定をしてからネットワークに接続しなければなりません。場所を変えてPCを使用しても、ネットワークに接続し、簡単に利用できるのは、このDHCPサーバーのおかげです。
</dd>
<dt>● DNSサーバー</dt>
<dd>DNSサーバーは、PCでやりとりする相手のIPアドレスを教えてくれるサーバーです。
たとえば、Webページを閲覧したい時、そのWebページの文章や画像などの情報が詰まったWebサーバーのIPアドレスがわからなければ、閲覧することができません。
私たちがWebページを閲覧しているとき、まずPC側から、DNSサーバーに「このWebページが見たいんだけど、どこに行けばいいかな？」と尋ねます。そうすると、DNSサーバーが「そのページのIPアドレスはこれだよ！」と教えてくれます。それを受け取ったPCは教えてもらったIPアドレスにアクセスすることで、Webページを閲覧することができます。

このように、DNSサーバーにIPアドレスを聞いて回答をもらうことを、「DNSサーバで名前解決する」という言い方をします。</dd>
<dt>● プロキシサーバー</dt>
<dd>プロキシサーバーとは、代理サーバーのことです。

・ネットワークのやりとりの流れ
[PC] → [社内ネットワーク] → [インターネット] → [Webサーバーなど（目的のコンテンツ）]

社内ネットワークは速度が速いのに対して、インターネットの外側は、速度が遅いのが一般的ですが、
PCの台数が増えると、データの量も増え、場合によっては同じデータを何度も取得することがあります。
そんな時毎回速度の遅いやり取りをするのは大変です。

そこで、プロキシサーバーを社内ネットワークの出口に設定します。
上の流れで表すと、

[PC] → [社内ネットワーク] → <strong>[プロキシサーバー]</strong> → [インターネット] → [Webサーバーなど（目的のコンテンツ）]

こんな感じです。
プロキシサーバーは、自分自身にWebサーバーのコンテンツをコピーして、保管します。
そのおかげで、インターネットに接続せずとも、プロキシサーバーからデータを受け取ることができます。その結果、速度の低下・サーバーやネットワークの負荷の軽減が実現できます。

また、外からはプロキシサーバーしか見えないので、インターネット側からは、中の構造がわかりません。そのため、プロキシサーバーが悪意あるWebサーバーにより被害を受けても、ここで止めておければ、最低限の被害に抑えられます。そのため、セキュリティ対策としても機能します。
</dd>

その他、プリンタサーバーやSIPサーバーなど様々なサーバーがあります。

##参考資料
・「おうちで学べるサーバのきほん」著：木下肇　翔泳社出版　2017年
・初心者のためのFTP入門（http://www.hyperdyne.co.jp/~oohashi/work/beginner/ffftp/01ftp.shtml)