- 会員限定
- 2008/02/15 掲載
【連載】SSL VPN(2)IPsec VPNとの比較にみるSSL VPNの真価
本記事はNETWORK Guide 2006 SPRINGより転載したもので、内容は当時のものになります。
執筆:乙部 幸一朗 |
VPN技術の中でも、とりわけ企業ネットワークにとって関係が深いのは、IPsec VPN(以下、IPsec)とSSL VPN(以下、SSL)の2つといえる。IPsecは周知のとおり、IPパケットを暗号化するための規格で、インターネットVPNにおいて先駆けとなった技術である。それに対して、SSLとはWebブラウザに組み込まれたSSL(HTTPS)を利用するVPN技術全般を指す。それぞれのベースとなる技術仕様の違いから、IPsecは拠点間のVPNに、SSLはリモートアクセスのVPNに適していると考えられている。
たしかにリモートアクセスだけに絞って考えると、SSLは特定のクライアントソフトのインストールが必要なく、ファイアウォール越しでの接続性が高いため、IPsecよりも幅広い環境で利用可能なのは間違いない。何より、IPパケット自体をカプセル化できるトンネル機能が登場したために、対応できるアプリケーションの制限がなくなり、SSLを選択するユーザーが増えてきたのは間違いない。
しかし仮に、利用する環境が限られていて、単純なトンネル機能だけを使うのであれば、IPsecを選択するというケースもあり得るのだろうか。今回はトンネル機能に絞ってSSLとIPsecの2つの技術をじっくり比べてみよう。
一般的にSSLは、既存のVPN技術に比べてパフォーマンスに問題があるといわれている。たしかにSSLのトンネル機能を利用した場合、IP、TCP、SSLというそれぞれのヘッダに加えて、製品によってはPPP(注1)などを利用してオリジナルのパケットをカプセリングしており、そのオーバーヘッドがほかのVPN技術に比べて大きくなってしまう(図1)。
図1 SSLのプロトコルスタック |
---|
SSL上でトンネル通信を行うと、オリジナルパケットに多くのヘッダが付与される |
さらにカプセル化する対象がTCPのアプリケーションだった場合、事態はもう少し複雑になる。問題はTCPにおける再送制御とタイムアウトのアルゴリズムに起因している。たとえば遅延やパケットロスが発生しやすい環境で、接続がパケットを失いだすと、下位レイヤーのTCPは再送パケットを送信して、再送タイムアウトの値を増やそうとする。接続はこの間ブロックされているため、上位レイヤーのTCPはその間ACK(注2)を受信できず、下位レイヤーと同様に再送パケットを送信することになる。
この際に、もし上位レイヤーの再送タイムアウトが下位レイヤーよりも小さいと、上位レイヤーは下位レイヤーが処理するよりも速く再送パケットを送信することになり、結果として上位レイヤーのTCP通信が停滞しやすくなってしまう。もともとのTCPの設計自体がこのようなTCP over TCPの利用を意識したものではないため、ここではTCPの特徴である再送制御が裏目になってしまうのだ。そのため、単純に技術仕様の観点からみると、トンネル機能のパフォーマンスではIPsecに分があるといわざるを得ない。
(注1) PPP
Point to Point Protocol の略。 ダイヤルアップ回線やシリアル 回線上でTCP/IPなどのリンク を提供するためのプロトコル。 RFC1661で規定。OSI参照モデ ルの物理層とデータリンク層に 対応し、ネットワーク層以上を サポートする幅の広いプロトコ ルである。
(注2)ACK
ACKnowledgementの略。コン ピュータ間の通信において、 データ転送が正常に行われた ことを確認するため、送信先か ら送信元へ発せられる通信のこ と。
関連コンテンツ
関連コンテンツ
PR
PR
PR