【スライド】TCP/IP＿ネットワークのしくみまとめ

## 目次


- ネットワークの概要を知る
- サーバの役割について知る
- IPアドレスの仕組み
- データの配送ルートについて

---

## ネットワークの概要を知る

---


### ネットワークとは
- コンピュータ同士が接続して相互通信が可能になっている状態。
- 規模が小さい方から LAN , WAN , インターネット等がある。

---


### インターネットとは

- コンピュータ同士・またはネットワーク同士をつなげる大規模なネットワーク。
- TCP/IPというプロトコルを使った通信をしているネットワーク。
- 軍用→研究用→商用の順で普及していった。

---


### インターネットにつなげるには

- インターネットに接続している誰かに接続をお願いする(ほとんどの場合はプロバイダ)

---

### TCP/IPとは？1/2

- Transmission Control Protocol / Internet Protocol
の略で、インターネットというネットワークに接続するための通信ルール(プロトコル)

---

### TCP/IPとは？2/2
- みんながTCP/IPという方法で通信していることでネットワーク同士、コンピュータ同士をつなぐことができる。
- 1974年に提唱されARPANETに採用され世界基準に。
- 普及してから一新されない理由の一つに"階層モデル"で通信方式を構築しているという理由がある。

---

### 階層モデル(TCP/IP)1/3
4つの層に分けてそれぞれに通信方法(プロトコル)がある。
- ハード面のプロトコル
- その層の上に"インターネットにつなぐ"ためのプロトコル
- その層の上にはサービスごとのプロトコル(HTTP,FTP,etc...)がある。

---

### 階層モデル(TCP/IP)2/3
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1288580/bc3c1fe7-bfe5-697d-e970-2965b18a5574.png)

---

### 階層モデル(TCP/IP)3/3
詳しくは以下参照
[https://tech.012grp.co.jp/entry/layered_protocol](https://tech.012grp.co.jp/entry/layered_protocol)

---

###ネットワークの概要を知る - まとめ

- ネットワークはコンピュータが相互通信している状況
- TCP/IPとはインターネットで通信するための通信ルール
- TCP/IPは階層モデルを基盤とすることでサービス開発のしやすいインフラになっている

---

## サーバの役割について知る

---

### クライアントとサーバー

インターネットで受けるサービスは"使う側"と"提供する側"にわけられる

- 使う側:クライアント
- 提供する側:サーバー
 
---

### サーバー
サービスを提供しているプログラムが動いている
何を提供するかによって，Webサーバー・メールサーバーなど名称が変わる
二つの用途を一つのサーバーに入れることもできる(小規模ならok)
 
---


### サーバ-クライアント間のやり取り1/2

- プロトコルで行われる  
クライアントがコマンドを送ってサーバーはそれの応答を返す。
そのためサーバーとクライアントの組み合わせが自由
 
---

### サーバ-クライアント間のやり取り2/2
- プロトコルはサービスごとに規定される

    Web/メール送信(SMTP)/メール受信(POP3,IMAP4)
 
---

### HTTP通信

- Web上のサーバー-クライアント間のやり取りを定めたもの。
- **コマンドとヘッダ**を送ると，**結果とヘッダデータ**を返すというのが基本
 
---


### ヘッダについて

サーバーに要求する(リクエスト)際とサーバーから応答する(レスポンス)際に

要求/結果内容とは別に添付される、そのデータについての情報や通信に関する情報を記載したもの。

---


###サーバの役割について知る - まとめ

- サービスのプログラムが動いているコンピューター
- クライアントの要求に応えるように動く
- 用途によっていろいろ種類がある

---


## IPアドレスの仕組み

---

### IPアドレスとは

- ネットワーク上に接続された機器がもつ番号。ネットワークに直接つながっている**機器同士で重複する値を持つことはない**
- "174.12.5.9"のようなピリオドで区切られた4つの数の組み合わせ
- 数値は0から255まで
 
---


### 割り当て1/3

- IPアドレスの管理しているところ
    - 世界: IANA
    - アジア: APNIC
    - 日本: JPNIC
 
---

### 割り当て2/3
- プロバイダはJPNICからIPを借りる
- 個人はプロバイダからIPを借りる

---

### 割り当て3/3
- 割り当てる際は 174.12.5.0 〜 174.12.5.15 の16こなど範囲を決める
- 最初と最後のipアドレスはそれぞれ"ネットワークアドレス/ブロードキャストアドレス"という
    - 割り当て先の情報を記述するもの
    - ipアドレスとしては使えない
 
---

### ドメインとDNSサーバ

- ドメイン名は "[www.youtube.com](http://www.youtube.com)" の"youtube.com"の部分("www"はホスト名)

---

### ドメインとDNSサーバ1/2
- ドメインの使い道
    1. ipアドレスと対応させる(大小文字区別なし)ことで、ドメインを使ってそのアドレス先にアクセスできる。
    2. メールアドレス(大小文字区別あり)
 
---

### ドメインとDNSサーバ2/2
- DNSサーバ
    - ドメインを受け取って対応するIPアドレスを返すサーバー
    - BIND(専用ソフト)をサーバーにインストールするとDNSサーバーになる。
 
---

### プライベートipとグローバルip
- プライベートip...ルーターが割り当てるプライベートネットワーク下のアドレス
- グローバルip...いわゆるIPアドレス。世界に一つだけしかない。ルーターに割り当てられている

---

###IPアドレスの仕組み - まとめ

- インターネット上のIPアドレスは世界に一つ！
- 日本はJPNICという組織が管理
- IPアドレスを分かり易い文字に対応させたのがドメイン
- 文字→IP変換するのがDNSサーバー

---

## データ配送ルートについて

---

### ネットワーク同士の接続(おさらい)

- ネットワーク同士はルータでつながっている=インターネット
- 全てのコンピュータにIPが割り当てられている
- ルータはそれぞれのネットワークに属するので，それぞれのIPアドレスを持っている
 
---

### ルーティング

- ルータの仕事 = インターネットへの出入り口
    - インターネットに所属しているので、インターネットのipが割り振られている。
- 通信の経路を設定する役割もある。
 
---


### デフォルトゲートウェイ

- プライベートネットワーク上のルータのipアドレス。
- これを各通信端末に設定することで、端末ールータ間の接続ができるようになり、つまり端末ーインターネットの接続が可能になる。
 
---


### CIDRとサブネットマスク

- いくつipアドレスを割り振っているのか？をわかりやすくした表記。
- 2進数の説明が必要なので割愛。
 
---

### TCPとUDP1/2

- データの送受信に関するプロトコル。上位プロトコル(HTTP/FTPなどサービスを扱う層)へデータを受け渡す
- ポート番号というものを用いて、用途ごとに通信を分ける。

---

### TCPとUDP2/2

- TCP：データの送信と受信が行えたかその都度確認しながら行う。
    - 信頼性高、通信遅(ファイルの転送やメールの送受信)
- UDP：データの送受信を都度確認せず行う。
    - 信頼低、通信高速(通話・動画ストリーミング・ブロードキャスト)

---


### データ配送ルートについて - まとめ

- ルータに世界で一つのIPが割り振られてる(グローバルip)
- ルータは家(プライベートネットワーク)とインターネットの出入口(デフォルトゲートウェイ)
- 確実なTCP、高速なUDP

---

## まとめ

- TCP/IPとは
    - TCP、IPという二つの通信ルールを基盤にしたインターネットの仕組み
    - この二つの共通のルールで通信のベースをつくることで、その上のでHTTPやFTPなどのプロトコルはインターネットのことを考慮せずに通信できる。

---

## 参考
schoo「TCP/IPプロトコル入門」
https://schoo.jp/class/3585