3.

OSI参照モデル セッション層(第5層)の役割と代表プロトコル(NetBIOS / RPC / SQL*Net)

編集
この記事の要点
  • OSI 参照モデルの第 5 層 (Session Layer) はアプリ間のセッション(対話)を確立・維持・切断する層
  • 同期ポイントの設定・チェックポイント・トランザクション境界・回線切断時の復旧などを担う
  • 代表プロトコル: NetBIOS / RPC / SQL*Net / PPTP / L2TP の制御部分
  • 実際の TCP/IP モデルではセッション層は独立して存在せず、アプリ層に統合されているのが現実
  • WebSocket や HTTP/2 ストリーム、TLS セッションのような近代的な"セッション"概念は OSI のこの層に相当

セッション層 (第5層) とは

OSI 参照モデルの第 5 層であるセッション層 (Session Layer) は、アプリケーション同士のセッション (Session) = 一連の対話を確立・維持・切断するための層です。下層のトランスポート層 (L4) が「データを確実に届ける」役割なのに対し、セッション層は「複数のやりとりを 1 つの会話として束ねる」役割を担います。

OSI 7 階層の位置

名称役割の例
L7アプリケーション層HTTP, SMTP, FTP
L6プレゼンテーション層文字コード変換、暗号化、圧縮
L5セッション層対話の確立・維持・切断、同期、復旧
L4トランスポート層TCP, UDP(ポート、信頼性)
L3ネットワーク層IP(経路選択)
L2データリンク層イーサネット(MAC、フレーム)
L1物理層ケーブル、電気信号

セッション層の主な役割

1. セッションの確立・維持・終了

クライアントとサーバーの間で「これから対話を始めます/終わります」を明示的に管理します。HTTP のように 1 リクエスト 1 レスポンスで完結するプロトコルではあまり目立ちませんが、DB 接続のように長時間 1 つのコネクションでやりとりする場面では重要です。

2. 同期ポイント・チェックポイント

大容量データの転送中に通信が途切れた場合、最初からやり直さずに途中から再開するための仕組み。一定区間ごとにチェックポイントを打ち、回線復旧後はそこから続行します。

3. トークン管理(通信方向の制御)

「いまどちらが送る番か」を制御します。半二重通信(同時に話せない)の調整、データ・終了・同期トークンの受け渡しなど。電話の通話に近いイメージ。

4. ダイアログ制御 (全二重 / 半二重 / 単方向)

アプリケーションが要求する通信方式を選択。チャットなら全二重、ストリーミング配信なら単方向、トランザクションなら半二重、といった指定。

代表プロトコル

プロトコル用途
NetBIOSWindows ネットワークの名前解決・セッション管理
RPC (Remote Procedure Call)リモートの関数呼び出し
SQL*Net (Oracle Net)Oracle DB クライアント-サーバー間の接続管理
PPTP / L2TP の制御チャネルVPN セッションの確立・維持
SOCKSプロキシ経由のセッション中継
NFS の一部 (RPC 上)分散ファイルシステムのセッション管理

TCP/IP モデルでの扱い

実際にインターネットで使われている TCP/IP 4 階層モデルでは、セッション層・プレゼンテーション層・アプリケーション層が「アプリケーション層」に統合されています。OSI のセッション層単独に対応するプロトコルは、TCP/IP の世界では純粋には存在しません。

OSI モデルTCP/IP モデル
L7 アプリケーションアプリケーション層
L6 プレゼンテーション
L5 セッション
L4 トランスポートトランスポート層
L3 ネットワークインターネット層
L2 / L1ネットワークインタフェース層

現代的な"セッション"の例

近年のプロトコルにも、OSI セッション層と同じ概念が見られます。

  • TLS セッション: ハンドシェイクで鍵交換し、以降のレコードを 1 つの暗号化された対話として束ねる
  • HTTP Cookie / Session ID: ステートレスな HTTP の上に擬似的なセッションを実装
  • WebSocket: 1 つの長時間接続で双方向メッセージをやり取り
  • HTTP/2 ストリーム: 1 本の TCP コネクション上に複数の論理セッションを多重化
  • gRPC の双方向ストリーミング: RPC の現代版で、長期セッションでの相互通信

よくある質問

Q: TCP の 3 ウェイハンドシェイクはセッション層?
A: いいえ、これは L4 トランスポート層 (TCP) の話です。「コネクションの確立」と「セッションの確立」は OSI モデル上は別の層に属します。

Q: HTTP の Cookie で実現するセッションは L5?
A: 厳密には HTTP (L7) の上でアプリが独自実装している擬似セッションです。OSI 的には L5 相当の概念をアプリ層でやっていると見るのが近い解釈。

Q: なぜ OSI モデルを覚えるの? 実務では TCP/IP しか使わないのに
A: 障害切り分けやプロトコル設計を語る共通言語として、世界中のエンジニアが OSI 7 階層を基準にしているからです。実際の TCP/IP プロトコルがどの層に相当するかを語るのに便利。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. アプリケーション層(第7層)
  2. プレゼンテーション層(第6層)
  3. セッション層(第5層)
  4. トランスポート層(第4層)
  5. ネットワーク層(第3層)
  6. データリンク層(第2層)
  7. 物理層(第1層)

最近更新/作成されたページ