◆OSI参照モデル(データの流れ・カプセル化・デカプセル化) |
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つにまとめてカプセル化し、自分のヘッダを付けて、下の層へ渡します。
このような方法を採ることで、自分の層のヘッダだけの確認を行えばよく、下位層や上位層のことを気にする必要がなくなります。ただし、相手側の等しい下位層では、同じプロトコルを使用している必要があります。
注意:ここで、基本的に受け取ったヘッダを書き換えたりしないと言いましたが、書き換えたり、暗号化する場合もあります。ここでは、話が難しくなるので、割愛します。
|
|
|