KLabとIDCフロンティアは、2013年12月から共同で取り組んできた「モバイルオンラインゲームの海外展開向け配信ソリューション」に関する研究の中間成果として、実証実験向けに開発した海外との通信を最大50%以上高速化するソフトウェア「AccelTCP(アクセルティーシーピー)」を、25日にオープンソースソフトウェアとして公開した。
「AccelTCP」は、通信遅延が大きい長距離ネットワークにおけるTCP通信を高速化するプロキシサーバ型のソフトウェアで、日本国内のデータセンターに構築されたシステムから海外のユーザに対して、モバイルオンラインゲームの安定した品質での配信を実証する目的で開発した。
プロキシサーバ間で、あらかじめ確立されたTCPコネクションを再利用する「コネクションプーリング」を行い、プロキシサーバ間のコネクションプーリングによって、TCPコネクションの確立時に発生する3Wayハンドシェイクのオーバーヘッドを削減し、比較的小さなデータのやりとりを行う通信の待ち時間を大幅に短縮できる。
プロキシサーバ間のTCP通信は、ウィンドウサイズなどのTCPパラメータをネットワークの特性に合わせ最適化し、データ転送効率を大きく向上している。
また、プロキシサーバ型の採用によって、クライアント/サーバサイドのプログラムを改修せずに利用が可能で、プロキシサーバの設置によって通信区間が分割され、各通信区間の往復遅延時間が減少する。往復遅延時間の減少で、パケット消失時の再送時間の短縮につながり、通信全体の高速化を期待できる。
このほか、ネームベースのバーチャルホストに対応するために、プロキシサーバによるHTTPリクエストのホストヘッダ書換えとXFFヘッダ挿入を行うHTTPプロキシモードを備えており、プロキシサーバ間の通信はSSL/TLSによって暗号化され、安全なやりとりを実現する。また、SSLオフロード機能を搭載しているため、SSL非対応サーバのSSL化や、サーバからのSSL処理の分離を可能にしている。
確認済みの動作環境は、Linux カーネル2.6.32、Mac OS X 10.9.2。
【関連リンク】
・KLab
・IDCフロンティア
・「AccelTCP」(GitHub)
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です