0

通信の世界でよくでてくる「セッション」と「コネクション」の違いについて

明確に違いをはっきりする為、書き残します。

■セッションとは

通信の開始から終了までを管理する一つのかたまり、単位。
OSIの7階層モデルで言う,第5層「セッション層」の機能

端末間でセッションが確立してはじめて,
通信を伴うアプリケーションはデータ転送可能な状態となる。

■コネクションとは

そのセッションでデータ転送を行うための論理的な回線のこと。
通常は

第4層「トランスポート層」のTCP(Transmission Control Protocol)での「TCPコネクション」

を指すことが多い。

一つのセッションに一つのコネクションしかないこともあるが、
一つのセッションに複数のコネクションが存在する場合もあります。

コネクションはセッションによって管理されます。

例として,Webサイトへのアクセスで使う暗号化プロトコル「SSL」(secure sockets layer)でのセッションとコネクションにおいては、

SSLを使ったWebサイトへのアクセスでは実際のデータ転送に先だって,
WebブラウザとWebサーバーがSSLで使う暗号の仕様についてやりとりして合意します。
この“合意”がセッションです。

セッションが張れたら,暗号化したデータをSSLで転送します。
この転送で利用する論理的な回線がコネクションです。

セッション確立 → コネクション確立

1回合意した内容(セッション情報)を利用すれば,
コネクション(論理回線)で何度もデータ転送ができる。
仮にセッションを張らずに暗号通信をすると,
コネクションのたびに暗号の仕様について端末間で確認し合うことになる

要は,
一度合意ができていれば(セッション確立),その後の確認は不要になる。

まとめ

セッション管理のスキームを利用したシステム間のやり取りは、
規模問わず、実に合理的かつ、管理面においてもリソースの効率化が図れる。

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です