コンピュータネットワークの7層OSIモデルにおいて、セッション層は第5層である。
セッション層は、エンドユーザーアプリケーションプロセス間のセッション、つまり半永久的な対話の開始、終了、および管理のためのメカニズムを提供します。通信セッションは、アプリケーション間で発生する要求と応答で構成されます。セッション層サービスは、リモートプロシージャコール(RPC)を使用するアプリケーション環境で一般的に使用されます。[ 2 ]
セッション層プロトコルの例としては、OSIプロトコルスイートのセッション層プロトコル(X.225またはISO 8327としても知られる)があります。接続が切断された場合、このプロトコルは接続の回復を試みます。接続が長期間使用されない場合、セッション層プロトコルは接続を閉じて再度開くことがあります。全二重または半二重の動作に対応し、交換されるメッセージストリームに同期ポイントを提供します。 [ 3 ]
セッション層の実装の他の例としては、名前バインディングプロセスを調整するAppleTalk [ 4 ]プロトコルであるZone Information Protocol (ZIP)や、 DECnet Phase IV セッション層プロトコルである Session Control Protocol (SCP) [ 5 ]などがあります。
OSIネットワークアーキテクチャのサービス階層セマンティクスでは、セッション層はプレゼンテーション層からのサービス要求に応答し、トランスポート層にサービス要求を発行します。
セッション層は、最低限、両者がセッションと呼ばれる接続を確立して使用することを可能にし、接続を秩序正しく解放することを可能にする。
OSIモデルでは、トランスポート層は接続の秩序ある解放を担当しません。代わりに、セッション層がその役割を担います。しかし、最新のTCP/IPネットワークでは、TCPは既にトランスポート層で接続の秩序ある切断を提供しています。
セッション接続が解放された後、その基盤となるトランスポート接続は別のセッション接続に再利用される可能性があります。また、セッション接続は複数の連続したトランスポート接続を使用することもあります。例えば、セッション中に基盤となるトランスポート接続に障害が発生した場合、セッション層はセッションを継続するためにトランスポート接続の再確立を試みる場合があります。
セッション層は、双方向同時(全二重)、双方向交互(半二重)、および単方向(単方向)の3種類の対話タイプを提供する。また、対話タイプのネゴシエーションを行うメカニズムを提供し、データの送信や制御機能の実行を行う「ターン」または「トークン」をどちらの側が持つかを制御する。
TCP/IPでは対話制御は実装されておらず、必要に応じてアプリケーション層が処理するようになっています。広く使われているHTTP/1.1プロトコルでは、クライアントとサーバーは通常、半二重通信で動作します。HTTP/1.1は全二重通信のためのHTTPパイプラインもサポートしていますが、多くのサーバーやプロキシがこれを正しく処理できず、全二重通信が使用可能かどうかを確認する対話ネゴシエーションメカニズムもなかったため、最終的にほとんどのブラウザでサポートが終了しました。
セッション層では、両者が対話に同期ポイントを挿入したり、再同期を実行したりすることも可能です。再同期とは、現在の送信を中止し、同期ポイントを特定の値に設定し、そのポイントから送信を再開する処理です。
これはリアルタイムの音声/映像伝送に利用できます。同期ポイントを使用してデータフローにタイムスタンプを挿入でき、再同期を使用して伝送をリセットして新しいタイムスタンプから開始できます。たとえば、ビデオストリームがオーディオストリームに大きく遅れている場合、受信側はビデオストリームに対して再同期要求を発行し、より後のタイムスタンプから伝送を再開できます。
これは、アプリケーションがチェックポイントを作成するためにも使用できます。同期ポイントは、アプリケーションによってチェックポイントがコミットされたことを示すために使用でき、アプリケーションのクラッシュや停電の後には、再同期を使用して、アプリケーションがチェックポイントから復旧し、その時点から送信を再開できることを示すことができます。
これは、アプリケーションの障害ではなく、アプリケーションが計画したとおりに、いつでも対話を中断/再開するためにも使用できます。アプリケーションは対話を中断し、同じセッション内で別の対話を開始し、同じセッション内または別のセッションで以前の対話を再開することができます。
セッション層は、1つまたは複数のセッションにわたる複数の割り込み可能なダイアログを管理するための明示的なサポートを提供する場合もあります。これらのダイアログはアクティビティと呼ばれます。アクティビティは明示的に中断および再開できます。再同期によってダイアログを暗黙的に中断および再開する場合と比較して、アクティビティのサポートにより、アプリケーションはこれらのダイアログをより簡単に制御できます。
TCP /IP参照モデルは、 OSIモデルにおけるアプリケーション層やトランスポート層のプロトコルセマンティクスの詳細には関与しないため、セッション層は考慮しません。OSIにおけるセッション管理は、一般的なトランスポートプロトコル(TCP、SCTP)に関連して、トランスポート層プロトコルに含まれるか、あるいはアプリケーション層プロトコルの領域とみなされます。TCP/IPの各層は、動作範囲(アプリケーション、ホスト間、ネットワーク、リンク)を記述するものであり、動作手順やデータセマンティクスの詳細な規定ではありません。