送信元コンピュータのプロセス



まず送信元のプロセスです。通信するデータはあるアプリケーションプログラムが作成するデータです。アプリケーション層から順に階層構造をたどっていきます。

アプリケーションプログラムからアプリケーション層のプロトコルにデータが渡されます。アプリケーション層のプロトコルは、自分の機能を実現するための制御情報をデータに付加します。この付加する制御情報をヘッダといいます。ヘッダとデータをあわせて、ひとつ下の階層のプレゼンテーションのプロトコル層に渡します。

プレゼンテーション層のプロトコルは、受け取ったアプリケーション層のヘッダ+データをデータとみなして、さらに自分の機能を実現するためのヘッダをつけます。そして、ヘッダ+データをひとつ下の階層のトランスポート層のプロトコルに渡します。
同じようなことをネットワーク層まで各階層のプロトコルが行います。データリンク層のプロトコルは、ヘッダだけではなくトレーラと呼ばれるものを付加します。これはエラーチェックを行うためのものです。

そして、第1層の物理層では、ヘッダおよびトレーラの追加はありません。ここまでやりとりされているデータの内容は、実際には「0」「1」の集まりのビット列です。そのビット列を電気信号に変換し、ケーブルなどの物理メディアに流すことが物理層の役割になります。

あて先コンピュータのプロセス

送信元とは逆に、物理層から順に階層構造をたどっていきます。ケーブルを通して、あて先コンピュータに電気信号がたどりつきます。物理層でこの電気信号をコンピュータが理解できる「0」「1」のビット列に変換します。そして、データリンク層のプロトコルに渡します。

データリンク層では、トレーラを使ってエラーチェックを行います。その後、送信元のデータリンク層で付加されたヘッダを解釈してヘッダとトレーラをはずして、ひとつ上の階層のネットワーク層のプロトコルにデータを渡します。

受け取ったネットワーク層のプロトコルは、送信元のネットワーク層で付加されたヘッダを解釈して、そのヘッダをはずしてトランスポート層のプロトコルに渡します。

同じようなことを各階層のプロトコルが行い、相手のアプリケーションプログラムにデータが届くということになります。

以上のように、送信元では階層構造を上からたどり、あて先では階層構造を下からたどることによりデータ通信が行われています。

SAP、PDU

SAP(Service Access Point)
各階層で付加されるヘッダの中で、重要な情報が SAP(Service Access Point) です。これは各階層間のインターフェースのことです。簡単に言うと、データを受け取ったときに、次に上の層の中のどのプロトコルに渡せばいいかということを識別する識別番号です。

各階層に存在するプロトコルはひとつではありません。この SAP の情報を見て次に渡すべきプロトコルを認識します。

PDU(Protocol Data Unit)
各階層でヘッダをつけますが、ヘッダ+データを PDU(Protocol Data Unit) と呼びます。
この PDU の呼び方が階層ごとに異なります。

アプリケーション層:メッセージ
プレゼンテーション層 :メッセージ
セッション層 メッセージ
トランスポート層 セグメント/データグラム
ネットワーク層 パケット
データリンク層 フレーム

ですから、~フレームとかいうときは、データリンク層レベルのことなんだということがわかります。




















アプリケーション層

プレゼンテーション層

セッション層
メッセージ
トランスポート層 セグメント/データグラム
ネットワーク層 パケット
データリンク層 フレーム

※ただし、階層ごとのPDUの呼び方は厳密に使い分けられていないこともよくあります。

身近な例で考えると・・・

OSI参照モデルでのデータ通信のプロセスを身近な例で考えてみましょう。手紙を書く場合を考えます。

まず、便箋に伝えたい内容を書きます。これがアプリケーションが作成するデータになります。手紙を出す場合、裸の便箋のままでは出せません。封筒に入れますね。この封筒に入れるということが、ひとつ下の階層のプロトコルに渡してヘッダを付け加えると考えることができます。封筒に書く住所や宛て名がヘッダになるわけです。

封筒に入れた手紙をポストに投函すると、郵便局に集められます。その郵便局から宛て名に一番近い郵便局に送られます。
あて先に近い郵便局では封筒に書かれた宛て名を見て、仕分けが行われます。これが各階層のプロトコルがヘッダを解釈することに相当します。

そこからあて先の住所に手紙が届けられます。送り届けられた先には、何人かの人が住んでいるかもしれません。封筒の宛て名を見て、実際に手紙を渡したい人に届きます。この宛て名が、SAP つまりどのプロトコルに渡せばいいかという情報に当たるわけです。

厳密なたとえではないですが、OSI参照モデルの通信はイメージ的にはこのようになります。