プロトコルとOSI参照モデル


プロトコル

コンピュータ間では通信の方法についてあらかじめルールが決められており、ルールに従って通信が行われています。通人に実変われるルールをプロトコルと呼びます。

OSI参照モデル

プロトコル開発のガイドラインとなるのがISOによって制定されたOSI参照モデルです。OSI参照モデルは通信機能を7階層に分割して定義しています。

networking13[1]

レイヤ5-7(上位層)はコンピュータ内部で処理される機能を定めています。レイヤ1-4(階層)は、コンピュータ間の通信に関する機能を定めています。

レイヤ7:アプリケーション層

アプリケーション層はネットワークを利用するアプリケーションのうち、アプリケーションの機能とユーザーとのインターフェースについて定めています。各機能を実現するプロトコルとして下記などがあります。
<プロトコル>
FTP、Telnet、HTTP、SMTP、DNSなど

レイヤ6:プレゼンテーション層

プレゼンテーション層は、圧縮方式や文字コードなど、データの表現方式を定めています。データをネットワークで通信できる形式に変換したり、逆にネットワーク経由で受信したデータをアプリケーションが認識できる形式に復元したりします。
<プロトコル>
JPEG、MPEG、JIS、EUC、Shift-JISなど

レイヤ5:セッション層

セッション層はアプリケーション間での通信方式を定めています。アプリケーション間でのセッションの確立・制御・終了を管理します。
<プロトコル>
NetBIOS、SQL、SSLなど

レイヤ4:トランスポート層

トランスポート層は、コンピュータ間での通信方式を定めています。コンピュータ間でのコネクションの確立・制御・終了を管理し、エラー回復、フロー制御などで信頼性を確保します。データの分割と再組み立てや上位層のアプリケーションを識別する機能も提供します。
<プロトコル>
TCP、UDPなど

レイヤ3:ネットワーク層

ネットワーク層は、隣接していないコンピュータ間での通信方式を定めています。
<プロトコル>
IP、IPXなど

レイヤ2:データリンク層

データリンク層は、隣接しているコンピュータ間での通信方式を定めています。物理アドレスを使って相手を特定し、データフレームを転送します。
<プロトコル>
イーサネット、PPPなど

レイヤ1:物理層

物理層は、ケーブルの材質やコネクタ形状、および電気信号の変換方式など、物理的な使用を定めています。データは単なるビット列(0と1の組み合わせ)として扱われ、データの内容については一切関知されません。
<プロトコル>
EIA/TIA-232、V.35など

TCP/IPの階層モデル

インターネットでは、4階層モデルを使って通信機能を定義しています。これをTCP/IPの階層モデルといいます。

tcpip1[1]

カプセル化とPDU

カプセル化

ネットワーク経由でデータを送信するにはデータに加えて、あて先アドレスや送信元アドレスなどデータを送るための制御情報が必要です。

制御情報はデータの前に付加されます。これをヘッダといいます。データリンク層ではデータの後ろにも付加されます。後ろにつく場合はトレーラといいます。データに対してヘッダやトレーラを付加することをカプセル化といいます。

tcpip3[1]

送信側では、それぞれの階層でデータをカプセル化して階層へ渡します。
トランスポート層では、ポート番号などの情報が入ったヘッダ(TCPヘッダ)を追加しインターネット層に渡します。
インターネット層ではIPアドレスなどの情報が入ったヘッダ(IPヘッダ)を追加してネットワークインターフェース層へ渡します。
ネットワークインターフェース層ではMACアドレスなどの情報が入ったヘッダ(Ethernetヘッダ)を追加して相手にデータを送信します。

受信側では各階層で内容をチェックし、逆カプセル化を行って上位層に渡します。

PDU

それぞれの階層で扱うデータの単位をPDU(Protocol Data Unit)といいます。PDUの名称は各階層で異なっています。ヘッダに対してデータ部を「ペイロード」といいます。PDUはヘッダ+ペイロードのことをさします。

階層 PDUの名称
トランスポート層 セグメント
ネットワーク層 パケット
データリンク層 ビット
物理層 フレーム