OSI参照モデル(データの流れ)
各通信レイヤは、レイヤ固有のPDUを使って同レイヤとピアツーピアで通信を行います。
PDU(Protocol Data Unit)とは、各レイヤが扱うデータの単位のことです。
OSI参照モデルでのデータ通信の流れは、下の図のようになります。

送信元PCのデータは、
アプリケーション層→プレゼンテーション層→セッション層→トランスポート層→ネットワーク層→データリンク層→物理層
と上位層から下位層へとデータが渡されて行きます。
最後の物理層では、「0」と「1」のビットパターンに符号化され電気信号としてケーブル上に流れて行きます。
そして、宛先PCに到達すると今後は、
物理層→データリンク層→ネットワーク層→トランスポート層→セッション層→プレゼンテーション層→アプリケーション層
下位層から上位層にデータが渡されて行きます。
上位層から下位層へデータを渡す際に、「ヘッダ」と呼ばれる制御情報を付加して渡していきます。

例えば、通信プロトコルにTCP/IPが使用されているとします。
データが、トランスポート層まで降りてくると、 ポート番号やシーケンス番号、確認応答番号などの情報を付加してネットワーク層に渡します。
ポート番号・・・アプリケーションを識別する番号です。FTPなら20と21、WWWなら80。
シーケンス番号・・・セグメントの順番を表す番号。
ネットワーク層では、送信元IPアドレス、宛先IPアドレスなどの情報を付加してデータリンク層に渡します。
データリンク層では、MACアドレスなどの情報を付加して物理層に渡します。
物理層では、メディアの伝送に適した「0」と「1」のビットパターンに符号化します。
各層で扱うPDUには名称がついており、下表の通りです。
レイヤ | PDU名称 |
アプリケーション層 プレゼンテーション層 セッション層 | データ |
トランスポート層 | セグメント |
ネットワーク層 | パケット |
データリンク層 | フレーム |
物理層 | ビット |
データのカプセル化
送信のデータは、
アプリケーション層→プレゼンテーション層→セッション層→トランスポート層→ネットワーク層→データリンク層→物理層
と上位層から下位層へとデータが渡されて行きます。

上位層から下位層へデータを渡す際に、「ヘッダ」と呼ばれる制御情報を付加して渡してゆきます。
例えば、通信プロトコルにTCP/IPが使用されているとします。
データが、トランスポート層まで降りてくると、 ポート番号やシーケンス番号、確認応答番号などの情報を付加してネットワーク層に渡します。
ネットワーク層では、送信元IPアドレス、宛先IPアドレスなどの情報を付加してデータリンク層に渡します。
データリンク層では、MACアドレスなどの情報の他にトレーラと呼ばれる送信中に起きたエラーをチェックするための情報も付加して物理層に渡します。
物理層では、メディアの伝送に適した「0」と「1」のビットパターンに符号化します。
このように、各レイヤで制御情報を付加して行くことを「カプセル化」と呼びます。
データのデカプセル化
そして、宛先PCに到達すると今後は、
物理層→データリンク層→ネットワーク層→トランスポート層→セッション層→プレゼンテーション層→アプリケーション層
下位層から上位層にデータが渡されて行きます。

物理層で受け取った「0」と「1」は、データリンク層に渡され、フレームに、そしてフレームヘッダとフレームトレーラが取り除かれ、ネットワーク層に渡されます。
ネットワーク層では、ネットワークヘッダを取り除きトランスポート層に渡します。
以下、各層は、各層が扱う制御情報を取り除いて上の層に渡していきます。
このように、各レイヤで扱う制御情報を取り除くことを「デカプセル化」と呼びます。
ヘッダの階層構造
送信のデータは、
アプリケーション層→プレゼンテーション層→セッション層→トランスポート層→ネットワーク層→データリンク層→物理層
上位層から下位層へデータを渡す際に、「ヘッダ」と呼ばれる制御情報を付加して渡していきます。

上位層から下位層へデータを渡す際に、「ヘッダ」と呼ばれる制御情報を付加して渡していきます。
ヘッダに記載される内容は、例えば、「送信元の住所」「宛先の住所」、「荷物が届かなかった場合はどうするのか」などが書かれています。
データを受け取った機器は、このヘッダの内容をみて、プロトコルの処理に従って処理を行います。
各層のプロトコルは、基本的に、受け取ったヘッダを破壊したり、書き換えたりせずに元のヘッダとデータを1つにまとめてカプセル化し、自分のヘッダを付けて、下の層へ渡します。
