トランスポート層で実現している仮想的な回線において、その使用開始から使用の終了までの一連の通信のことを「セッション(session)」と呼ぶが、「セッション層(session layer)」のプロトコルでは、このセッションの管理を行う機能を提供する。一般的にプログラムが通信を行うときには、要求を送り、応答を返すというように送受信の順番があり、双方でこの順番を合わせる必要がある。このような双方で状態を合わせることを「同期を取る(synchronize)」という。セッション層は送受信の同期を管理し、同期がずれた場合には同期が取れている状態まで戻すといった機能を提供する。たとえば、いくつかのファイルを送信する場合、ファイルを1つ送るごとに同期を取るだけでなく(あるファイルの送信が何らかの理由で失敗すれば、そのファイルをもう一度送りなおす)、トランスポート層の制約などに合わせて、ファイルをより小さいブロックに分けて送信しなければならない。この場合にも同期処理が必要になる(ある1つのブロックの送信が失敗すれば、そのブロックを再送する)。
「プレゼンテーション層(presentation layer)」のプロトコルは、ネットワークを流れるデータの意味を統一する機能を提供する。数値や文字などはコンピュータのハードウェアやOSによっては異なるコード(符号)で表わされることがあるので、それらを統一したコードに変換し、ネットワーク上のアプリケーション間で意味を統一しておく必要がある。
たとえば、MS-DOSやWindows 9x、Windows NT/2000では、日本語の文字コードとしてShift JISコードを利用しているが(内部的にはUnicodeなども使われているが、外部とのインターフェイス部分ではShift JISが広く使われている)、UNIXではEUCコードを利用することが多い。そのためWindowsとUNIXのプログラム間で日本語のデータを何の変換もせずに交換すると文字化けしてしまう。文字化けしてしまうと、そのデータの意味が伝わらないので、そのようなことがないように、送る側はネットワークで統一したコードに変換し、受け取る側で自分が使っているコードに変換しなければならない。
プレゼンテーション層のプロトコルは、コードの変換以外にも、データの暗号化や、データの圧縮などを行う機能も提供する。
プレゼンテーション層
プレゼンテーション層は、ハードウェアやOSによって異なるデータ表現の形式を統一して、データの意味が正しく伝わるようにしたり、データの暗号化や圧縮などを行ったりする機能を提供する。
「アプリケーション層(application layer)」は、プレゼンテーション層以下のプロトコルによって提供される機能を利用した、ネットワーク アプリケーションのプロトコルが位置する層である。ネットワーク アプリケーションには、ファイルを転送するものや、メッセージを送るものなど、用途に応じてさまざまなプロトコルがある。
今回のまとめ
Copyright© Digital Advantage Corp. All Rights Reserved.