【学習メモ】キタミ式　Chap12　ネットワーク（12-1〜12-3）

# アウトプットする目的
資格取得がゴールではないが、基本情報技術者試験で書かれている内容をなるべく早く理解することで、根本的な問題解決ができるエンジニアに近く目的で学習。

Chapterかセクションごとに要約＋自分で調べた補足＋参照記事などをアウトプットします。

# LANとWAN
##概要
- LAN:Local Area Network:事業所など局地的な狭い範囲のネットワーク
- WAN：Wide Area Network：LAN同士を繋ぐ広範囲のネットワーク
- LANやWANというネットワークを介することで、距離を意識せずやりとりができる

##「やり取り」とは？どうやって「やり取り」するの？
###やり取り＝コンピュータが他のコンピュータとデータの受け渡しをすること
その受け渡しには**互いを結ぶ通信（回）路**が必要

###データを運ぶ通信路の方式とWAN通信技術
- 専用回線方式：通信回路のシンプルな形：互いを直接1本の回線で結ぶもの。
- 交換方式：上だと1対1しか通信できないので、交換機（に当たるもの）が回線の選択を行って、必要に応じた通信路が確立される方式。
- **回線交換方式**：送信元から送信先にまで至る経路を交換機が繋ぎ、通信路として固定・占有させるもの（＝他のコンピュータ・端末は、その回線を繋ぐことはできない。アナログ電話がこのタイプ）。
- **パケット交換方式**：パケット（小包）という単位に分割された通信データを交換機が適切な回線へと送り出すことで通信路を作るというもの。情報をいくつかのブロックに分割し各ブロックに制御情報を付加して送信する方式で、誤り制御は網で行う。

###パケットの例
30kバイトの電子メールデータを、10kバイト✖︎3つに分け、それぞれにIPヘッダをつけて3個のIPパケットにする、など。

##WAN通信方式
| 名前 |特徴 |
|:-:|:-:|
|専用線|拠点間を専用回線で結ぶサービス回転速度と距離によって費用が決まるセキュリティーは高いが非常に高額|
|フレームリレー方式|パケット交換方式をもとに伝送中の誤り制御を簡素化して高速化を図ったもの。データ転送の単位は可変長のフレームを用いる|
|ATM交換方式（セルリレー方式）|パケット交換方式をもとに、データ転送の単位を可変長ではなく固定長のセル（53バイト）とすることで高速化を図ったもの。パケット交換方式と比べて、伝送遅延は小さい。|
|広域イーサネット|LANで一般的に使われているイーサネット技術を用いて拠点間を接続するもの。高速で、しかも一般的に使用している機器をそのまま使えるためコスト面でのメリットも大きいWAN構築における近年主流サービス。|

##イーサネットがアクセスを制御させるには
- CSMA/CD（Carrier Sense Multiple Access/ Collision Detection）方式：ネットワーク上の通信状況を監視して、他に送信を行っている者がいない場合に限りデータの送信を開始するというもの
- もし同時に送信してしまい、通信パケット同士で衝突（Collision)が発生した場合は各々ランダムに求めた時間分待機してから再度送信する。
- このように通信を行うことで、1本のケーブルを複数のコンピュータで共有することができる！

##LANの接続形態（トポロジー）
LANを構築するときに、各コンピュータをどのように繋ぐのか。その接続形態のことをトポロジーとよぶ。

- スター型：ハブを中心として、放射状に各コンピュータを接続する形態
- バス型：1本の基幹都なるケーブルに各コンピュータを接続する形態
- リング型：リング状に各コンピュータを接続する形態

##リング型のアクセス制御方式とは
- トークンパッシング方式：リング型LANの代表格であるトークンリングでは、アクセス制御方式にトークンパッシング方式を採用。

##クライアントとサーバ
ネットワークにより複数のコンピュータが組み合わさって働く処理の形態にはいくつか種類があります。中でも代表的なのが次の2つ

- 集中処理：ホストコンピューターが集中的に処理をして他のコンピュータはそれにぶら下がる構成
- 分散処理：複数のコンピュータに負荷を分散させてそれぞれで処理を行うようにした構成

##クライアントサーバシステム
集中的に管理した方が良い資源やサービスを提供するサーバーと、必要に応じてリクエストを投げるクライアントという2種類のコンピュータで処理を行う構成が現在の主流。

## ネットワークの伝送速度
- 伝送時間（秒） = データ量（何bit） / 回線速度（何Mbit/秒）
ただしネットワークに用いるケーブルは理論値100%に数値が出るわけではない。そこを流れるパケットにもいろいろと制御情報がくっついて元のサイズとは異なってくる。

### 「規格上の理論値」と「実効速度」と「伝送効率」の関係を抑える
- 実効速度：一般的な使用法で実際に出る速度。**理論値＊伝送効率**で出る。
- 理論値に対して実際に出る速度の割合。**実効速度/理論値**で出る。

#プロトコルとパケット
- コンピュータのネットワークも、「どんなケーブルを使って」「どんな形式でデータを送り」「どうやって送って」「どうやって受け取って」「どうやって応答するか」全て共通の約束事が定められている。この約束事があり共有されているので、間違いなく相手に情報が届くようになっている。その約束事を**プロトコル**という。

## TCP/IPプロトコルって？
- 通信データをパケットに分割して通信路に流す。
- パケット：送信元IPアドレス、宛先IPアドレス、ポート番号などがヘッダー情報として付加されている「宛名ラベル」的なもの。
- なぜパケットに分割する必要があるのか？：1つの通信路に流せるデータ量は有限なため。100BASE-TXのネットワークだと1秒に流せるのは最大100Mbitまでと決まっている。データを細切れにせずそのまま流すと、通信流し終わるまでの期間は誰もネットワークを利用できなくなってしまう。

#ネットワークを構成する装置
![スクリーンショット 2020-09-10 16.42.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606290/5132d421-7fb1-a49f-9660-e1b93a565efe.png)
※キタミ式より一部引用

ネットワークには、**その用途に応じて様々な装置が用意されており、それらを組み合わせる**ことでコンピュータの台数が増減できたり、ネットワークの繋がる範囲が広がったりと環境に合わせた柔軟な構成を作ることが可能（詳細はOSI基本参照モデルの引用文を確認）。

## OSI基本参照モデル
![OSImodel.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606290/008186b8-34f1-e873-6988-f921bd2b8901.png)

###このモデルが生まれた背景
>ネットワーク装置や端末を提供しているのが1社だけであれば、その会社が決めたネットワーク プロトコルだけでネットワークを運用することができます。しかし、**ネットワークが普及するにつれて、さまざまな機器をネットワークに接続する要求が生まれ、各社のネットワークに合わせた開発が必要になった**のでした。このような問題を解決するために生まれたのが、国際標準化機構(ISO)によって制定された「開放型システム間相互接続（OSI：Open System Interconnect）」です。そして、OSIの設計方針に基づいて通信機能を分割して階層化したのが「OSI参照モデル」というわけです。7つの階層から構成されるため、「7階層モデル」と呼ばれることもあります。(Cisco　OSI参照モデルより引用)

- 階層に分けている理由：プロトコル（何度も言いますが、ネットワークの通信を間違いなく受発信するための約束事）を一部改変する際に、どの機能を差し替えるべきか一目瞭然なため！
- 最近はインターネットの世界で標準とされている**TCP/IP**プロトコルが採用されている。

### レイヤー1：物理層
- ケーブルやコネクタ、電気信号などの物理的なものを定めた層。
- コンピュータが理解できるデジタルデータとケーブルが扱う電気信号を相互に変換する際のプロトコル（決まり事）。
- 例：コネクタのピンの数、コネクタ形状の規定や、銅線-光ファイバ間の電気信号の変換

### レイヤー2：データリンク層
- 直に繋がっている機器への信号の受け渡しを定めた層。
- 誰から誰に伝送されたデータなのかを判断し、データの送信元と送信先の状態を確認して、データの送信が可能かどうかをどうやって判定するか定めたもの。
- 伝送中のエラー発生時に関するルールも定められている。

### レイヤー3：ネットワーク層
- 異なるネットワーク間の通信について定めた層。
- 異なるネットワークへの通信を行う際に、どのような通信経路で通信を行い、どのようにデータを送信するかを定めた層。
- ネットワーク上で、データの送信先や送信元を特定できるアドレスの割り当て方法なども定められている。


### レイヤー4：トランスポート層
- 通信の信頼性を確保する決まりを定めた層。
- 送信元から送信先に、確実にデータが正しく送信されるための決まりを定めたもの。
- 一度に伝送できるサイズに分割して送信し、分割されたデータを順番どおりに戻すことや、通信途中でデータに何らかの問題が発生した場合の決まりがある。

### レイヤー5：セッション層
- 通信開始から終了までの手順を定めた層。
- コネクションが確立してから切断までの通信の一連の手順を管理する決まりを定めた層。
- ログイン開始からログアウトまでの流れや、ショッピングサイトで購入ボタン押下から情報入力を経て、購入が確定するまでの流れを定めている。

### レイヤー6：プレゼンテーション層
- 文字コードや圧縮方式を定めた層。
- コンピュータ同士のデータ形式や圧縮方式などを合わせることによって、文字や映像データ、音声データなどに、コンピュータが違うことによって起こる不具合が生じないようにしている決まりを定めた層。
- セキュリティ向上のための暗号化と復号処理も担っている。

### レイヤー7：アプリケーション層
- ユーザーとアプリケーションとの直接的な橋渡しとなる決まりを定めた層。
- ファイルやメールなどのアプリケーションレベルのデータのやり取りに関する決まりを定めた層。
- Webサイトであれば「http」、メールであれば「smtp」や「pop3」といったプロトコルなど。

##各レイヤーごとのLAN装置の例

###レイヤー1：物理層
- NIC:コンピュータをネットワークに接続するための拡張カード（別名LANボード）
- リピータ：物理層の中継機能を提供。ケーブルを流れる電気信号を増幅してLANの総延長距離を伸ばす（拡声器的な）。遠く離れた機器に何らかのデータを送信しようとする場合、リピータが無ければ信号は途中で絶えてしまい、遠く離れた対象の機器にデータを送信することはできない！

※なお、ネットワークに流したパケットは宛先関係なく全員に伝わるが、「無条件にデータが流される範囲（論理的に1本のケーブルでつながっている範囲）」を**セグメント**という。

- LANケーブル：
###レイヤー2：データリンク層
- ブリッジ：データリンク層の中継機能を提供。セグメント間の中継役として、流れてきたパケットのMACアドレス情報を確認し必要であれば他方のセグメントへパケットを流す。

###レイヤー3：ネットワーク層
- ルータ：ネットワーク層の中継機能を提供。異なるネットワーク（LAN）同士の中継役として、流れてきたパケットのIPアドレスを確認した後に、最適な経路へとオアケットを転送する（イメージ、自分の担当地域外宛のパケットが流れてきたら、その地域を担当するルータに配送依頼する的な）。
- IPアドレス：「どのネットワークに属する何番のコンピュータか」という内容を示す情報。**ルータと、IPアドレスが持つ経路表（ルーティングテーブル）と付き合わせて正しい転送先を選ぶ**。このことを**経路選択（ルーティング）**と呼ぶ。
- L3スイッチ：ルータの様に様々なメディア間の接続をすることは出来ないが、L2スイッチの機能に加え、各ポートがルーティングできる機能を持ち、社内やスクール内のみで使用される。

###レイヤー4：トランスポート層〜レイヤー7：アプリケーション層
- ゲートウェイ：トランスポート層異常が異なるネットワーク間で、プロトコル交換による中継機能を提供。異なるプロトコルの間に位置して相互に変換を行うのが役割（イメージ、ネットワークの翻訳家的な）。
- ファイアウォール：レイヤー3〜7まで、外部からの不正アクセスやウイルスといった脅威からコンピュータを守るもの。ネットワーク層とトランスポート層で動作するのが**パケットフィルタリング型**、トランスポート層で動作するのが**サーキットゲートウェイ型**、セッション層、プレゼンテーション層、アプリケーション層で動作するのが**アプリケーションレベルゲートウェイ型**という。
- UTM：ファイアウォールの代用となる役割を担っており、ファイアウォールにIPS、アンチウィルス、URLフィルタリング、アンチスパムの機能を加えたような機器。
- NGFW：UTMと同様にファイアウォールの代用となる役割を担っており、ファイアウォールにIPSとアプリケーションコントロールの機能を加えたような機器。

##その他

### OSI参照モデルのカプセル化
送信する側で流れる処理と、受信する側で流れる処理では順序が異なる。カプセル化は**送信する側で流れる処理で**活用され、非カプセル化は**受信する側で流れる処理**で活用されます。このカプセル化と非カプセル化について、それぞれ分けて解説。

### カプセル化
- OSI参照モデルで言うと、データを送信する際は**レイヤー７からレイヤー１へと順に処理され、その処理した情報をヘッダとしてデータの前に付加させていく**こと、つまり、上位の処理された情報を包み込むように下位の層へと流していくことをカプセル化という。最終的にはレイヤー１で電気信号となって送信される。

### 非カプセル化
- OSI参照モデルで言うと、カプセル化された状態の情報を、レイヤー１からレイヤー７という順で処理することによって、**送信側でヘッダとして取り付けた情報を外していくこと**を非カプセル化という。最終的には受信側のコンピュータのアプリケーション上でデータを受け取る。



#参照記事
[第１回　LANとWAN - ネットワークの仕組み](https://solution.fielding.co.jp/column/it/itcol06/201808_04/)
[「LANとWANによるインターネット接続」のイメージ](https://solution.fielding.co.jp/column/it/itcol06/201809_01/)
[OSI参照モデルとは？7つの階層などの基礎知識｜TCP/IPとの違いも](https://www.fenet.jp/infla/column/technology/osi%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A8%E3%81%AF%EF%BC%9F7%E3%81%A4%E3%81%AE%E9%9A%8E%E5%B1%A4%E3%81%AA%E3%81%A9%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%EF%BD%9Ctcp-ip%E3%81%A8/)
[OSI 参照モデル](https://www.cisco.com/c/m/ja_jp/primer/osi-reference-model.html#~stickynav=1)