全4343文字
PR

コネクションとセッション
通信の経路や流れ

 「コネクション」と「セッション」はどちらも通信に関する用語である。言葉が似ているため混同しやすいが、意味は大きく異なる。

[画像のクリックで拡大表示]

 コネクションは通信相手との間に構築する、仮想的な「接続状態」を意味する。例えばTCP/IPネットワークでは、TCPで通信する経路をコネクションと呼ぶ。その際に使われる手順が「スリーウエイハンドシェーク」だ。

 スリーウエイハンドシェークとは、通信相手との間で「送信元からの通信開始の要求」(SYNパケット)、「送信元からのコネクション確立の通知と通信開始の要求」(SYN+ACKパケット)、「通信相手からのコネクション確立の通知」(ACKパケット)というパケットを互いにやりとりする手順である。通信を始める前にパケットを3回やりとりできれば「確実にやりとりできる状態」にあるとみなす。

 IPsecやTLSといったセキュリティープロトコルで確立する通信路もコネクションと呼ぶ。インターネットを介してデータを送受信するとき、IPsecやTLSによってデータを暗号化して、第三者に盗聴されないようにする。

 一方のセッションは、送信元と宛先の間でやりとりする一連の通信内容やその流れを指す。

 例えば、インターネットの通販サイトで買い物をする場合を考えてみよう。利用者がWebブラウザーで通販サイト(Webサイト)にアクセスすると、Webサイト側でセッションの管理が始まる。

 アクセスしたWebブラウザーごとにID(セッションID)を振り、セッションオブジェクトと呼ぶ管理情報を生成する。セッションオブジェクトには認証したか、どんな商品をカートに入れたかなど利用者の行動をセッションIDとひも付けて記録する。

 またWebサイトはWebブラウザーにセッションIDを通知し、接続するときはセッションIDを要求する。これによってサイトにおける行動履歴を把握できる。通信が中断されてもセッションIDを使って直前の状態から作業を継続できる

▼IPsec
Security Architecture for the Internet Protocolの略。IPsecによるコネクションはSA(Security Association)と呼ぶ。
▼TLS
Transport Layer Securityの略。TLSを使ったVPNを「SSL-VPN」と呼ぶことがある。SSLはTLSの基となった技術。
▼継続できる
プロキシーサーバーのような中継機器があると、送信元IPアドレスでセッションを管理できない。セッションIDを使えば中継機器があっても管理できる。