はじめに
コンピュータネットワークの基盤を支える重要な概念の1つにOSI参照モデルがあります。
このモデルは、通信プロトコルを7つの階層に分け、各階層が特定の役割を担っています。
今回はその中から、ネットワーク層に着目していきます。
プレゼンテーション層の役割
プレゼンテーション層は、ネットワークで送受信されるデータの形式を統一し、適切な形式に変換する役割を担います。
この層が存在することにより、異なるシステム間でのデータ交換がスムーズに行われます。
例えば、上位のアプリケーション層からデータを受け取り、適切なデータに変換して下位のセッション層へ渡します。
また、セッション層から受け取ったデータを解釈し、適切な形式でアプリケーション層へ渡すといった役割を持っています。
プレゼンテーション層の機能
プレゼンテーション層の具体的な機能を見ていきます。
データフォーマットの変換
異なるコンピュータシステムは、異なるデータフォーマットを使用しています。
プレゼンテーション層はこれらのフォーマット間の変換を担当します。
例えば、Windowsシステムで使用されるファイル形式と、UNIXシステムで使用されるファイルシステムは異なる場合がありますが、プレゼンテーション層がそれらを変換することで、互換性を確保します。
文字コードの変換
データの送受信において、文字コードの違いが問題となることがあります。
これはよく”文字化け”と言われたりする現象を引き起こします。
プレゼンテーション層は、UTF-8という文字コードからASCⅡへ変換するというような処理を行っています。
これにより異なるシステム間での文字データのやり取りが円滑に行えるのです。
3.データ圧縮
データを圧縮することで、通信帯域の使用を最小限に抑え、データ転送速度を向上させることができます。
プレゼンテーション層は、圧縮ァリゴリズムを使用してデータを圧縮し、受信側で元のデータに解凍します。
一般的な圧縮形式には、ZIPやRARなどがあります。
4.暗号化と復号化
データの機密性を保つために暗号化は欠かせません。
プレゼンテーション層は、データを暗号化し、不正アクセスを防ぎます。
また受信側では、暗号化されたデータを復号して元のデータに戻します。
SSL/TLSはプレゼンテーション層で暗号化を行う代表的なプロトコルです。
プレゼンテーション層の具体例
具体的な例でプレゼンテーション層の役割を見てみます。
テキストデータの変換
例えば、Webブラウザが表示するHTMLページは、サーバーから送られてくるときにUTF-8でエンコードされていることが多いです。
プレゼンテーション層は、これをユーザーのデバイスに適した文字コードに変換します。
もし、ブラウザがUTF-8を理解できない場合でも、プレゼンテーション層がASCⅡや他の互換性のあるフォーマットに変換し表示してくれるので、私たちは恩恵を受けづらいです。
画像の表示
画像ファイルは、JPEGやPNGなどの形式で圧縮されて送信されます。
プレゼンテーション層は、これらの画像を適切な形式にデコードし、デバイスに表示します。
例えば、JPEGファイルがブラウザに送られた場合、プレゼンテーション層がこのファイルを解凍し、ユーザーに表示しています。
セキュアな通信
インターネットバンキングやオンラインショッピングでは、SSL/TLSによる暗号化が使用されています。
プレゼンテーション層は、これらのプロトコルを使用してデータを暗号化し、送信途中でのデータ漏えいを防いでくれます。
受信側でが、この暗号化されたデータを復号化し、安全な通信を実現します。
まとめ
以上のようにプレゼンテーション層は、データ形式の変換等の役割を持つ層でした。
この層により、セッション層からアプリケーション層へ、またアプリケーション層からセッション層へ適切な形式でデータを渡すことができるのです。
以上プレゼンテーション層についてとお話でした。
プレゼンテーション層の上の層には、アプリケーション層があります。
アプリケーション層について詳しく知りたい方はこちら。