LAN内でファイルのやりとりをするよりもWAN経由で別の拠点とやりとりするほうが遅いと感じることがよくあるかと思います。「WAN回線のほうがLANよりも通信速度(スループット)が遅いから、というのがすぐに思いつきますし、多くの場合そういう単純な理由かもしれません。
ただ、WAN回線で速度が出ない理由はそれだけではありません。通信相手との物理的な距離が大きいと、距離が長いことにより遅延が生じて、そのために思うようにパフォーマンスがでないということもあるのです。
そこで重宝するのがWANアクセラレータという機器です。ぢろーらもも以前使ったことがありますが、確かその頃(2005年~2006年)は製品の市場としても7億円程度の規模だったと記憶してます。それが2008年は30億円強の市場のようですね。時代の流れによって回線速度はどんどん速くなるものの、以下にあげるように、距離が長いと回線速度が速くなってもおもうような性能が得られません。そう考えると、今後もやっぱり重要は大きくなっているようですね。
WANアクセラレータのしくみはhttp://itpro.nikkeibp.co.jp/as/wan/index.html やhttp://www.itmedia.co.jp/enterprise/articles/0706/12/news004.html あたりがわかりやすいです。設置パターンとしては、http://www.kaztan.com/network/archives/2007/08/15-232316.php にあります。2拠点間を結ぶ場合、両方の拠点にWANアクセラレータ機器を設置します。このほか、モバイル端末と会社との間の通信を速くするような場合だと、会社にWANアクセラレータを置き、モバイル端末にWANアクセラレータのソフトウェアをいれるということになります。
WANアクセラレータが主に提供する機能はTCP最適化、キャッシュ、圧縮、QoSです。そのほか、CIFSやExchange Serverなど、特定のプロトコルに特化して通信の最適化を行なうこともできます。特にCIFSだと、普通にWANで使うより100倍以上のスループットになることもあるようです。
TCP最適化ですが、TCPのコネクションベースのプロトコルでは、パケットを送るごとに(あるいは、複数個送ったあとに)確認応答が必要になります。また、パケットが到達する電気的な速さ→光の速さも「1秒間で地球7周半」という有限の速度なので、ある程度の距離になると遅延が発生します。そうすると、実際のスループットは「端末のウインドウ・サイズ×8(バイト→ビット変換)÷遅延値(秒)」になります。
たとえば東京から大阪間だと遅延はおおよそ20ミリ秒、そして、たとえばWindows2003などであればウィンドウサイズは64KB、そうすると、回線のスループットがどんなに速くても、実際のスループットは20Mbpsそこらになってしまうのです(参考サイト https://www-935.ibm.com/services/jp/ns/pdf/wan_ibm.pdf )。そこで、両端のWANがローカル端末からの通信に対して代理でACKを返し、WAN側にはまとめてデータを送ることで、WAN間での確認応答の回数を減らし、結果としてスループットがあがることになります。TCPの上位で動くCIFSもこのような確認応答を多く行う「おしゃべりな」プロトコルです。なので、似たようなしくみで通信高速化が可能となり、CIFSの場合にはさらに高速化がはかれる、ということです。
キャッシュ機能についても、普通のキャッシュサーバやプロキシサーバが使う「1ビットでも異なっていたら別のファイルとみなす」という類のキャッシュではなく、ビットレベルで差分だけキャッシュを提供できたりと、メーカーも工夫をこらしています。
圧縮に関して「データを圧縮できればその分短時間で多くのデータを送れる」ということですし、QoSは「帯域を広くする」というよりは、「基幹系業務とかVoIP(IP電話)のパケットなど重要度が高かったりリアルタイム性が高いものを優先して通すようにする(FTPやファイル共有のように、リアルタイム性は要求されないものの大容量の通信が必要になるものに邪魔されないようにする)」という「交通整理」の役割です。
まとめると、以下のような場合に効果があるといえます。
・回線は高速だが、距離が離れているため遅延が大きい場合には効果が高い(特に海外向け通信)
・データ量が多すぎて回線を使い切っている場合には圧縮の効果が得られる
・CIFSのようなアプリケーションだと、データをブロックごとにわけてブロックごとにACKを返しているので、アクセラレーションが効きやすい
ただ、もちろん効果が得られない場合も多くあります。通信が遅いといっても、何が原因で遅くなっているのかを切り分ける必要があるわけです。WANアクセラレータはWAN環境の影響を極力少なくするためのものです。そもそもLAN内通信が遅いというようなものでは、WANアクセラレータをいれても効果は見こめません。この場合、通信が遅い、といっても回線ではなくアプリケーション等、他が影響している可能性もあります。ここは切り分けが必要です。
また、データの圧縮率が90%を超えるくらい効率よく圧縮できたとしても「そもそも圧縮しなくてもデータ量で回線を圧迫していない」という場合には、圧縮での効果は得られていないのと同じです。
あと、効果があっても「予算」という問題は避けて通れません。「拠点が海外にあるので遅延が大きく、WANアクセラレータをいれれば明らかに効果がある。しかし、海外の拠点には数人しか人がいないので、費用対効果が少ないとみなされ、お客様社内の稟議が通らずに購入できない」ということももちろんあります。
まあ、実際に効果があるかどうかは、こちらも販売店さんに評価機を借りて検証してみるのがいいでしょう。おそらく、だいたいのWANアクセラレータは「モニタのみ」ということもできるはずです。実際のデータはいじらずに「このくらいの効果が得られる」というのをレポート化できます。これだと実環境に影響を与えるリスクは低いですね。
まずこれで様子を見て、そのあと実際にWANアクセラレータを機能させて効果がでることを確認した上で購入すればよいです。まあ、当たり前の話ですが・・・。
ただまぁ、ストリーミングなどUDPベースのものだと効果がでにくいですし、上記のとおり回線帯域に余裕があり、距離も近い場合には効果が得られません。評価機を借りるまでもなく、TCPMonitorなどのツールで「どの程度のトラフィックが流れているか」を見るだけで「効果は得られない」と判断される場合もあります。まあ、それはそれで原因切り分けの1つになりますし、意味はあることだと思いますが。
最後にWANアクセラレータの今後の話を少しとりあげます。使用目的としては、ディザスタリカバリに備えたリモートバックアップのほか、今後はクラウドでの使用も注目されています。クラウドの場合、データセンターは海外である場合なども多いのでこの技術が使えると都合がいいはずです。そのことを取り上げた記事がこちらにあります。http://itpro.nikkeibp.co.jp/article/Watcher/20091210/341896/
確かにブロードバンドルータで使えるようになったら面白いでしょうね。
この記事が気に入りましたら、また、お役に立ちましたら、以下のアイコンをクリックしていただけると嬉しいです(^^)