OSI 参照モデル | TCP/IP モデル | TCP/IP プロトコル | 実装 |
---|---|---|---|
アプリケーション層 | アプリケーション層 | HTTP, DNS, DHCP, SSH, MIME, TLS | アプリケーション プログラム |
プレゼンテーション層 | |||
セッション層 | |||
トランスポート層 | トランスポート層 | TCP, UDP | OS |
ネットワーク層 | インターネット層 | IP, ICMP, ARP, IPSec | |
データリンク層 | ネットワーク インターフェイス層 | イーサネット (有線) IEEE 802.11(Wi-Fi/無線) | デバイスドライバー Network Interface |
物理層 |
セッション層は OSI 参照モデルの層であり、TCP/IP モデルの層ではありません。
TCP/IP モデルでは、アプリケーション層の各プロトコルごとにセッションを実装します。
(例:HTTP プロトコルでは、Cookie でセッション ID を管理)
SSL/TLS は次の OSI 参照モデルの階層に該当します。(セッション層に近い何か)
At the lowest level, layered on top of some reliable transport protocol (e.g., TCP [TCP]), is the TLS Record Protocol.
https://datatracker.ietf.org/doc/html/rfc5246
(中略)
the TLS Handshake Protocol, allows the server and client to authenticate each other and to negotiate an encryption algorithm and cryptographic keys before the application protocol transmits or receives its first byte of data.
現在の主流は TCP/IP モデルであり、無理やり OSI 参照モデルに当てはめなくてもいいです。
それでも、セッション層に該当するプロトコルがどうしても気になるあなたへ
HTTP プロトコルによるセッション
アプリケーション層によるセッションの実装例として、HTTP プロトコルを取り上げます。
HTTP プロトコルでは、セッション ID を利用してセッションを実現します。
以降では、セッション ID が [ある時] と [ない時] の違いを見て、セッションの実現を確認します。
セッション ID がない時
そのため、ログインしたことも覚えてません。
このままでは、セッション (通信開始のログインから終了ログアウトまで) が実現できません。
セッション ID がある時
セッション ID を利用することで、ログインに成功しているユーザーかどうかを見分けることができます。
セッション ID で、セッション (通信開始のログインから終了ログアウトまで) を管理できます。
curl でセッション ID を管理
セッション ID は Cookie として保存するので、オプション -c (保存) と -b (送信) を使います。
関連記事
OSI 参照モデルの L5/セッション層に関する説明は以上となります。
OSI 参照モデル | TCP/IP モデル | TCP/IP プロトコル | 実装 |
---|---|---|---|
アプリケーション層 | アプリケーション層 | HTTP, DNS, DHCP, SSH, MIME, TLS | アプリケーション プログラム |
プレゼンテーション層 | |||
セッション層 | |||
トランスポート層 | トランスポート層 | TCP, UDP | OS |
ネットワーク層 | インターネット層 | IP, ICMP, ARP, IPSec | |
データリンク層 | ネットワーク インターフェイス層 | イーサネット (有線) IEEE 802.11(Wi-Fi/無線) | デバイスドライバー Network Interface |
物理層 |