通信の世界では、接続の1つの単位をセッションとかコネクションと呼びます。
お恥ずかしながらセッションとコネクションの違いって良く分かっていません。
紛らわしいこの二つの言葉について違いを調べてみました。
セッションとコネクションの違いとは
インターネット上を検索してみると分かりやすい説明をしてくれているページがいくつかありました。
例えば、昔からお世話になっている「3分間ネットワーク」の中で
役割が違う。コネクションの接続・切断はデータ転送用回線の接続・切断を示すのに対して、セッションはもう一段上のデータ転送の開始と終了を表すのだよ。
この説明が一番しっくりきました。
たとえばTCPでの接続開始時に3wayハンドシェイクして確立するものは「コネクション」
上位レイヤ(例えばHTTP)で行うデータ転送の単位が「セッション」
てな感じでしょうか。
こちらの説明も分かりやすいです。
セッションは、通信の開始から終了までを管理する1つの単位のことです。 例えば端末の間でセッションが確立すると、通信で使用するアプリケーションが データ転送可能な状態になります。OSI 7階層の第5層「セッション層」の機能です。
引用元:OSI参照モデル – その2
コネクションは、セッションでデータ転送を行うための論理的な回線のことです。 一般的に、OSI 7階層の第4層「トランスポート層」のTCPコネクションを指します。
引用元:OSI参照モデル – その2
1つのセッションは複数のコネクションからなる場合がある?
調べていくと、1つのセッションは複数のコネクションからなる場合があるようです。
一つのセッションに一つのコネクションしかないこともありますが,一つのセッションに複数のコネクションが存在する場合もあります。コネクションはセッションによって管理されます。
いまいちイメージが出来なかったのですが、以下のページの一番下の絵が非常に分かりやすいです。
不正アクセスを防止するSSL/TLS(4):SSL/TLS(Part.3) (1/4) – @IT
Webブラウザを例にとると、ブラウザごとにセッションが張られ、セッションの中には複数のコネクションがある場合があるということなんですね。
関連本の紹介
オーム社
売り上げランキング: 4,078