June 18th, 2020
まず前提としてネットワークの基本には以下の概念がある。
- モデル: ネットワークにはデータのやりとりの仕組みを策定したもの
- プロトコル: モデルを構成する各階層に別れたレイヤ、各レイヤで動作するもの
- PDU: 各プロトコルで扱うデータ構造
LAN (local area network)
自宅、企業や施設内など、比較的狭い空間にある機器同士をつなぐネットワーク
WAN (wide area network)
地理的に離れた場所にある機器同士を繋いだ比較的大規模なネットワーク
インターネット(internet)
複数のLANやWANを繋いだ世界規模のネットワーク
複数のLANを繋げるにはコンピューター間でデータのやりとりを統一する必要がある。 通信の一連の流れを統一した手続きに基づいて行うTCP / IPという仕組みが誕生した。
ちなみに以下がTCP/IPによって実現した通信サービスの例
ISO(international organization for standardization)がベンダーに依存しない形でシステムを接続するためにOSI(open system interconnection)というネットワークモデルを策定しました。 ただし実用面では普及しなかったため、別の組織が新しくTCP/IPモデルを考案しました。実際にはTCP/IPモデルを目にすることが多いかと思います。
各層に様々なプロトコルが存在します。
1.アプリケーション層
(HTTP FTP SMTP...)
アプリケーション間の通信
2.トランスポート層
(TCP UDP)
プログラム間の通信
3.インターネット層
(IP)
インターネットでの通信
4.アクセス層
(Wi-Fi イーサネット、PPP ...)
ハードウェア上での通信
ネットワーク上でのデータ送信はデータそのもの以外に、データを運ぶためのデータも必要になる。例えば、アドレスを特定したり、エラーチェックするものがあります。 それらをパケットに分けて送信します。
データ量を一定の大きさに単位に分けて送信する(パケット通信)
またこれらのデータはプロトコル毎に決められるため、 PDU(Protocal Data Unit)と呼ばれる。
- header(ヘッダ): ペイロードを渡すためのデータ
- payload(ペイロード): クライアントに渡したいデータ
- trailer(トレーラ): ペイロードを渡すためのデータ
アプリケーション層から物理側にいく毎にヘッダとトレーラはペイロードと合わせて一括りにされる。(encapsulation カプセル化) 物理層からアプリケーション層にいくごとにヘッダとトレーラーは外されていく。(decapsulation デカプセル化) プロトコルによってトレーラは利用しないこともある。