ネットワークの基礎

# ネットワークとは
パソコンやネットワーク機器といった複数の要素がケーブルなどで接続され、相互に通信できる状態になっているものを指す。

+ **ノード**：PCやルータなどのネットワークを構成する要素
+ **リンク**：ノードとノードを結ぶ線
+ **フロー**：リンク上のデータの流れ
+ **トラフィック**：ネットワーク状を流れる情報やその量

## ネットワークの種類
大きく3つに分類される

### LAN(Local Area Network)
家庭、企業、ビルといった1つの建物や施設内といった程度の範囲で利用されるネットワーク。自由に配線や機器の設置を行うことが可能

### WAN(Wide Area Network)
本社と支社といった地域的に離れたLANとLANを接続するネットワーク。利用者たちで機器の配線や設置を行うことは不可。

### インターネット(Internet)
数多くのネットワークを接続した地球規模の巨大なネットワークのこと。パソコンや企業内のLANからISP（インターネットプロバイダー）を介して接続する。

## ネットワークトポロジ
トポロジとは、ネットワークに機器（ノード）をどのようにつなぐのかを表す「接続形態」のこと。以下3種類存在し、これらを複数組む合わせた接続形態を**ハイブリッド型**という。

### バス型トポロジ
１本の**バス**と呼ばれるケーブル上に各ノードをつなぐ形態。全てのノードが１本のケーブルを共有するため、1か所でも断線するとネットワーク全体が機能しなくなる

![バス型トポロジ](https://www.fabshop.jp/wp-content/uploads/2019/10/2019-10-18_21h29_35.png)

### リング型トポロジ
隣接しているノードを円状に接続する。1か所で障害が発生すると全体に影響が出る。

![ring](https://www.infraexpert.com/studygif/networking8.gif)


### スター型トポロジ
ハブやスイッチなどの集線装置を中心に各ノードをつないで、お互いに通信できるようにする形態のこと。1本のケーブルが断線しても影響を受けるのは、そのケーブルを使用しているノードだけ。**ハブアンドスポーク**とも呼ばれる。
扱いやすく拡張性にも優れているため、現在のLANでもよく使われている。


![hubandspook](https://www.fabshop.jp/wp-content/uploads/2019/10/2019-10-18_21h40_58.png)


### メッシュ型トポロジ
多くのノードを網（メッシュ）状に相互接続する形態のこと。どこか1ヶ所で障害が起きても他のノードを経由して通信することができるため、障害に強い構成となっている。
主に企業の拠点同士を接続するWANで使用され、2種類存在する

#### フルメッシュ型
全てのノード間を相互に直接つなぐ。多数のリンクが必要になるためコストはかかるが、1つのリンクが切れた場合でも他のノードを介して通信を続けることができる。

![kkk38185.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/025eba41-b584-3899-89c1-a47636bbbcee.jpeg)


#### パーシャルメッシュ型
利用頻度の高い重要なノード間のみを直接つなぐ。リンク数が少ない分、コストを抑えることができる

![kkkk38185.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/75bddc88-3c42-c40a-2cc4-e299ef948df4.jpeg)




## 通信の方式
通信を行う際、宛先の指定により3つの方式に分かれる。

### ユニキャスト
特定の宛先に対しのみデータを送信する方式で、**1対1**の通信となる。

![kk38170.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/bb9a4241-861a-ac17-0a08-9235915e8010.jpeg)



### ブロードキャスト
不特定多数に対して同じデータを送信する方式で、**1対多数**での通信となる。同一ネットワークの範囲内の全端末を意味するアドレスを使用する。
その通信を必要としていない端末にも届いてしまうため、大量に使用するとネットワークに負荷がかかる。

![kkkk38170.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/4e54d2d4-c1ca-32cd-3d2c-73712a16dcf9.jpeg)


### マルチキャスト
特定のグループに対して同じデータを送信する方式で、**1対グループ**の通信となる。1つのパケットを送信すれば、途中の集線装置などが複製して転送してくれるため、ブロードキャストのように負荷がかかることはない。

+ 複数の通信相手に同じパケットを届けるために使われる
+ ビデオ会議などの動画のストリーミング配信に適している
+ アドレスは`224.0.0.0`〜`239.255.255.255`の中から使用する

![kkk38170.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/2f0763f8-8e45-c9a8-a843-4af2d4661ac7.jpeg)



# プロトコル
データをどのような形式でどのような手順で送るかまたは受け取るかを決める規則を定めたもの。ネットワーク上での通信の手順や規約を定めたものを**通信プロトコル**と呼ぶ。また、複数のプロトコルを階層的に構成したものを**プロトコルスタック（またはプロトコルスイート**）という。


## OSI参照モデル
国際標準化機構(ISO:International Oraganaization for Standardization)によって**通信プロトコルを設計するための指標**として策定されたもの。
ネットワーク機器はベンダー（ネットワーク機器のメーカー）独自のプロトコルで通信を行っていたため、機器のベンダーが異なると通信を行うことができなかったが、機種が異なっても相互接続を行えるようになった。
通信を行うための機能を7つの階層に分け、役割を定めている。


![OSI参照モデル](https://camo.qiitausercontent.com/d6a1429cdccec949aac629ba4e7a21e68c69cde5/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3133303330322f30623837326261622d333738642d366463642d376163372d3261333631663764313532662e676966)

**第1層　物理層**
コンピューターが扱うデジタルデータとケーブルが扱う電気信号の相互変換といった物理的な接続に関して規定している。


**第2層　データリンク層**
直接接続されたノード間の通信に関して規定している。
代表的な組み合わせはMACアドレス（物理アドレス）によるネットワーク接続で、隣接したノード間で通信中のデータが壊れていないか、通信相手の識別や認識、信号の衝突の検知や回避をチェックしながらデータの受け渡しが実現される。


**第3層　ネットワーク層**
複数のネットワークをまたがったエンドツーエンド（通信を開始する送信元から最終的な宛先までの端末間）の通信に関して規定している。
論理アドレス（IPアドレス）を使用して、ルータが見てデータを次にどこへ転送すべきかを決定する（ルーティング）



**第4層　トランスポート層**
ノード間の通信の制御に関して規定している。
データの送信元と送信元の間での制御や通知、データ転送の信頼性やリアルタイム性など目的に応じた通信の信頼性に関する機能が提供されている。
代表的なプロトコルはTCPとUDP。



**第5層　セッション層**
アプリケーションによる通信全体を指し、通信を行うプログラム同士の論理的な通信路（セッション）の確率から終了までを管理する。セッションによって利用者の認証やログイン、ログアウトなどの状態管理を行うこと、Webブラウザを起動してURLを入力し、ページがすべて表示されるまでの通信

**第6層　プレゼンテーション層**
アプリケーション間でやり取りされるデータの表現形式を定義する。
SMTP（メール送信時のプロトコル）やFTP（サーバーへのファイル転送時のプロトコル）が主流となっている。実行することにより、webブラウザで文字化けが発生せずに正確な文章が表示されるようになる。
データの暗号化、圧縮方式についても規定している。


**第7層　アプリケーション層**
ユーザが利用するアプリケーション間での通信に関して規定している。WebブラウザであればWeb用プロトコル、メーラーであればメール用のプロトコル。


## カプセル化
各層においてデータの前に**ヘッダ**として取り付け下位の層に渡す処理のこと。データリンク層では、ヘッダのほかにデータの後ろに**トレーラ**（エラーチェック用の値）が付加される。

### 非カプセル化
受信側のコンピュータでは電気信号をビット列に変換してデータを取り込むため、ヘッダ情報に基づいて処理を行い、逆の手順でヘッダやトレーラが取り除かれていく処理のこと。


### PDU(Protocol Data Unit)
ヘッダが付加されて扱われるデータの単位のこと。階層モデルごとに呼び方が変わる。

+ トランスポート層（L4）：**セグメント**
+ ネットワーク層（L3）：**パケット**
+ データリンク層（L2）：**フレーム**

そして、各層で取り扱うPDUからその層のヘッダを除いた部分（データ部分）を**ペイロード**という。


# TCP/IP
現在インターネットで使用されている通信プロトコル群のこと。OSI参照モデルと異なり、各階層の役割は以下の通りになる。

## 第1層　リンク層
目的のNIC（ネットワークインターフェースカード）を渡すためにデータを電気信号に変換する。

| プロトコル| 説明 |
|:-:|:-:|
|イーサネット |ほとんどのLANで使用されているプロトコル|
|PPP(Point-to-Point Protocol) |2台の機器を接続して通信を行うためのプロトコル|
|SLIP(Serial Line Internet Protocol) |RS-232などのシリアル回線からTCP/IPネットワークに接続するためのプロトコル|

### イーサネットの規格
IEEEが802.3として定めており、通信速度や使用するケーブルによって分類される。
別名の規格名には命名規則がある

+ 数字:通信速度
+ BASE：伝送方式（イーサネットではこの方式のみ）
+ 後ろの文字
ケーブルの種類や信号の特徴。「T」はツイストペアケーブル、「F」は光ファイバー、「S」は短距離、「L」は長距離を表している。

| 規格名 | 通信速度 | ケーブル | 最大ケーブル長 |
|:-:|:-:|:-:|:-:|
| IEEE802.3(10BASE5)  | 10Mbps  | 同軸ケーブル  | 500m  |
| IEEE802.3a(10BASE2)  | 10Mbps  | 同軸ケーブル  | 185m  |
| IEEE802.3i(10BASE-T)  | 10Mbps  | UTP(CAT3以上)  | 100m  |
| IEEE802.3u(100BASE-TX)  | 100Mbps  | UTP(CAT5以上)  | 100m  |
| IEEE802.3u(100BASE-FX)  | 100Mbps  | 光(SMF/MMF)  | 20km/2km  |
| IEEE802.3z(1000BASE-SX)  | 1Gbps  | 光(MMF)  | 550m  |
| IEEE802.3z(1000BASE-LX)  | 1Gbps  | 光(SMF/MMF)  | 10km/550m  |
| IEEE802.3ab(1000BASE-T)  | 1Gbps  | UTP(CAT5e以上)  | 100m  |
| IEEE802.3ae(10GBASE-SR)  | 10Gbps  | 光(MMF)  | 300m  |
| IEEE802.3ae(10GBASE-LR)  | 10Gbps  | 光(SMF)  | 10km  |
| IEEE802.3an(10GBASE-T)  | 10Gbps  | UTP(CAT6e以上)  | 100m  |

### イーサネットフレーム
フォーマットは以下の通りになる。IEEE802.3形式とEthernetⅡ形式（DIX）の2種類があり、現在はEthernetⅡ形式が広く普及している。

イーサネットフレームのサイズは**64～1518バイト**。

![kk38310.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/88b82313-677b-9fb3-6e99-027a0cba1e17.jpeg)


| データ | 内容 |
|:-:|:-:|
| 宛先MACアドレス  | フレームの宛先となるMACアドレス  |
| 送信元MACアドレス  | フレームを送信するノードのMACアドレス  |
| タイプ  | イーサネットで伝送するデータの種類を識別するための番号  |
| データ  | 転送対象のデータ。最小46バイト、最大1500バイトのデータを格納する  |
| FCS(Frame Check Sequence)  | 受信側でフレームのエラーチェックを行うためのCRC(Cyckic Redundancy Check)値を格納。値が一致しない場合は、そのフレームを破棄する  |


## 第2層　インターネット層
目的の端末にデータを渡すためにエンドツーエンドの通信を制御する

| プロトコル| 説明 |
|:-:|:-:|
|IP(Internet Protocol) |IPアドレスを使用して送信元からデータを配送する|
|ICMP(Internet Control Message Protocol) |宛先までのルートが使用可能かどうかの確認などを行う。 |
|IGMP(Internet Group Management Protocol) | データのマルチキャスト通信で宛先の端末のグループを制御する |
|IPsec(Security Achitecture for Internet Protocol) | 暗号化通信を行う |
|ARP(Address Resolution Protocol) | 宛先IPアドレスの情報を基にして宛先のMACアドレスを取得する |
|RARP(Reverse Address Resolution Protocol) | MACアドレスからIPアドレスを取得する |

### IP(Internet Protocol)
TCPやUDP、ICMPなどのデータ転送(ルーティング)をつかさどるコネクションレス型のプロトコル。**コネクションレス型**とは、相手に通信データが正しく届いているかどうかを確認せず、一方的に送信するもの、信頼性は低くなるが伝送速度は速くなる。

+ IPアドレスの規定
+ データグラム(伝送単位)の規定
+ データグラムが伝送されるネットワーク経路の制御


### ICMP(Internet Control Message Protocol)
IP通信におけるエラー通知や制御メッセージを伝送するコネクションレス型のプロトコル。pingコマンドやtracerouteコマンドで利用される

エコー要求（Echo Request）とエコー応答（Echo Reply）を利用して通信の可否を確認する。Cisco機器では、デフォルトで以下のような設定になっている。

+ 送信側がエコー要求を送信してから2秒以内にエコー応答を受信すれば通信可能と判断する
+ 2秒以内にエコー応答を受信できなければ時間超過としてpingこまんどが失敗したと判断する

![キャプチャ7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/917b075a-4b03-c97e-ada8-d38706d39521.png)

| 項目名 | 内容 |
|:-:|:-:|
| タイプ  | メッセージの種別  |
| コード  | メッセージの詳細  |
| チェックサム  | エラーを検査するための値  |
| データ  | タイプとコードの組み合わせによって異なる  |

| メッセージタイプ | 内容 |
|:-:|:-:|
| 0  | エコー応答（Echo Reply）。エコー要求とペアで使われることが多い。送信元に対してメッセージを送り返す。  |
| 3  | 宛先到達不能（Destination Unreachable）。宛先が電源オフだった場合、宛先のネットワークを接続しているルータのところでパケットが破棄され、メッセージを自動生成し送信元にエラー通知する。|
| 8  | エコー要求（Echo Request）。エコー応答とペアで使われることが多い。送信先にメッセージを送る。エンドツーエンド通信が可能かどうか調べることができる。  |
| 11  | 時間超過（Time Exceeded）。IPヘッダ内のTTL値を1つずつ減らし、０になって破棄したときにメッセージを生成して送信元に通知する。  |

### ARP(Address Resolution Protocol)
宛先IPアドレスの情報を基にして宛先のMACアドレスを調べるためのプロトコル。問い合わせるためにARPリクエストとARPリプライというメッセージを送りあい、アドレス解決（IPアドレスとMACアドレスの関連付け）ができる。
ARPで取得した情報はARPテーブルに記録されるため、都度問い合わせることはないが、コンピュータに割り当てられるIPアドレスが常に同じとは限らないため、一定時間が経過すると消去される。

::: note info
ARPリクエストはブロードキャスト`ffff.ffff.ffff`で送信される
:::

外部のネットワークと通信するときは、**デフォルトゲートウェイ**として設定しているルータに転送してもらう。その際、先にデフォルトゲートウェイのMACアドレスを問い合わせる必要がある。

![キャプチャ7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/2322ce75-ea7c-7214-5e0f-b45e0ce4a969.png)


## 第3層　トランスポート層
目的のアプリケーションにデータを渡すために通信を制御する

### TCP(Transmission Control Protocol)
トランスポート層の**コネクション型**プロトコル。コネクション型とは、データの送信をする前に相手と通信できるかどうかを確認し、コネクション確立してからデータの送信を行うこと。
HTTPなど固有のアプリケーション層のプロトコルを橋渡しするもので、ポート番号用いて識別し、担当のソフトウェアに振り分ける。信頼性が高いが即時性や高速性は得られにくい。次のような時に適している。

+ Webページを閲覧したい
+ 電子メールの送受信を行いたい
+ ファイル共有したい

上位のアプリケーション層のプログラムからデータを受け取ると、そのデータにTCPヘッダを付加して**TCPセグメント**を作成する。

::: note info
**・MSS（Maximum Segment Size）とは？？**
1つのTCPセグメントで送信することができるデータの最大サイズ。IPパケットの場合、IPヘッダとTCPヘッダを取り除いた部分。
デフォルトのMTU（Maximum Transmission Unit）は1500バイトのため、オプション情報がない時のMSSは1460バイトになる
:::



![キャプチャ10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/ced66d02-9774-3c95-4167-07c9bf097271.png)

| 項目名 | 内容 |
|:-:|:-:|
| 送信元ポート番号  | 送信側のアプリケーションを示すポート番号  |
| 宛先ポート番号  | 受信側のアプリケーションを示すポート番号  |
| シーケンス番号  | 送信するデータの順序を管理するためのフィールド。受信側は、送られてきたデータのシーケンス番号とサイズを基に、データの正しい順番や欠落を有無を知ることができる。　　　　　　　　　　　【SYNフラグが1の場合】コネクション確立の要求として初期の値がランダムにセットされる。　　　　　　　　　　　　　　　【SYNフラグが0の場合】データの先頭バイトの位置を示す値をセットして、送信するデータの順序を制御する  |
| 確認応答番号  | ACKフラグが1の場合、「受信側のシーケンス番号＋受信データサイズ」がセットされる。この番号によって、それより前のデータはすべて受信済みであることを送信側に通知する  |
| ヘッダ長  | オプションを含めたTCPヘッダの長さを表す。オプションがない場合は20バイト  |
| 予約  | 将来、他のフィールドが拡張されることを想定して確保してあるフィールド。未使用（000）  |
| フラグ  | TCPの通信を制御するための情報。それぞれのビットに1をセットすることで、コネクションがどのような状態にあるのかを伝えて制御する  |
| ウィンドウサイズ  | まとめて受信可能なデータサイズを受信側が送信側に通知するために使用する  |
| チェックサム  | TCPセグメントにエラーがないかチェックするための値が入る  |
| 緊急ポイント  | URG（緊急に処理すべきデータのこと）フラグが1の場合、緊急データの開始位置を示すために使用  |
| オプション  | TCP通信の性能を向上させるための追加データが入る|

::: note info
フラグは確実に通信が行えるように通信相手に様々な情報を伝える。各ビットに「1」をセットすることでコネクションの状態を知らせ、制御する。

+ **SYN(Synchronize):コネクションの確立を要求する**
+ **ACK(Acknowledgement):確認応答番号フィールドが有効であることを示す**
+ **FIN:コネクションの切断を要求する**
:::

#### スリーウェイハンドシェイク
TCPの通信では3方向のメッセージ交換が行われる。通信を開始したいことを相手に伝えるとともに、この通信で使用するシーケンス番号の最初の値と、やりとりするデータの最大セグメントサイズ（MSS）を決める。

![キャプチャ11.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/9e5c9066-c064-15e9-bfd8-d6b480d53ea3.png)

![キャプチャ12.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/f40ed67f-494b-dce1-051d-7499e1579153.png)


+ **確認応答（ACK）**
信頼性を提供するために、受信側では必ずACKを返すことになっている。確認応答番号には、受信したTCPセグメントのシーケンス番号に、受信したデータサイズを足した値をセットする。
データの転送時に使用されるシーケンス番号は、スリーウェイハンドシェイクからそのまま引き継がれる。

何らかの理由で確認応答が返ってこない場合、一定時間経過した後にデータを再送する。この時の待機時間を**RTO(Retransmission Time Out:再送タイムアウト**)という。RTOは、データを送信してから応答が返るまでの時間を表す**RTT(Round Trip Time**)を基に決定する。

+ **順序制御**
TCPは大きなデータを受け取るとMSSのサイズを分割して複数のTCPセグメントとして送信する。通信回線の状況によっては送信したデータが順番に到着しないことも考えらえるため、受信側でシーケンス番号を使って分割されたデータを正しい順に再構成する処理のこと。

+ **再送制御**
再送タイマーを設定し、ある一定の時間内に確認応答がないとデータを再送信すること。

+ **ウィンドウ制御**
バッファ（記憶領域）領域を用意し、送信データがウィンドウサイズに達するまでは確認応答を待たないでデータをまとめて送ること。1つ送信の度に確認応答を行わないため、転送効率が向上する。


+ **フロー制御**
バッファ（記憶領域）のサイズは一定ではなく、通信の途中でバッファに溜まったデータを処理しきれなくなることもある。確認応答を送る際にウィンドウサイズをセットして送信側にバッファの空き容量を伝える処理のこと。
一度に大量のデータを送ると、受信側でデータを一時的に貯めておくバッファがなくなり、データが破棄されてしまうかもしれない。TCPヘッダにあるウィンドウサイズを利用して、お互いのバッファの空き容量を伝え合うことで解決している。


### UDP(User Datagram Protcol)
トランスポート層の**コネクションレス型**のプロトコル。コネクションレスは、信頼性は確保されず相手の状態にかかわらずデータをいきなり送信する。チェックサムによるエラーチェックを行う。
DHCPなど各用途ごとに固有のアプリケーション層のプロトコルを橋渡しするもので、ポート番号用いて識別し、担当のソフトウェアに振り分ける。シンプルで低遅延だが信頼性は低い。次のような場面に適している。

+ 音楽や動画配信などのリアルタイム性が重視されるとき
+ 少量のデータを効率よく転送したい
+ 複数の相手に同報通信したい


UDPヘッダが付加されたデータのことを**UDPデータグラム**という。


![キャプチャ13.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/b2354d2c-f808-ff53-d012-de62793fd2ea.png)

| 項目名 | 内容 |
|:-:|:-:|
| 送信元ポート番号  | 送信側のアプリケーションを示すポート番号。返信が不要の通信では0がセットされることもある。  |
| 宛先ポート番号  | 受信側のアプリケーションを示すポート番号  |
| データ長 | UDPヘッダを含むUDPデータグラム全体の長さが入る |
| チェックサム | ヘッダとデータの誤り検出で使用する。IPv4ではオプションとして使用される |

### ポート番号
IPアドレスを「住所」で例えるのであれば、ポート番号は「部屋番号」みたいなもの。
ポート番号は「**0番～65535番**」まで存在し、プロトコルやプログラムによってポート番号が決まる。世界共通の仕組みのため以下のルールに統一されている

+ **ウェルノウンポート(Well-Known Ports**)
IANAが管理している番号。TCP/IPで使用されるポートのうち、特によく利用されている「**0番～1023番ポート**」のこと。著名なサービスやプロトコルのためにIANAに予約されている。
**使用するには、root権限が必要**

+ **レジスタードポート(Registered Port**)
IANAに申請された登録済み番号。サービスが増えていく未来に備えて管理してある「**1024番～49151番ポート**」のこと

+ **エフェメラルポート(ephemeral port**)
IANAで正式に登録されていない番号。世界中の誰でも自由に設定できる「**49152番～65535番ポート**」のことで、よく使われるプログラムに自動的に割り当てられる。一般ユーザーは使用可能

::: note info
**・IANA(Internet Assigned Numbers Authority)とは？**
ドメイン名やIPアドレス、ポート番号といったインターネット資源を管理する組織
:::

| ポート番号 | TCP/UDP | サービス名 | 説明 |
|:-:|:-:|:-:|:-:|
| 20 |  TCP |  FTP(File Transfer Protocol)-data |ネットワーク経由でファイルを転送するための機能を提供する。   |
| 21 |  TCP |  FTP(File Transfer Protocol) |FTPの制御を行う   |
| 22 |  TCP | SSH(Secure Shell)  |暗号化技術を使用してリモート操作やファイル転送を行う   |
| 23 |  TCP | Telnet(Telecommunication network)  |暗号化技術を使用せずにリモート操作やファイル転送を行う   |
| 25 |  TCP | SMTP(Simple Mail Trancfer Protocol)  | 電子メールの送信を行う |
| 53 |  TCP/UDP | DNS(Dynamic Name System)  | インターネット上のドメイン名（ホスト名）とIPアドレスを対応させる仕組みを提供する  |
| 67 |  UDP | DHCP(Dynamic Host Configuration Protocol)  | ユーザのコンピュータにIPアドレスなどの情報を自動的に割り当てる  |
| 68 |  UDP | DHCP(クライアント) |   |
| 69 |  UDP | TFTP(Trivial File Transfer Protocol)  | UDPを用いて簡易的にファイルを転送するための機能を提供する |
| 80 |  TCP | HTTP(HyperText Transfer Protocol)  | Webページを閲覧する際にサーバとクライアント間の通信で利用する   |
| 110 | TCP  | POP3(Post Office Protocol Version3)  | 電子メールを受信するための機能を提供する |
| 123 | UDP  | NTP(Ntwork Time Protocol)  | コンピュータ内部のシステムクロックを同期し正確な時刻を提供する |
| 143 | TCP  | IMAP  | メールを受信する |
| 161 ,162 | UDP  | SNMP(Sinmple Network Management Protocol)  |ネットワーク機器やサーバをネットワーク経由で監視し管理するための機能を提供する   |
| 443 |  TCP | HTTPS(HyperText Transfer Protocol Secure)  |HTTP通信を安全にするため、SSL/TLSプロトコルを用いてセキュリティ機能（暗号化や認証）を提供する   |
| - |  UDP | RTP  |IP電話などのリアルタイム通信で使用するプロトコル。使用するポートはアプリケーションが定める|


::: note warn
**必ずしもウェルノウンポートで指定されている番号に従う必要はない**。HTTPのプロキシサーバーなどは、わざと本来とは別のポート番号でサービス提供することもある
:::


## 第4層　アプリケーション層
Webサイトや電子メールなど、インターネット状で提供されているアプリケーション間でデータをやり取りする。

| プロトコル| 説明 |
|:-:|:-:|
| HTTP(HyperText Transfer Protocol)  | Webページを閲覧する際にサーバとクライアント間の通信で利用する   |
| SMTP(Simple Mail Trancfer Protocol)  | 電子メールの送信を行う |
| POP3(Post Office Protocol Version3)  | 電子メールを受信するための機能を提供する |
| Telnet(Telecommunication network)  |暗号化技術を使用せずにリモート操作やファイル転送を行う   |
|  FTP(File Transfer Protocol)|ネットワーク経由でファイルを転送するための機能を提供する。 |


# イーサネットLANの基礎

## ケーブルの種類

### ツイストペアケーブル（LANケーブル）
より対線と呼ばれ、8本の細い銅線を2本ずつより合わせたケーブルのこと。4対線の外側をビニールの皮膜で覆い1本のケーブルにしている。
ケーブルの末端に取り付けられたコネクタ部分で接続する。RJ-45と呼ばれる8芯のコネクタが使用される。

+ 電気信号で通信を実現する
+ 主にLANで使用される
+ 長距離伝送に使用されない
+ 光ファイバーケーブルより安価

線の配列が異なる2種類のケーブルが存在する

![kk36931.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/91bf4038-0629-6f39-df40-8098695aaec6.jpeg)



+ **ストレートケーブル**
ケーブルの両端のピン(コネクタ部分にある電極1つ1つのこと)配列が同じで、内部にある8本の導線が両端で同じピンと接続できるようになっている。
**PCとスイッチのようにMDIポートを持つ機器とMDI-Xのポートを持つ機器をつなぐ際に有効**

![36942.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/75a5c827-5daf-7486-8dd8-5633b3cf7442.jpeg)


+ **クロスケーブル**
ケーブルの両端のピン配列が異なっている。**スイッチ同士のように同じピン配列（同じMDI-Xのポートを持つ機器）のポートをつなぐときに有効**

![36894.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/66b1a8f4-d724-51e7-d148-95064e13e2cd.jpeg)


::: note info 
**Auto MDI(Medium Dependent Interface)/MDI-X機能**による接続先のポートタイプを自動判別して切り替えを行ってくれるため、最近はクロスケーブルはあまり使われない

| 種類 | ピンの状態 | 機器の例 |
|:-:|:-:|:-:|
| MDI  | 8本のうち、1番目と2番目を送信、3番目と6番目を受信に使用する  | ルータやPCなど  |
| MDI-X  | 8本のうち1番目と2番目を送信、3番目と6番目を送信に使用する  | ハブやスイッチなど  |

:::

#### UTP(Unshielded Twisted Pair)
ツイストペアケーブルには、電磁ノイズを遮断するシールド加工を施したタイプがある。

#### STP(Shielded Twisted Pair)
ノイズが多く発生する工場や研究所など特殊な環境で使用される。STPは高価なため、一般的にはシールド加工なしのUTPが使用されている。

### 光ファイバーケーブル
ガラスの中に光を閉じ込めて伝送する通信ケーブルのこと。光を伝搬する中心部分「コア」と、周囲を覆う「クラッド」の2種類の素材で構成されている。特定の角度で反射を繰り返しながら進んでいく。
伝搬される光の通り道のことを**モード**と呼び、モードの数によって光ファイバーケーブルは2種類に分類される。

#### SMF(single mode fiber)
コアの径が小さく、1つのモードしか通らない光ケーブルのこと。光信号に歪みや分散がないため、高品質で安定した通信が可能。長距離通信に適している。

| 規格 | コア径 |
|:-:|:-:|
| OS1  | 8~10μm  |
| OS2  | 8~10μm  |

#### MMF(multi-mode fiber)
複数のモードを通す光ケーブルのこと。信号の伝搬に歪みが生じるため、シングルモードと比べると伝送損失が大きくなる。光ファイバー接続が簡単で安価なため、建物の中や敷地内などの近距離通信で広く使用されている。

| 規格 | コア径 |
|:-:|:-:|
| OM1  | 62.5μm  |
| OM2  | 50μm  |
| OM3  | 50μm  |
| OM4  | 50μm  |
| OM5  | 50μm  |


## ケーブルのカテゴリ
対応している規格によって分けられており、適合する通信速度や周波数が異なる。カテゴリ名に含まれる数字が大きいほど品質が高く、1秒あたりに送信できるデータ量も多いため高速通信が可能になる。「CAT6」のように表記される。
「CAT7」以上はSTPのみのケーブルとなる

| カテゴリ | 対応する規格 |
|:-:|:-:|
| 5e  | 100BASE-TX, 1000BASE-T |
| 6  | 1000BASE-T,1000BASE-TX  |
| 6a  | 10GBASE-T  |
| 7  | 10GBASE-T  |

また、伝送速度が100Mbpsの100BASE-TXをファストイーサネット、1Gbpsの1000BASE-TXをギガイーサネットという。

::: note info
**・bps(bit per second)とは？？**
通信速度を表す単位。1秒間に何ビットのデータが転送されるかを表している。
:::

## MACアドレス
イーサネットや無線LANにおいてフレームの送信元や宛先を特定するためのアドレス。NIC(ネットワークインターフェースカード)には、必ず一意のアドレスが割り当てられている。ハードウェアアドレスや**物理アドレス**とも呼ばれる。
48ビット（6バイト）で構成されていて、16進数で表記し12桁になる

+ **OUI(Organizationally Unique Identifier)**
前半の24ビットでNICのベンダーを識別するIDのことで、IEEEが管理している。


![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/569ab0fe-9b3f-b9d8-b62f-3ebe94d2c576.png)

表記には3つの記述方法がある。

+ 2桁ずつ「-」で区切る
+ 2桁ずつ「：」で区切る
+ 4桁ずつ「.」で区切る：ブロードキャストアドレスMACアドレス際に使用

### MACアドレスの種類
通信の方式に合わせて3種類存在する

+ **ユニキャストアドレス**
単一の機器を識別するためのMACアドレス

+ **ブロードキャストアドレス**
ネットワーク上の特定のグループを識別するためのMACアドレス。

+ **マルチキャストアドレス**
ネットワーク上の全ての機器を指定するためのMACアドレス。48ビット全てが1となっている。


## 全二重通信
**データの送信と受信を同時に行うこと**。
2つのイーサネットポート間をツイストペアケーブルで接続することで行うことができる。見た目は1本だが、内部は8本の導線が2本1組となってより合わさっているため、4組のケーブルとして使用できる。

+ **スイッチは全二重通信を行う**
+ スイッチのポートとPCを**1対1で接続した場合**は全二重通信が可能
+ 全二重通信では**コリジョンが発生しない**

## 半二重通信
データの送信と受信を同時に行うことができず、送信側と受信側が交互にデータを送信し通信を行うこと。リピータハブや同軸ケーブルなどの接続が主に利用される。
コリジョンが発生する可能性があるため、コリジョンを検知した場合は、バックオフアルゴリズムを実行し、ランダムに計算された時間待機し、その後送信を再開する。


## CSMA/CD(Carrier Sense Multiple Access/Collision Detection)
初期のイーサネット（バス型トポロジ）で使用されていた通信を制御する方式で、以下のように動作する。
半二重通信の場合、同時にデータを送信してしまうとデータの衝突（コリジョン）が起きデータの送受信ができなくなるため、アクセス制御により通信を制御する。

+ **ケーブルの空きを確認（CS:キャリアセンス）**
データを送ろうとするホストは、ケーブル上に信号が流れていないことを確認する（Carrier Sense:キャリア検知）。信号が流れていれば待機し、ケーブルが空きになるまで繰り返し確認を行う

+ **同じ回線を共有しデータを送信（多重アクセス）**
複数のホストは同じケーブルを共用し、ケーブルの空きが確認できるとデータの送信を開始できる（Multiple Access）

+ **衝突（コリジョン）の検出**
複数のホストがほとんど同じタイミングでケーブルの空きを確認すると、同時にデータの送信を開始する。1本のケーブル上に送信された信号は衝突し壊れてしまう。この電気信号の衝突を**コリジョン**と言う。
コリジョンを検出したホストは、全てのホストに衝突を**ジャム信号(Jam Signal**)で知らせる（Collision Detection:衝突検出）


+ **ランダムな時間待ってからデータを再送信**
コリジョンを検出するとデータの送信を停止し、ランダムに設定された（任意の）時間を待機してからデータを再送信する。バックオフというアルゴリズムによって、待ち時間をランダムにすることで再送信のタイミングをずらし、再度衝突することを回避している。


![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/769eccbe-6b3a-b59a-b250-e4d04ca02f1f.png)

## 主要な機器

### リピータハブ
イーサネットの集線装置で、MACアドレスを解釈できず全ての電気信号を全てのポートに中継する。**レイヤ1デバイス**とも呼ばれる。
中継するだけで宛先を見て転送先を決定する機能はない。そのため、ポートから電気信号を受信すると、**受信したポート以外の全てのポートから**データを送信する。結果として、関係のない端末にもデータが届いてしまう。
また、半二重通信しかできないため送信と受信を同時に行えない。接続する端末が増えると通信効率が悪くなるため、現在は使用することはなくなっている。

### スイッチ
MACアドレスを利用してデータの転送処理を行う集線装置のこと。MACアドレスを解釈して、データを必要なポートにのみ送ることができ、同時に複数の端末が通信可能。レイヤ2スイッチ、レイヤ3スイッチなどがある。

専用のASIC(特定の機能を持ったICチップ)で処理を行うため、データの転送処理などがCPUとは別に実行できるため、CPUの負荷が減り転送処理が速くなる。

#### フィルタリング機能
宛先MACアドレスを基にMACアドレステーブルを検索し、該当するポートにデータを送信する機能。


#### MACアドレスの学習
フィルタリングに使用するMACアドレステーブルは、最初から情報が登録されているわけではなく、データを転送しながらMACアドレスを学習していく。
宛先のMACアドレスがテーブルに存在しない場合、どのポートに転送すべきか判断できないため、受信したポート以外の全てのポートからフレームを創出する。この動作を**フラッディング**と呼ぶ。

::: note info
**・MACアドレステーブルとは？？**
各スイッチのポートとその配下に接続されているホストのMACアドレスが記録されるデータベースのこと。
:::


![キャプチャ4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/051adaff-6a91-ce74-d14f-08115d51c2ef.png)


![キャプチャ5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/573a1504-d86e-682a-b444-14334f4addb9.png)

#### MACアドレスのエージング
一定時間が経過すると、学習したMACアドレスはテーブルから消去される。


### ルータ
ネットワーク層で動作する機器で異なるネットワークを相互接続するために使用される。物理層では電気信号の送受信を行い、データリンク層では、フレームヘッダのタイプをみる。上位層のプロトコルを識別をして、IPパケットの場合、ネットワーク層でパケットヘッダの「宛先
アドレス」をみてルーティングテーブル（パケットの配送先の経路情報）に従ってパケットを転送する。

+ パケットが通過する経路を決定する
+ 異なるネットワークを学習する

### フロー制御
全てのポートで受信したフレームが蓄積されるバッファバッファメモリがあり、あふれそうになると各ポートに接続している機器に信号を送り、フレームの制御を行うこと。2つの方式が存在する。



+ **バックプレッシャ制御**
CSMA/CD方式のアクセス制御を応用して**輻輳制御**を行う。半二重通信で使用される。バッファメモリのデータ量を監視し、減少しあふれそうになると送信側へジャム信号を送信する。

+ **IEEE802.3xフロー制御**
全二重通信で使用される。バッファメモリを監視する点は同じだが、データの送信を抑制するためにPAUSEフレームを送信する。PAUSEフレームの情報を受け取ったフレームの送信元の端末は、指定時間だけデータの送信を停止する。

### ブリッジ
スイッチと同様の機能を持つレイヤ2の機器で、ソフトウェア主体の処理を行う。フレームの転送などの処理をメモリに読み込み、CPUで実行する。CPU任せになるためスイッチより転送処理は遅い。

::: note info
**・ポート密度とは？？**
1つのネットワーク機器にあるポートの数のこと。ブリッジはほとんどが2ポートのみで、スイッチは多くのポートを持つ。
:::



## フレームの転送方式
以下の転送方式が存在し、現在はストアアンドフォワード方式が採用されている。Cisco製のスイッチも一緒。

|  転送方式 | 説明 |
|:-:|:-:|
| カットスルー  | フレームのの先頭から**6バイト（宛先MACアドレスのみ**）を読み込み転送する。転送速度は一番速いが、エラーチェックをMACアドレスしか行わないため通信品質は低い|
| フラグメントフリー  | フレームの先頭から**64バイト**までを読み込み転送する。転送速度はストアアンドフォワードより速く、通信品質はカットスルーより高い  |
| ストアアンドフォワード  | **1つのフレーム全体**を受信した後、メモリに蓄積しFCSによりエラーチェックを行い、問題がなければ転送する。転送速度は一番遅いが、通信品質は最も高い  |


## コリジョンドメイン
「データの衝突（コリジョン）が起こる範囲」のこと。集線装置としてスイッチとハブ（リピータハブ）のどちらを使用するかによって大きく異なる。

+ ハブの場合
ハブとホストの間では、ツイストペアケーブルの構造からケーブル上での信号の衝突は起きないが、同時に2つのポートから電気信号を受信すると処理することができない。疑似的に衝突が発生したことにして、全てのポートからジャム信号を送信する。

+ スイッチの場合
バッファリング機能があるためスイッチとホストをつなぐケーブル上で信号の衝突は起こらない。また、2つ以上のポートから電気信号を受信しても、フレームとして処理することが可能。

このように、ハブは接続されているノードは全体で1つのコリジョンドメインを構成し、スイッチは**ポートごとにコリジョンドメインを分割**することができる。


![キャプチャ6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/c2abb926-053e-f96e-37b3-8d29f2d30398.png)

::: note info
**・マイクロセグメンテーションとは？？**
スイッチのポートごとにコリジョンドメインを分割（小さくセグメント化）すること。スイッチのポートにデバイス（PCやサーバなど）を1台だけ接続した場合コリジョンが発生しないため、ハブ（コリジョンを分割しない機器）を使用している場合と比べ通信効率が良くなる。
:::


### ブロードキャストドメイン
ブロードキャストアドレスを宛先にしたデータが届く範囲のこと。スイッチはMACアドレステーブルに登録されず、ルータはブロードキャストを転送せずインターフェイスごとにブロードキャストドメインを分割する

![キャプチャ3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/12a6d6fb-3608-6635-3491-5a895bd0bba8.png)


## オートネゴシエーション
接続する相手によって、自分の通信速度や通信モード(半二重または全二重)を自動で切り替える機能。双方の機器が対応している優先順位の高いものを選ぶ。
一方が無効にし、もう一方が有効にしていると、通信が不安定になるため注意が必要。

![キャプチャ4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/414f06a6-71d0-a883-1353-862ae8471dcb.png)


# IPv4アドレッシングの基礎

## ネットワーク層の機能と概要
アドレッシング（通信する相手を識別するためのアドレス指定）と、ルーティング（目的の場所までのルート選択）が主な役割となっていて、IP(Internet Protocol)を利用してこれらの機能を提供する。
イーサネットでは、「直接接続された同じ回線上の機器間での通信」を行っていたが、IPアドレス(論理アドレス)を使用し、ルータを介して接続された異なる回線上の端末とも通信を行える。

::: note info
**・IPアドレッシングとは？？**
ネットワーク上の機器にIPアドレスを割り当てること。PCやルータなどのネットワーク機器には一意のIPアドレスが割り当てられている必要がある。
:::


### IPヘッダ
IPパケットにつけられるヘッダのこと。ヘッダの中にはたくさんのフィールドが存在する。

![IPheader](https://www.itbook.info/study/img/iphead2.gif)

| 項目名 | 内容 |
|:-:|:-:|
| バージョン  | ヘッダのバージョン番号。IPv4だと4、IPv6だと6  |
| ヘッダ長  | IPヘッダの長さで4バイト単位  |
| サービスタイプ  |  Type of Serviceとも呼ばれ、パケットの優先度を指定するために使用 |
| パケット長  | IPパケット全体（IPヘッダ＋データの長さ）  |
| 識別子  |  パケットを識別するための値 |
| フラグ  | 大きなデータを複数のパケットに分けて転送する際、データを分割しているかどうか示すために使用する  |
| フラグメントオフセット  | 分割された何番目のパケットなのか示すために使用する  |
| TTL（Time To Live）  | パケットの生存時間。ルーティングループ（パケットが同じ経路をぐるぐる回ること）を起こさないように値を指定する。TTL値を1つずつ減らしながら転送し、0になった時点で破棄する。最大255まで設定可能。OSによって初期値は異なる  |
| プロトコル  | 上位（トランスポート層）のプロトコルを識別するための番号  |
| チェックサム  | ヘッダ部のエラーを検査する値  |

## IPv4
現在多くのネットワークで利用されているIPのバージョンで、32ビット(4バイト)となっている。約43億個利用可能だが、実際に割り当て可能なアドレス個数はもっと少なくなっている。

IPv4アドレスの消費を抑えるために、**RFC1918で策定されたプライベートIPアドレス**や**NAT(RFC1631**)が存在する。

::: note info
**・RFCとは？？**
インターネットに関する技術の標準を定めるIETFが正式に発効する文書のこと
:::

クラスと呼ばれるネットワーク部とホスト部の境界をアドレスの範囲で決め、それを以下の5種類に分けられる。

| クラス | IPアドレスの範囲 | サブネットマスク |使用目的 | 
|:-:|:-:|:-:|:-:|
| A  | 0.0.0.0~127.255.255.255  | 255.0.0.0  |ユニキャスト（大規模ネットワーク）|
| B  | 128.0.0.0~191.255.255.255  | 255.255.0.0  |ユニキャスト（中規模ネットワーク）|
| C  | 192.0.0.0~223.255.255.255  | 255.255.255.0  |ユニキャスト（小規模ネットワーク）|
| D  | 224.0.0.0~239.255.255.255  |   |マルチキャスト|
| E  | 240.0.0.0~223.255.255.255  |   |予約（将来的に使用）|

### プライベートIPアドレス
企業や家庭内の同一LAN内で重複しなければ自由に割り当てることができる**RFC1918**で策定された**内部専用のアドレス**のこと。インターネットと直接通信することができないので、グローバルIPアドレスに変換してから通信を行う。

プライベートアドレスの範囲
| クラス | IPアドレスの範囲 |
|:-:|:-:|
| A  | 10.0.0.0~10.255.255.255  |
| B  | 172.16.0.0~172.31.255.255  |
| C  | 192.168.0.0~192.168.255.255  |

### グローバルIPアドレス
インターネットと直接通信ができる一意のアドレスで、パブリックアドレスとも呼ばれる。契約したISPによって割り当てられる。


### サブネット部
IPアドレスにサブネットを識別するために必要なもの。ホスト部から任意のビット長を借りることで表現できるようにする。
借用するビット数が多いほどサブネットの数は増加するが、ホスト部のビット数が減るため、1つのサブネットで使用できるホストアドレスが少なくなるので注意が必要。

### CIDR(Classless inter-Domain Routing)
IPアドレスのクラスの概念を使わずに、任意の長さのサブネットマスクを利用する事。ネットワークアドレス部を1ビット単位で扱うことが出来る。
例えば、クラスCネットワークをサブネットマスクで分割すると、4つのサブネットワークに分割でき、それぞれのサブネットワークでは62のホストを扱える。

| IPアドレスの範囲 | ネットワークアドレス | ブロードキャストアドレス | 最大ホスト数 |
|:-:|:-:|:-:|:-:|
| 192.168.0.0~192.168.0.63  | 192.168.0.0  | 192.168.0.63  | 62  |
| 192.168.0.64~192.168.0.127  | 192.168.0.64  | 192.168.0.127  | 62  |
| 192.168.0.128~192.168.0.191  | 192.168.0.128  | 192.168.0.191  | 62  |
| 192.168.0.192~192.168.0.255  | 192.168.0.192  | 192.168.0.255  | 62  |

### 特殊なアドレス
予約済みで、ホストには割り当てられないものいくつか存在する。

| 範囲（1バイト目） | 用途 |
|:-:|:-:|
| 0  | デフォルトルートなどに利用される  |
| 127  | ローカルループバックアドレスなどに利用される  |

| 特殊なアドレス | アドレスの範囲 | 内容 |
|:-:|:-:|:-:|
| ローカルループバックアドレス  | 127.0.0.1~127.255.255.254  | ネットワーク機器自身を示すアドレス。localhostとして参照され、127.0.0.1が使われることが多い  |
| リンクローカルアドレス  | 169.254.0.0~169.254.255.255| DHCPを利用する環境で、DHCPが機能せずにIPアドレスが割り当てられない時に仮に割り当てるアドレス  |

## サブネット化(サブネッティング)
1つのネットワークを複数の小さなネットワークに分割すること。セキュリティの向上やブロードキャストの制御、IPアドレスの節約などのメリットがある。

+ 1つのネットワークアドレスで複数のネットワークを作成できる
+ サブネット化するとネットワーク部のビット数が増える

::: note info
サブネット化とは真逆の**スーパーネット化**もある。複数のサブネットをまとめて1つの大きなネットワークにすること。
:::

サブネット化を行う際は、以下の計算式で求めることができる

**サブネット数 = 2のn乗**
**n=サブネット部-元のネットワーク部**

また、各サブネットに接続可能なホスト数は以下の計算式で求めることができる。

**ホスト数=2のn乗-2**
**n=ホスト部のビット数**

## VLSM(Variable Length Subnet Mask)
可変長サブネットマスクのことで、1つのネットワークを異なるプレフィックス長をもつ複数のサブネットに分割することができる。効率よくアドレスを使用することができる。

![キャプチャ5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/351bebcd-e09f-3e23-b525-8fd9f26b67d5.png)

![kkk58316.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/1a47a989-21b8-3107-31bd-4b35720a547b.jpeg)


### FLSM(Fixed Length Subnet Mask)
固定長サブネットマスクのことで、分割されたネットワークで全て同じプレフィックス長を使うこと。

![キャプチャ6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/46527afe-1306-8e20-3ac7-04a37177a39d.png)


## ネットワークアドレスとブロードキャストアドレスの求め方
サブネット化を行った場合、以下の計算式でネットワークアドレスとブロードキャストアドレスを求めなければならない。

::: note info
1. 計算対象となるオクテットに残っているホスト部のビット数だけ、2の累乗計算をする
2. 対象オクテットの数字を先ほどの計算結果で割り商を出す
3. 1の結果と2で計算した商を掛け算した結果を計算対象オクテットの値とし、右のオクテットを0にするとネットワークアドレスとなる
4. 3の答えと1の答えを足して-1した結果を計算対象オクテットの値とし、右のオクテットを255にするブロードキャストアドレスとなる

:::
~~~ md
例題　192.168.3.149/29の場合
1. ネットワーク部が5ビット、ホスト部が3ビットのため2の3乗の8となる
2. 149÷8＝18.625　商は18となる
3. 8×18＝144　⇒192.168.3.144がネットワークアドレスとなる
4. 144+8-1=151 ⇒192.168.3.151がブロードキャストアドレスとなる
~~~


## 非同期転送（Asynchronous transmission）
通信における一種のデータ転送方法のことで、送信者と受信者の間で、タイミングの同期を取る必要がないデータ転送方法。コンソール接続によるネットワーク機器設定やEメールによる通信が該当する。

:::note info
IP電話やビデオ会議などの音声通信や、キーボード入力やマウス操作のBluetooth通信など、リアルタイム性を要する通信は同期転送（Synchronous transmission）が行われる。
:::