ネットワークの基礎知識まとめ

我々エンジニアが仕事をする上で『ネットワーク』は当たり前にありすぎて、もはや意識したことがないレベルです。
同じような言葉に『インターネット』という言葉があり、先日まで私はどちらもほぼ同じようなものだと思っていたのですが、実はインターネットはネットワークの1つであるという情報を知ったとき、『やばい！自分ネットワークについて全然詳しく知らないな』と思ったのでこの機会に少し勉強してみました。

[『キタミ式イラストIT塾 基本情報技術者 令和03年』](https://www.amazon.co.jp/%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E4%BB%A4%E5%92%8C03%E5%B9%B4-%E3%81%8D%E3%81%9F%E3%81%BF%E3%82%8A%E3%82%85%E3%81%86%E3%81%98/dp/4297117819)の内容を参考にネットワークについて学習したので備忘録として残しておきます。

#ネットワーク
###LANとWAN
LAN・・・Local　Area　Networkの略称で狭い範囲のネットワークのこと。

WAN・・・Wide　Area　Networkの略で遠く離れたLANとLANをつなぐネットワークのこと。

###データ通信路の方式とWAN通信技術
専用回線方式・・・コンピュータ同士を1本の回線で結ぶ通信路の方法。1対1の通信しか行えない。

交換方式・・・『交換機』と呼ばれる機械が回線の選択を行って、通信路が確立される方式。
　↳回線交換方式・・・送信元から送信先にまで至る経路を交換機がつなぎ、通信路として固定する方法。
　↳パケット交換方式・・・パケットという単位に分割された通信データを交換機が適切な回線へと送り出して通信路を形成する方法

###WAN構築時の通信方式
専用線・・・拠点間を専用の回線で結ぶサービス。セキュリティは高いが非常に高額。

フレームリレー方式・・・パケット交換方式をもとに、伝送中の誤り制御を簡略化して高速化を図った方法。

ATM交換方式・・・パケット交換方式をもとに、データ転送の単位を可変長ではなく固定長のセルにすることで高速化を図った方法。

広域イーサネット・・・LANで一般的に使われているイーサネット技術を用いて拠点間を接続する方法。高速でコスト面も抑えられるため、近年のWAN構築の主流となっている。

###LANの接続形態（トポロジー）
トポロジー・・・LANの構築時に各コンピュータをつなぐ接続形態のこと。
　↳スター型・・・ハブを中心に放射線状に各コンピュータを接続する形態。
　↳バス型・・・１本の基幹となるケーブルに各コンピュータを接続する形態。
　↳リング型・・・リング状に各コンピュータを接続する形態。

###イーサネット
イーサネット・・・LANの規格として現在最も普及している規格。通信速度をbpsという単位で表す。

CSMA/CD方式・・・イーサネットに採用されているアクセス制御方式。ネットワーク上の通信状況が確認できた場合にのみデータの送信を開始する。

###トークンリング
トークンリング・・・リング型LANの代表格であり、アクセス制御方式にトークンパッシング方式を用いる。

トークンパッシング方式・・・トークンと呼ばれる小さなデータをぐるぐる回し送信データをトークンにつけて流す方法。

###処理形態
集中処理・・・ホストコンピュータと呼ばれる大型のコンピュータが集中的に処理を行い、他のコンピュータはデータの送受信と結果の表示のみを行う方法。

分散処理・・・複数のコンピュータに負荷を分散させて、それぞれで処理を行うようにした構成。

###クライアントサーバシステム
クライアントサーバシステム・・・集中的に管理したほうが良い資源やサービスを提供するサーバと、リクエストをするクライアントという２種類のコンピュータで処理を行う構成。
　↳ファイルサーバ・・・ファイルの共有や保存を行う。
　↳Webサーバ・・・Webページを公開する。
　↳プリントサーバ・・・プリントを共有して印刷する。
　↳メールサーバ・・・電子メールを受け取ったり送ったり保管したりする。
　↳データベースサーバ・・・データベースへのリクエストを処理する。

#プロトコルとパケット

###プロトコル
プロトコル・・・ネットワークを通じてコンピュータ同士がやり取りするための約束事。

OSI基本参照モデル・・・プロトコルの様々な種類を事細かに７階層に分けて決めたもの。
　↳第１層・・・物理層（物理的にどうつなぐか）
　↳第２層・・・データリンク層（同一ネットワーク内でどう通信するか）
　↳第３層・・・ネットワーク層（ネットワークとネットワークをどう中継するか）
　↳第４層・・・トランスポート層（通信の信頼性はどう確保するか）
　↳第５層・・・セッション層（通信の開始から終了までをどう管理するか）
　↳第６層・・・プレゼンテーション層（データはどんな形にするか）
　↳第７層・・・アプリケーション層（具体的にどんなサービスを提供するのか）

TCP/IP・・・現在、インターネットの世界で標準とされているプロトコル。通信データをパケットに分割して通信路に流す。（通信路上に流せるデータ量は有限なので、小さいパケット状に分割して流す）

###ネットワークの伝送速度
ネットワークの伝送時間　＝　データ量　÷　回線速度
　→しかしネットワーク回線には損失があるので規格通りの速度が出るとは限らない
　　→そこで、一般的な使用法で実際に出る速度のことを『実行速度』という。

実行速度　＝　理論値　✕　伝送効率

伝送効率・・・理論値に対して実際に出る速度の割合をあらわしたもの。

伝送効率　＝　実行速度　÷　理論値

#ネットワークを構成する装置

###各OSI基本参照モデルに属する装置
　第１層（物理層）
　　　↳NIC・リピータ・LANケーブル・・・電気的な信号を送ったり受けたり増幅したりする。

　第２層（データリンク層）
　　　↳ブリッジ・・・パケットのMACアドレス情報を使ってネットワークのセグメント間を中継する。

　第３層（ネットワーク層）
　　　↳ルータ・・・パケットのIPアドレス情報を使って、ネットワーク間を中継する。

　第４層（トランスポーション層）５層（セッション層）６層（プレゼンテーション層）７層（アプリケーション層）
　　　↳ゲートウェイ・・・プロトコル変換を行うことでトランスポート層以上が異なるネットワーク同士を中継する。

NIC・・・コンピュータをネットワークに接続するための拡張カードのこと。LANボードとも呼ばれる。

MACアドレス・・・ネットワーク機器に製造段階で割り振られる番号。世界中で重複しない一意の番号であることが保証されている。

###ネットワークで用いられる各装置
リピータ・・・物理層の中継機能を提供する装置。ケーブルを流れる電気信号を増幅して、LANの総延長距離を伸ばす。
　　↳セグメント・・・無条件にデータが流される範囲。

ブリッジ・・・データリンク層の中継機能を提供する装置。セグメント間の中継役として流れてきたパケットのMACアドレス情報を確認して他のセグメントへとパケットを流す。

ハブ・・・LANケーブルの接続口（ポート）を複数持つ集線装置。
　↳リピータハブ・・・パケットが流れてくると無条件にすべてのポートへ送出するハブ。
　↳スイッチングハブ・・・パケットが流れてくるとMACアドレスに該当するコンピュータがつながっているポートだけに送出する。

ルータ・・・ネットワーク層の中継機能を提供する装置。異なるネットワーク（LAN）同士の中継役として、流れてきたパケットのIPアドレス情報を元に最適な経路へとパケットを転送する。

ゲートウェイ・・・トランスポート層以上が異なるネットワーク間で、プロトコル変換による中継機能を提供する装置。プロトコルの違いをこの装置が吸収・変換することでお互いの接続を可能にする。

#データの誤り制御
###誤りの検査方法
パリティチェック・・・送信するビット列に対して、パリティビットと呼ばれる検査用のビットを追加することで、データの誤りを検出する方法。
　↳偶数パリティ
　↳奇数パリティ

水平垂直パリティチェック・・・パリティビットをどの方向に付与するかによって『垂直パリティ』と『水平パリティ』に分かれる。
　↳垂直パリティ・・・データ単位で付加する。
　↳データを並べた際の位置単位で付加する。

CRC（巡回冗長検査）・・・ビット列を特定の式（生成多項式）で割り、その余りをチェック用のデータとして付加する方法。

#TCP/IPを使ったネットワーク
###TCP/IP/UDP
TCP/IP・・・『TCP』と『IP』という２つのプロトコルの組み合わせのこと。インターネットにおけるデファクトスタンダードのひとつ。（デファクトスタンダード　＝　事実上の標準）

IP(Internet Protocol)・・・複数のネットワークをつないでその上をパケットが流れる仕組みといったネットワークの土台を規定しているプロトコル。ネットワーク層（第３層）に属している。経路制御を行い、ネットワークからネットワークへパケットを運んで届ける。ネットワークではコンピュータやネットワーク機器などの識別のためIPアドレスという番号を割り当てて管理している。

TCP・・・ネットワーク上で正しくデータが送られたことを保証する仕組みを定めたプロトコル。第４層に属している。通信相手とのコネクションを確立してからデータを送受信する『コネクション型』の通信プロトコル。パケットの順序や送信エラー時の再送などを制御して、データの信頼性を保証する。

UDP・・・TCPと同じく第４層（トランスポート層）に属し、送信データの信頼性をどのように確保するかを規定するプロトコル。事前に通信相手と接続確認をせずに一方的にパケットを送りつける『コネクションレス型』の通信プロトコル。信頼性に欠けるが高速でデータの送信が可能。

###グローバルIPアドレスとプライベートIPアドレス
グローバルIPアドレス・・・インターネットの世界で使用するIPアドレス。世界中で一意であることが保証されなければならないので、好き勝手に割り当てることはできない。NICによって管理されている。

プライベートIPアドレス・・・LANの中で使うことができるIPアドレス。LANの中で重複しなければシステムの管理者が自由に割り当てて使うことが可能。

###IPアドレスのネットワーク部とホスト部
ネットワークアドレス部・・・宛名表記で言うと住所にあたる部分。どのネットワークに該当するかを示している。

ホストアドレス部・・・宛名表記で言うと名前にあたる部分。そのネットワーク内のどのコンピュータかを示している。

IPアドレスのクラス・・・使用するネットワークの規模によってクラスA、クラスB、クラスCの３つに分かれる。それぞれ『32ビット中の何ビットをネットワークアドレス部に割り振るか』が規定されている。
　↳クラスA・・・ネットワークアドレス部8ビット、ホストアドレス部24ビットに割り振られたクラス。大量のホストに割り当てる大規模ネットワークなどで用いられる。先頭ビットは０。
　↳クラスB・・・ネットワークアドレス部16ビット、ホストアドレス部16ビットに割り振られたクラス。約65000台のホストに割り当て可能なので中規模ネットワークなどで用いられる。先頭ビットは10。
　↳クラスC・・・ネットワークアドレス部24ビット、ホストアドレス部8ビットに割り振られたクラス。割り当て可能なホスト数が254台と少ないので小規模のネットワークに用いられる。先頭ビットは110。
※ホストアドレス部が『すべて０』や『すべて１』となるアドレスは、『ネットワークアドレス（すべて０）』『ブロードキャストアドレス（すべて１）』という意味に決まっているので割り当てには使えない。

ブロードキャスト・・・同一ネットワーク内のすべてのホストに対して一斉に同じデータを送信すること。OSI階層モデル第３層であるネットワーク層のルータを越えてパケットが流れることはない。

ユニキャスト・・・特定の１台のみに送信すること。

マルチキャスト・・・決められた範囲内の複数のホストに送信すること。

###MACアドレスとIPアドレスの違い
MACアドレス・・・OSI参照モデルの第１層（物理層）と第２層（データリンク層）をサポートするイーサネットで端末を識別するためにMACアドレスを活用する。近距離をバケツリレーの要領でデータを送信する際に使われる。

IPアドレス・・・OSI参照モデルの第３層（ネットワーク層）で端末を識別し、ネットワーク間を中継できるようにする。

###DHCP/NAT/IPマスカレード
DHCP・・・IPアドレスの割り当てなどのネットワークの設定作業を自動化することができるプロトコル。

NAT・・・グローバルIPアドレスとプライベートIPアドレスを１対１で結びつけて相互に変換を行う。同時にインターネット接続できるのは、グローバルIPアドレスの個数分だけ。

IPマスカレード・・・グローバルIPアドレスに複数のプライベートIPアドレスを結びつけて１対複数の変換を行う。IPアドレス変換時にポート番号も書き換えることで、１つのグローバルIPアドレスで複数のコンピュータが同時にインターネット接続できる。

###ドメイン名とDNS
ドメイン名・・・人間にとって覚えにくいIPアドレスに文字で別名を付けたもののこと。
www . 〇〇〇〇 . co . Jp
　↳コンピュータの名前
　　　　　   ↳組織の名前
　　　　　　　　　　↳組織の種類（co = 企業、ac = 大学等）
　　　　　　　　　　　　↳国の名前

DNS・・・Domain Name Systemの略称。ドメインとIPアドレスを対応付けて管理するシステムのこと。

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

###ネットワークサービス

ネットワークサービス・・・サービスごとにプロトコル（約束事）を処理するサーバによって提供されている。

代表的なプロトコル
　　↳HTTP・・・Webページの転送に利用するプロトコル。Webブラウザを使ってHTMLで記述された文書を受信するときなどに使う。
　　↳FTP・・・ファイル転送サービスに利用するプロトコル。インターネット上のサーバにファイルをアップロードしたり、サーバからファイルをダウンロードするのに使う。
　　↳Telnet・・・他のコンピュータにログインして、遠隔操作を行う際に使うプロトコル。
　　↳SMTP・・・電子メールの配送部分を担当するプロトコル。メールの送信時や、メールサーバ間での送受信時に使う。
　　↳POP・・電子メールの受信部分を担当するプロトコル。メールサーバ上にあるメールボックスから受信したメールを取り出すために使う。
　　↳NTP・・・コンピュータの時刻合わせを行うプロトコル。

ポート番号・・・パケットの行き先を示すプロトコル毎の専用の接続口を示す番号のこと。

###WWW（World　Wide　Web）
WWW・・・Webブラウザを使って世界中に存在するWebサーバから文字や画像、動画などの様々な情報を得ることができるサービスのこと。WebサーバとWebブラウザの２つで構成されている。


WWWのサービスの流れ

①WebブラウザがWebサーバにリクエストを出す。　　
　　　　　　　⇓
②該当するファイルがWebサーバからWebブラウザに送られてくる
　　　　　　　⇓
③Webブラウザで読み込みや整形、確認を行って表示する

※これらのやり取りに使われているプロトコルをHTTPという

#電子メール

###メールアドレス
@の前部分がユーザ名、@の後部分がドメイン名になっている。

###メールの宛先
メールの宛先・・・目的に応じて使い分けられるように『TO』『CC』『BCC』の３種類がある。　
　↳TO・・・宛先という意味。特になにもなければこれを使う。
　↳CC・・・メインの送信先ではないが一応メール内容を共有しておきたい相手に使う。
　↳BCC・・・他の人には送ったことが見えない状態でメール内容を送信したい場合に使う。

※複数の相手に同じメールを出すやり方を『同報メール』という。

###電子メールに関するプロトコル
SMTP・・・宛先に書かれたメールアドレスをもとに相手先のメールサーバへメールを送信する。配送されたメールは、宛先のユーザ名のメールボックスに保存される。

POP・・・POPサーバにリクエストを送ることでメールボックスから受信済みのメールを取得することができる。

IMAP・・・POPと同じくメールを受信するためのプロトコル。送受信データをサーバ上で管理するため。どのコンピュータからでも同じデータを参照することができる。

MIME・・・本来ASCII文字しか扱うことができない電子メールで、日本語や画像データなどのファイル添付を行えるようにする拡張規格のこと。

#参考文献
この記事は以下の情報を参考にして執筆しました。
[キタミ式イラストIT塾 基本情報技術者 令和03年](https://www.amazon.co.jp/%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E4%BB%A4%E5%92%8C03%E5%B9%B4-%E3%81%8D%E3%81%9F%E3%81%BF%E3%82%8A%E3%82%85%E3%81%86%E3%81%98/dp/4297117819)