ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
セッション層 (第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. ダイアログ制御 (全二重 / 半二重 / 単方向)
アプリケーションが要求する通信方式を選択。チャットなら全二重、ストリーミング配信なら単方向、トランザクションなら半二重、といった指定。
代表プロトコル
| プロトコル | 用途 |
|---|---|
| NetBIOS | Windows ネットワークの名前解決・セッション管理 |
| 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 プロトコルがどの層に相当するかを語るのに便利。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 Spring Frameworkのアノテーション一覧
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- djangoにおけるMVCアプリケーション実装例 2026-08-07 17:15:57
- PHPでのファイルアップロード方法|multipart/form-dataと$_FILES 2026-08-07 17:15:57
- Scratchのアカウントの作り方|メールアドレスとユーザー名の登録手順 2026-08-07 17:15:57
- PHP $_SERVERとは|DOCUMENT_ROOT・PHP_SELFなど主な要素 2026-08-07 17:15:57
- Bluetoothとは|仕組み・BLEとClassicの違い・用途 2026-08-07 17:15:57
- Spring Bootのテスト入門|@SpringBootTestとJUnitでの単体・結合テスト 2026-08-07 17:15:57
- データベースとは?RDB / NoSQL / SQL の基礎 2026-08-07 17:15:56
- APIキー取得方法 2026-08-07 17:15:56
- Scratch 作品の公開方法 2026-08-07 17:15:56
- 【PHPフレームワーク】Laravelの使い方 2026-08-07 17:15:56
- Google OAuth 2.0 認証の実装方法 2026-08-07 17:15:56
- Java とは?言語仕様・JVM・主要フレームワーク一覧 2026-08-07 17:15:56
- インストール(eclipseプラグイン) 2026-08-07 17:15:56
- Spring Frameworkの使い方 2026-08-07 17:15:56
- インストール方法(Windows版) 2026-08-07 17:15:56
コメントを削除してもよろしいでしょうか?