研究の背景
現在のインターネットにおいて提供されているサービスの中には,優先度の異なるデータ転送を実現することによってサービス品質の向上が期待できるものが存在する.例えば,Akamai に代表される Content Delivery Network (CDN) では,ユーザからのコンテンツ閲覧要求を受けて行われるデータ転送以外にもデータのバックアップなど様々なデータ転送が行われている.このとき,これらのデータ転送の優先度を低く設定することができるならば,バックアップのためのデータ転送を行っている最中であったとしてもユーザからの要求に迅速に対応することが可能となる.優先度の異なるデータ転送を実現する方法として,これまで,DiffServ のような IP ネットワークに新しい機構を組み込む方法が考えられてきた.しかしながら,IP 層における機能拡張の多くはトラヒックが通過するネットワーク上の全てのルータが対応している必要があるため,インターネットのような既に運用されているネットワークに組み込むことは困難である.したがって,そのような制限なしに優先度の異なるデータ転送を実現するためには,エンドホストのみで実現する必要がある.
現在のインターネットにおけるトランスポート層のプロトコルとして広く用いられている TCP Reno を用いて上記のような優先度の異なるデータ転送を実現することは非常に難しい.これは,TCP Reno の輻輳制御機構の基本的な性質に起因する.TCP Reno では,送信端末が持つ輻輳ウィンドウと呼ばれる値を動的に増減させることによりデータ転送速度の調節を行っているが,そのアルゴリズムは,パケット廃棄が発生するまで線形的に増加させ続け,パケット廃棄を検出すると半減させるというものであるため,周期的な輻輳の発生を防ぐことができない.すなわち,TCP Reno を用いてバックグラウンド転送を行うことは,優先されるべきフォアグラウンド転送にも大きな影響を与えることになる.そこで本研究では,TCP Reno の輻輳制御機構を修正した TCP によるバックグラウンド転送方式を提案し,その有効性についての評価を行う.
関連研究
TCP によるバックグラウンド転送を実現するための研究は,これまでにも数多く行われている.しかしながら,それらの多くは,「フォアグラウンド転送へ影響を与えずにデータ転送を行う」ことに主眼が置かれている.例えば,TCP Nice や TCP-LP では,TCP コネクションが転送するデータパケットのラウンドトリップ時間 (RTT) をネットワーク輻輳の指標として用いる.これにより,パケット廃棄を輻輳の指標として用いている既存の TCP よりも早期に輻輳を検知することができるため,この時に適切に輻輳ウィンドウを減少させることによって,既存の TCP よりも優先度の低いデータ転送を実現することができる.しかしながら,これらのバックグラウンド転送方式においては,輻輳の大きさに関わらず輻輳ウィンドウサイズを一定かつ大きく減少させるため,エンドホスト間のネットワークパス上で利用可能な帯域を十分に活用することができないという問題が存在する.
インラインネットワーク計測に基づく TCP によるバックグラウンド転送方式
本研究では,フォアグラウンド転送へ影響を与えずにデータ転送を行い,かつ,ネットワーク上で利用可能な帯域を最大限に活用する新しいバックグラウンド転送方式を提案する.これまで提案されてきた手法が,ネットワーク上で利用可能な帯域を十分に活用することができない本質的な原因は,TCP には帯域に関する情報を得るための効率的な方法が存在しないためである.そこで本研究では,上記の2つの目的を同時に満たすためにエンドホスト間で利用可能な帯域を計測する技術に着目し,その情報を基に輻輳制御を行う手法を考える.
エンドホスト間で利用可能な帯域を計測するための手法は,これまでも数多く提案されているが,それらの手法を直接 TCP の輻輳制御へ適用するにはいくつか問題が存在する.そこで,我々の研究グループでは,これまでにそれらの問題点を解決した Inline measurement TCP (ImTCP) と呼ばれる新しい帯域計測手法を提案している.本研究では,この ImTCP の計測結果に基づいたバックグラウンド転送のための新しい輻輳制御方式 ImTCP background mode (ImTCP-bg) を提案した.ネットワーク状態を高い精度で推測して輻輳制御を行うことにより,これまで提案されてきたバックグラウンド転送方式とは異なり,ネットワーク帯域を最大限に活用することができるようになる.また,提案手法では,利用可能帯域の計測を行うことができないような場合においても,フォアグラウンド転送へ影響を与えずにデータ転送を実現する方法も提案した.
性能評価
提案したバックグラウンド転送方式に関しては,コンピュータ上のシミュレーションおよび実ネットワーク上での実装実験を通じてその有効性を評価している.シミュレーションにおいては,実ネットワークに比べて理想的なネットワーク環境が想定されている.そのため,実ネットワークにおいては,ネットワークパス上に存在するネットワーク機器や様々なアプリケーションによるデータ転送などの影響によって,シミュレーションとはまったく異なる結果を示す可能性がある.したがって,計測技術やそれに基づく制御方式の評価を行う際には,実ネットワーク上における実装実験は必要不可欠である.本研究では,提案したバックグラウンド転送方式および提案方式のベースとなる ImTCP を FreeBSD 4.10 のカーネルシステムへ実装し,研究室内の実験ネットワークおよびインターネット上で実験を行うことによって,提案方式の実ネットワーク上での有効性についても評価を行う.
シミュレーションによる性能評価を通じて,従来提案されているバックグラウンド転送と比較して,フォアグラウンド転送へ影響を与えることなく,TCP のデータ転送スループットを最大 60% 向上させることができることを明らかにした.また,実装実験を通じて,実ネットワークにおいてもシミュレーションと同様の結果が得られることを確認した.尚,本研究で用いた ImTCP および ImTCP の計測結果に基づくバックグラウンド転送方式の実装コードに関しては,ImTCP's Homepage において公開している.
関連論文
国際会議発表
- Tomoaki Tsugawa, Go Hasegawa, and Marayuki Murata, ``Background TCP data transfer with inline network measurement,'' in Proceedings of Asia-Pacific Conference on Communications (APCC 2005), pp. 459-463, October 2005. [PDF]
- Tomoaki Tsugawa, Go Hasegawa, and Masayuki Murata, ``Implementation and evaluation of an inline network measurement algorithm and its application to TCP-based service,'' in Proceedings of 4th IEEE/IFIP Workshop on End-to-End Monitoring Techniques and Services (E2EMON 2006), pp. 35-42, April 2006. [PDF]