ネットワーク上のサービス

ありとあらゆるサービスを支えているのはTCP/IPを土台としてさらに```上位層（セッション層以上）のプロトコル群```だ。

# 代表的なサービスたち
さまざまなサービスはプロトコルを処理するサーバによって提供されている。

## HTTP（HyperText Transfer Protocol)
```Webページの転送に利用```されるプロトコル
```Webブラウザを使ってHTMLで記述された文書```を受信する時に使う。
### ポート番号
８０

## FTP（File Transfer Protocol）
```ファイル転送サービスに利用```するプロトコル。
インターネット上の```サーバにファイルをアップロード```したり```サーバからファイルをダウンロード```したりする時に使う。

### ポート番号
転送用 20
制御用 21

## Telnet
```他のコンピュータにログインして、遠隔操作```を行う際に使うプロトコル

### ポート番号
２３

## SMTP（Simple Mail Transfer Protocol)
```電子メールの配送部分```を担当するプロトコル。
メール送信時や、メールサーバ間での送受信時に使います。

###  ポート番号
２５

## POP(Post Office Protcol)
```電子メールの受信部分```を担当するプロトコル。
メールサーバ上にあるメールボックスから、受信したメールを取り出すために使う。

### ポート番号
110

## NTP(Network Time Protocol)
コンピュータの時刻合わせを行うプロトコル。

### ポート番号
１２３

#### ポート番号とは？
ポート番号とは、インターネットで標準的に用いられる```プロトコル（通信規約）であるTCP/IP```において、```同じコンピュータ内で動作する複数のソフトウェア```のどれが通信するかを指定するための番号。
出典 https://e-words.jp/w/%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7.html

マンションの一室みたいな感じか。
### 気づき
普段使っている。昨日とは思っていない機能にはたくさんのプロトコルで成り立っているんだな。
改めてこの知識を使うとどれだけパソコンやスマホがプロトコルでできていることに気付かされる。
これからもっと勉強が必要だなと思う。
またこれらを駆使して作っていかなくてはならないのか。

# サービスはポート番号で識別する
ネットワークで動くサービスに専用のサーバーマシンが必要でない。
サーバはさまざまなサーバを兼任することは当たり前。
サーバとは```プロトコルを処理してサービスを提供するためのプログラム```。

兼任したサーバにパケットが送られた時どのサービスに送れば良いかわからない。
そんな時はそれを識別する番号で判断する。
それを```ポート番号```と言う。

## ポート番号の範囲
0~65,535までの範囲

## ポート番号の種類
ポート番号の一覧はIANAのWebサイトで見ることができます。

### WELL KNOWN PORT NUMBERS(ウェルノウンポート番号)  0番～1023番
使用目的が定められたポート番号であり、 Internet Assigned Numbers Authority (IANA)が管理しています。

### REGISTERED PORT NUMBERS(登録ポート番号)  1024番～49151番
REGISTERED PORT NUMBERSに関しては、IANAが登録を受け付け、 公開しています。

### DYNAMIC AND/OR PRIVATE PORTS(ダイナミック/プライベートポート番号)  49152番～65535番
誰でも自由に使用できるポートとして開放されています。 
出典 https://www.nic.ad.jp/ja/basics/terms/port-number.html#:~:text=%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7%E3%81%A8%E3%81%AF%E3%80%81TCP,%EF%BD%9E65535%E7%95%AA%E3%81%BE%E3%81%A7%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82

# 問題を解いたときの気づき
## POP3 (ポップスリー)
* 電子メールのサーバーから```メールをPC等のクライアントにダウンロード```するためのプロトコル
* 電子メールの送信に使われる```SMTPとセットで利用```される。
* ```「3」はversionを表す```が、Version1やVersion2は現在ほとんど使われていない。
出典 https://www.pi-pe.co.jp/miteshiru/word/pop3/#:~:text=POP3%20(%E8%AA%AD%E3%81%BF%3A%E3%83%9D%E3%83%83%E3%83%97%E3%82%B9%E3%83%AA%E3%83%BC)&text=POP3%EF%BC%88%E3%83%9D%E3%83%83%E3%83%97%E3%82%B9%E3%83%AA%E3%83%BC%EF%BC%89%E3%81%A8%E3%81%AF,%E3%81%BB%E3%81%A8%E3%82%93%E3%81%A9%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%80%82
## IMAP4（アイマップフォー）
メールをPC等の```クライアントにダウンロードせず```メールサーバーに置いたまま読むプロトコル
出典 https://www.pi-pe.co.jp/miteshiru/word/pop3/#:~:text=POP3%20(%E8%AA%AD%E3%81%BF%3A%E3%83%9D%E3%83%83%E3%83%97%E3%82%B9%E3%83%AA%E3%83%BC)&text=POP3%EF%BC%88%E3%83%9D%E3%83%83%E3%83%97%E3%82%B9%E3%83%AA%E3%83%BC%EF%BC%89%E3%81%A8%E3%81%AF,%E3%81%BB%E3%81%A8%E3%82%93%E3%81%A9%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%80%82
## SNMP
* ```UDP/IPベースのネットワーク監視、ネットワーク管理を行う```ためのプロトコルです。
* ルーター、スイッチなどのネットワーク機器、WindowsやUNIXサーバーなどの```状態監視、リソース監視、パフォーマンス監視、トラフィック監視```を行うために使用します。一般的に、サーバーに対しては、```CPU使用率、メモリ使用率、ディスク使用率、プロセス監視、Windowsイベントログ監視、Syslog監視```を行います。ネットワーク機器に対しては、各ポート上で```送受信されたパケット数、エラーパケット数、ポートの状態（up/down）、およびCPU使用率、メモリ使用率```などを監視します。

出典 https://blogs.manageengine.jp/itom_what_is_snmp/
### 気づき
監視するプロトコルがあるのか。

## ARP　(Address Resolution Protocol）
```IPアドレスからEthernetのMACアドレスの情報を得られる```プロトコルです。
LANに接続されたコンピュータ間で通信するためには、IPパケットは下位のレイヤでL2ヘッダが付加された上で伝送されることからMACアドレスの情報が必要となります。

出典 https://www.infraexpert.com/study/tcpip2.html#:~:text=ARP%EF%BC%88Address%20Resolution%20Protocol%EF%BC%89%E3%81%AF,%E6%83%85%E5%A0%B1%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82

## ICMP(Internet Control Message Protocol) 
```IPプロトコルの「エラー通知」や「制御メッセージ」　を転送```するためのプロトコルです。
TCP/IPが実装された```コンピュータ間で、通信状態を確認```するために使用されます。

出典 https://www.infraexpert.com/study/tcpip4.html

## RIP
```ルータなどの通信機器の間で経路情報を交換し、ある地点から別の地点までの最短経路```を割り出すのに使われる。
自律システム（AS：Autonomous System）の内部で経路選択を行なうIGP（Interior Gateway Protocol）として使われる。
出典 https://e-words.jp/w/RIP-2.html