ネットワーク基礎

# 1. ネットワークとは

## 1.1. ネットワークの種類
ネットワークの種類は大きく分けてLANとWANの2種類に分類することができます。
>
<dl>
  <dt>LAN(Local Area Network)</dt>
  <dd>同じ建物の中などの限定された範囲で接続できるネットワークのこと。</dd>
  <dt>WNA(Wide Area Network)</dt>
  <dd>LANとLANをつないだ大きなネットワーク。<br>インターネットもWANの一種。</dd>
</dl>

![ネットワーク_LAN_WAN.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/40917a60-b5cd-634d-03b3-3333fb4416ac.png)
図1 ネットワークイメージ

## 1.2. ネットワーク機器
ネットワークを構成する機器には主に以下のようなものがあります。
>
<dl>
  <dt>LANケーブル</dt>
  <dd>端末をネットワークへ接続するケーブル。<br>NIC（Network Interface Card）と呼ばれる装置が端末に取り付けられており、そこへLANケーブルを接続する。</dd>

![LANケーブル](https://images-na.ssl-images-amazon.com/images/I/71Oh0uhX0bL._SX522_.jpg)

  <dt>HUB(ハブ)</dt>
  <dd>複数のパソコンをLANへ接続するための、集線および中継装置。</dd>

![HUB](https://images-na.ssl-images-amazon.com/images/I/71TBqaWjmgL._SX522_.jpg)


  <dt>ルーター</dt>
  <dd>ネットワーク間を接続する装置。<br>別ネットワークから別ネットワークへの通信経路を指示する。</dd>

![ルーター](https://images-na.ssl-images-amazon.com/images/I/71VnfYC12jL._SX522_.jpg)

  <dt>回線終端装置（ONU）</dt>
  <dd>インターネット回線を流れる信号をデジタル信号に変換する装置。主にWANとLANを接続する境界線に設置される。<br>光回線の場合はONU(Optical Network Unit)。ADSL回線の場合はモデムと呼ばれる。</dd>

![ONU](https://images-na.ssl-images-amazon.com/images/I/71j6QNDoqdL._SY679_.jpg)

  <dt>ファイアウォール</dt>
  <dd>不要な通信を遮断する装置。</dd>

![ONU](https://images-na.ssl-images-amazon.com/images/I/41GDA2yac%2BL.jpg)


  <dt>WAF（Web Application Firewall）</dt>
  <dd>ファイアウォールに対して様々な機能を追加したもの。<br>Webフィルタリング機能、アンチウイルス機能などを提供する場合が多い。</dd>
</dl>
<br>


各種機器を実際に配置すると以下のようなイメージとなります。
![ネットワーク_02_ネットワーク機器.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/0cb78b68-3914-e2e7-4f53-e46f9b1ef2c8.png)
図2 各種機器配置イメージ

# 2. 通信の仕組み
## 2.1. IPアドレス
IPアドレスとはネットワーク上で機器を識別するために割り当てられた住所のようなものです。
IPアドレスにはIPv4とIPv6の2種類があります。
>
<dl>
  <dt>IPv4</dt>
  <dd>合計32bitで構成されており、8bit単位で4つに区切られ表記されます。<br>　(例)192.168.1.1</dd>
  <dt>IPv6</dt>
  <dd>合計128bitで構成されており、16bit単位で8つに区切られ表記されます。<br>近年ではIPv4のアドレスの枯渇が問題となっており、IPv6への移行が進められています。<br>　(例)fd00:12:11af:1:21b:8bff:fe9b:b3c8</dd>
</dl>


![IPv4アドレス](https://www.kagoya.jp/howto/wp-content/uploads/750px-Ipv4_address_ja.svg_-e1477281476626.png)

IPアドレスはネットワーク部とホスト部に分かれており、ネットワーク部はどのネットワークに所属しているかを表し、
ホスト部はネットワーク内での識別番号となります。
ネットワーク部とホスト部の境界線はサブネットマスクにて決定されます。

![ネットワーク_03_ネットワーク部ホスト部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/416143e6-ad04-88f0-d759-a1fd7f3efb38.png)
図3 ネットワーク部とホスト部

IPアドレスは自由に設定可能であり、サブネットマスクによりネットワーク部とホスト部は自由に分割可能ですが、**プライベートIPアドレス**と呼ばれる概念がありLAN(社内や家庭内)でIPアドレスを設定する場合は決められた範囲内でIPアドレスおよびサブネットマスクを設定することが推奨されます。

■プライベートIPアドレスの範囲

| クラス       |IPアドレス|アドレス範囲|
|:-----------------|:-----------------:|:------------------:|
| クラスA           |10.0.0.0/8        |10.0.0.0 ～ 10.255.255.255|
| クラスB           |172.16.0.0/12     |172.16.0.0 ～ 172.31.255.255|
| クラスC           |192.168.0.0/16    |192.168.0.0 ～ 192.168.255.255|


参考URL：https://www.kagoya.jp/howto/network/ipaddress/

## 2.2. IPアドレスの割り振りについて
各ネットワーク端末へIPアドレスを付与する方法は**固定IPアドレス**と**DHCP**の2種類あります。

固定IPアドレスは各端末へ手動でIPアドレスを設定する方法です。
DHCPは各端末へ自動でIPアドレスを付与する方法です。
DHCPの場合DHCPサーバーと呼ばれる各端末へIPアドレスの割り振りを行う機能を持つサーバーが必要となります。
一般的な家庭の場合DHCPサーバーはルーターが担当する場合が多いです。

## 2.3. 基本的な通信の仕組み
通信は基本的に宛先のIPアドレスを指定します。
宛先が同一ネットワーク内であれば送信元端末が直接宛先へ通信することができます。
宛先が同一ネットワーク上に宛先が存在しない場合、相手がどこにいるのかが全くわかりません。
この場合はとりあえず**デフォルトゲートウェイ**へ別ネットワークへ探してもらうように依頼します。
基本的に**デフォルトゲートウェイ**にはルーターを指定します。

宛先が別のネットワーク上にある場合はルーターが別のネットワークへ宛先を探しに行き、宛先のネットワークへ到達するまで別のネットワークへ中継を続けます。

>■192.168.2.12の端末が同一ネットワークに存在する192.168.2.10へ通信する場合。
![ネットワーク_03_ネットワークの仕組み_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/562c13da-6c95-2598-f836-d802ee929bf6.png)
![ネットワーク_03_ネットワークの仕組み_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/431b0ba5-b128-e5d4-e740-df7088a8f3c5.png)
①同一ネットワークに存在する192.168.2.12へ通信

<br>
>■192.168.2.12の端末が別ネットワークに存在する192.168.1.10へ通信する場合。
![ネットワーク_03_ネットワークの仕組み_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/871fb6fa-f950-6711-0ede-6f103d9d268d.png)
![ネットワーク_03_ネットワークの仕組み_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/5f25f782-ee83-d80b-b3b1-2de64c5f4b02.png)
①同一ネットワーク上に192.168.1.10が存在しないため、デフォルトゲートウェイへ中継
②ルーターが該当ネットワークを発見し、該当ネットワークのルーター(ゲートウェイ)へ中継
③該当ネットワークのルーターから宛先へ通信

<br>
以下のように宛先が隣接するネットワークに存在しない場合は、ルーターが該当ネットワークを発見できるまで繰り返し中継を続けます。
![ネットワーク_03_ネットワークの仕組み_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/7da42461-9ef5-3b98-c326-059d427d1622.png)

## 2.4. ポート番号とプロトコル
ネットワークを経由して対象へアクセスする場合、対象に対して何らかのアクションの実行やデータの取得を目的とします。
対象端末は送信相手がどのような目的でアクセスしているかを、アクセスされている**ポート番号**にて判断を行います。

また、対象端末は目的に応じた通信ルール（**プロトコル**）に基づき送信相手と通信を行います。

以下に代表的なポート番号とプロトコルを挙げます。

| ポート番号        |プロトコル          |TCP/UDP           |説明               |
|:-----------------|:-----------------:|:-----------------|:------------------|
| 80               |HTTP               |TCP               |Webページを閲覧する際に用いられる。<br>HTMLなどのコンテンツの送受信に用いられる通信プロトコル。|
| 443              |HTTPS              |TCP               |暗号化しHTTPの内容を行うプロトコル。|
| 110              |POP3               |TCP               |メールサーバからメールを取得するプロトコル。|
| 25               |SMTP               |TCP               |メールを送信するプロトコル。|
| 53               |DNS                |UDP               |名前解決を行う際に使用するプロトコル。|
| 3389             |RDS                |TCP               |Windowsのリモートデスクトップ用プロトコル。|

![ネットワーク_05_ポート番号とプロトコル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185347/caad8464-b759-80a8-5146-b40def2b5118.png)


ポート番号は 0 ～ 65535 の範囲で設定することが可能。
ただし、0 ～ 1023 を**ウェルノウンポート番号**と呼び、特定のサービスやプロトコルが利用することが広く知られており、インターネットで公開するサーバはその番号を当該サービス、プロトコルで利用することが推奨されている。
参照：[ポート番号一覧](https://ja.wikipedia.org/wiki/TCP%E3%82%84UDP%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7%E3%81%AE%E4%B8%80%E8%A6%A7)