WAN高速化装置は遅延を克服する代表的な二つのテクノロジを搭載する。一つはWANに流れるトラフィックを減らすための「キャッシュ」,もう一つは通信手順を効率化して遅延の影響を減らす「プロトコル・アクセラレーション」である。これらを組み合わせることで,驚異的なレスポンス向上効果が期待できる。

 前回は,遅延の影響を受けてレスポンスが悪化するアプリケーションやプロトコルがあること,遅延の問題には回線を増強しても改善効果が少ないことを説明した。

 そこでWAN高速化装置の出番となる。WAN高速化装置は遅延を克服するテクノロジを搭載する。中核となるものは二つある。一つは,WANに流れるトラフィックを減らすもの。もう一つは,通信手順を効率化して遅延の影響を減らすものだ。前者は「キャッシュ」,後者は「プロトコル・アクセラレーション」と呼ぶテクノロジである。

キャッシュ
使用頻度の高いデータを蓄積

 まずはキャッシュから説明しよう。キャッシュは,使用頻度の高いデータを高速読み出し可能な記憶装置に蓄積しておく仕組みである。

 例としては,InternetExplorerの「インターネット一時ファイル」が思い浮かべやすいだろう。Webサイトにアクセスしてダウンロードしたファイルを,InternetExplorerが一時的にパソコンのディスクにキャッシュ・ファイルとして保存しておく機能だ。

 再び同じファイルを読み込む必要が生じたとき,InternetExplorerは保存しておいたキャッシュ・ファイルが最新のものと一致するかどうかを確認する。最新だった場合は,Webサイトに接続してファイルを受信し直す代わりに,キャッシュを参照する。ローカルにあるデータを表示するのだから,ダウンロードするよりも高速なレスポンスを期待できる。

 ただし当然のことながら,キャッシュはヒットしなければ効果がない。インターネット一時ファイルの場合,ファイルの内容が少しでも更新されていれば,蓄積しておいたキャッシュはヒットしなくなってしまう。ファイルを単位にしているためだ。

WAN高速化装置はバイト単位でキャッシュ

 WAN高速化装置が備えるキャッシュの仕組みは,こうしたファイル単位のキャッシュの課題に考慮したものだ。ファイル単位よりもさらに小さなバイト単位のキャッシュを搭載する。

 バイト単位のキャッシュは,転送するファイルが全く同じではなくとも,データの一部が一致すれば効果がある。これによりWAN上を流れるトラフィックを大幅に減らす。トラフィックが減れば短時間で通信が完了するため,相応にレスポンスの向上が見込める。

 例として,クライアントが「A~J」の文字列を含むファイルをサーバーへ送信した場合を考えてみよう(図1)。WAN高速化装置はこれらの文字列データを記憶し,符号化した容量の小さなデータに変換してからキャッシュとして蓄積する。例では,「A~J」を「1」と変換している。

図1●バイト単位のキャッシュでトラフィックを大幅に削減
図1●バイト単位のキャッシュでトラフィックを大幅に削減

 次に,「A~N」までの文字列データを含むファイルを送信したとする。この時,WAN高速化装置はキャッシュした「A~J」の文字列の部分を変換後のデータである「1」にして送信する。したがって,WAN上に流れるデータは「1KLMN」となる。

 対向のサーバー側に設置したWAN高速化装置は,「1KLMN」というデータを受信すると,元の文字列である「A~N」に復元してからサーバーへと渡す。同じ要領で,3回目に「A~Q」の文字列を含むファイルを送信すると,クライアント側のWAN高速化装置は「12OPQ」に変換してデータを転送する。

95%ものトラフィックを削減することも

 バイト単位のキャッシュは,従来の技術と比べて目覚ましいトラフィック削減効果がある。ユーザーが初めて転送するデータでも,他のデータと共通する要素が多ければ,WAN高速化装置が蓄積したキャッシュにヒットする可能性がある。初めから高速なレスポンスを期待できるわけだ。

 同じファイルを2回連続して転送した場合には驚異的なトラフィック削減率をたたき出す。実際の製品で計測したところ,多くの機種が95%以上のトラフィックを削減できた。装置を稼働させた前と後で,WANのトラフィック構造は激変することになる。

 もっとも,WAN高速化装置のキャッシュが効果をあげない場合もある。IPsec(IP security protocol)やSSL(secure sockets layer)といった暗号化通信のデータである。暗号化された通信ではパケットに含まれるデータの中身を判別できなくなり,キャッシュ・データを保存できないからだ。

プロトコル・アクセラレーション
通信手順を効率化する

 キャッシュだけではレスポンスが向上しにくいプロトコルやアプリケーションもある。Windowsのファイル共有に使われるCIFS(common internet file system)や,データベースに使われるMicrosoft SQL(MS-SQL)の通信が該当する。

 CIFSやMS-SQLの通信では,サーバーはクライアントからの受信応答であるAckを受け取るまで,次のデータを送信しない。そもそもデータがなかなか送られてこない状態では,WAN高速化装置がキャッシュでトラフィックを削減したとしても,レスポンスはほとんど改善しない(図2)。

図2●「キャッシュ」だけを使ったCIFSの通信
図2●「キャッシュ」だけを使ったCIFSの通信

 そこで,キャッシュと並ぶもう一つの高速化手法であるプロトコル・アクセラレーションに注目する必要が出てくる。

 プロトコル・アクセラレーションの特徴は,代理応答という仕組みを備えること。サーバーがデータ転送を始めると,サーバー側のWAN高速化装置がクライアントの代わりにAckを返すものだ。遅延の小さなLAN内で通信シーケンスが終端するため,サーバーが次のデータを送信するまでの時間が大幅に短くなる。

 サーバーからデータを受け取ったWAN高速化装置は,遅延の影響を受けにくい通信手順を使って対向のWAN高速化装置に転送する(図3)。具体的には一度に送信するデータ量を増やすなどの手法を駆使することで,遅延の影響を極小化する。

図3●プロトコル・アクセラレーションを有効にしたときのCIFS通信
図3●プロトコル・アクセラレーションを有効にしたときのCIFS通信

 さらにWAN高速化装置がキャッシュ・データを保持していれば,転送するトラフィック量も大幅に削減する。これら複数の高速化機能の組み合わせにより,「以前なら数分かかっていたCIFS通信が数秒で完了した」といった具合に,驚異のレスポンス向上が実現するのだ。

データベースやメール,Webも高速化対象に

 このようにプロトコル・アクセラレーションは,遅延の影響を受けやすいプロトコルやアプリケーションを高速化する機能である。各社のWAN高速化装置が登場した当初は,ユーザーが多いこともあってCIFSが主要な高速化対象だった。

 最近はCIFS以外にも高速化の対象領域が広がっている。例えばMS-SQLや,Windows上でメールを扱うためのMAPI(messaging application program interface),UNIXシステムでファイル共有を行うためのNFS(network file system)などである。様々なアプリケーションのレスポンス向上に悩むユーザにとっては朗報と言える。

 さらに,利用頻度の高さからHTTP(hypertext transfer protocol)に対応する製品も増えてきた。HTTPはCIFSなどとは異なり,遅延の影響を受けやすいわけではない。ただし,キャッシュによる高速化だけではなく,効率の良いHTTPリクエストの転送やファイルの先読みといった機能を実装することで,ユーザーの利便性を高めている。

 多くのメーカーがWAN高速化装置のプロトコル・アクセラレーション技術を強化している。遅延の影響を受けやすいアプリケーションを使用している企業は,プロトコル・アクセラレーションの対応状況に注目して製品を選び,最大限の効果を発揮させたい。