tags | |
---|---|
|
PDFは下記リンクを.論文タイトルで調べると出てくる.
Exploring Mobile/WiFi Handover with Multipath TCP - IP Networking Lab
自分が後で見返すことを意図したメモである.
[TOC]
モバイルデータネットワークにおけるデータトラフィックは成長を続けている.
モバイルオペレータは,3G・4Gネットワークですべてのトラフィックを捌くことに苦労していて,Wi-Fiへのオフロードも検討されている.
MPTCPを使えば,一つのコネクションで複数のインターフェースを同時に使うことができる.
この論文では,現在のインターネットにおいて,MPTCPで3G/WiFiハンドオーバが実現可能であることを証明する.
エネルギー消費とハンドオーバーパフォーマンスを複数のモードで解析し,VoIPのような要求の厳しいアプリケーションに置いても,スムーズなハンドオーバを妥当なパフォーマンスで行えることがわかった.
3Gで成長するバンド幅をサポートするのは難しい.専門家は,バンド幅の要求は今後も増え続け,4GやLTEなどの新しいセルラー技術の導入も,要求を満たさないだろうとしている.
セルラーデータネットワークと並行して,WiFiも継続して導入されている.
デバイスが移動中に,複数のリンクを同時に,または選択的に使うことができれば,ユーザ体験は向上するだろう.
MPTCPでは,ハンドオーバが起こる際に,TCP接続を再度スタートする必要はない.
MPTCPが,実際のワイヤレスネットワーク・アプリケーションでどのように振る舞うのか理解することが目標だ.そのような評価を行うことで,Linux MPTCPスタックを,WiFi/3Gハンドオーバをより良くサポートするように最適化することができる.
MPTCPをモバイルで走らせることの主な懸念点はエネルギー消費だ.
Nokia N950でMPTCPでのエネルギー消費を計測した.結果,複数のインターフェースを使うと,より良いスループットを得られるが,エネルギーコストが高い.
そのため,3つのハンドオーバーモードを用意し,3GからWiFiにハンドオーバする際のパフォーマンスを計測した.
MPTCPは,アプリケーションへ,接続を提供しながら,WiFiから3Gへのスムーズなハンドオーバを可能にする.
最後に,ハンドオーバの遅延を有意に減らす,MPTCPプロトコルへのマイナーチェンジを提案する.
メモ: このプロトコルへの提案についての部分は読めていない.
ユーザから見て,以下の3つの重要な懸念事項がある.
-
データ転送のパフォーマンス
-
バッテリー消費
-
トラフィックの値段
これを踏まえて,MPTCPで,ほとんどのユーザのニーズを満たす3つのモードを実装した.
- Full-MPTCP Mode
- すべてのインターフェースを使い,データ転送を行う.
- Backup Mode
- すべてのインターフェースでサブフローを作成するが,データ転送には,そのサブセットのみを用いる.
- Single-path Mode
- 一つのサブフローのみを用い,インターフェースがダウンし,新しいインターフェースが必要になった際に,新しいサブフローを作成する.
それぞれのハンドオーバモードを用いたときのパフォーマンスのトレードオフを示す.
3GとWiFiネットワーク両方に接続されたクライアントを利用し,サーバ・クライアントはMPTCPカーネル実装を実行する.
この計測では,MPTCPの2つの使われ方に焦点を当てる.
-
MPTCPコネクションで,バルクデータ転送とVoIPアプリケーション上で,違ったハンドオーバモードを使用した際の,ハンドオーバのパフォーマンスへの影響
-
3G・WiFiを利用したときのMPTCPのエネルギー使用量
ハンドオーバの実験はクライアントがWiFiと3Gネットワークで接続したところから開始し,そして5秒後にADSLルータ上のWiFIインターフェースを無効化する. これはモバイルユーザがWiFiの範囲から移動したことをエミュレートする. クライアントはWiFiネットワークの障害を検知し,3Gコネクションのみを使うように切り替える.
シンプルなHTTPアプリケーションでの,垂直ハンドオーバー中のgoodputを計測する.
元論文中の Figure 1を参照
backup-modeとFull-MPTCPは,WiFiネットワークが使用不可になったときに既に3Gネットワーク上でのサブフローが確立されている.
その他の2つは,3Gインターフェースがアイドル状態から復帰するため,時間に影響が出ている.
3Gインターフェースを強制的にアクティブにして測定したところ,バックアップモードとシングルパスモードの間に大きな違いはなかった.
VoIP・ストリーミングアプリケーションにおいて,アプリケーションの遅延は重要なメトリックである.
タイムスタンプでタグ付けしたデータのブロックを送信し,アプリケーションの遅延を測定した. 各ブロックを受信すると,受信側のタイムスタンプと一緒に送信タイムスタンプを保存する. このタイムスタンプの差で,アプリケーションの遅延の変動を得ることができる.
サーバからクライアントに500Kbsデータを送信し,5秒後にWiFiインターフェースをダウンさせた.
500Kbsは,WiFiインターフェースのパイプを満たさず,Full-MPTCPモードでも3Gインターフェースは使われない.そのため,Backup-Modeは,Full-MPTCPモードと変わらないため,ここでは表示していない.
元論文中の Figure 2(a) を参照
Single-Pathモードでは,WiFiインターフェースはダウンする前に3Gインターフェースのサブフローを確立していないため,3Gインターフェースはそれまでアイドル状態になっている.アイドル状態から復帰するのに2秒ほどかかる.
3Gインターフェースを強制的に有効にした場合,以下のようになった.
元論文中の Figure 2(b) を参照
この場合,Single-Path modeでの新しいサブフローの確立による影響は少ない.
Full-MPTCP modeで,少しピークがあるのは,
-
Remove Adressオプションを送信する必要がある
-
3Gインターフェースの輻輳ウィンドウが十分に成るまで時間がかかっている
という理由からである.
MPTCPはsocket APIを変更しないため,あらゆるTCPアプリケーションに対して透過的である.
ここでは,Skypeを用いて実験する.Skypeは,TCPとUDP上で動くVoIPアプリケーションであり,厳しいパケットレベルの制約がある.
7秒後にWiFiアクセスポイントをダウンさせた.MPTCPはアプリケーションへの影響なく,シームレスに3Gへのハンドオーバを実行した.
元論文中の Figure 3 を参照
Wi-Fiアクセスポイントがダウンしてから少し間があるのは,MPTCPが失敗を検知して,他のサブフローでデータを再送(Full-MPTCP Mode)するか,新しくサブフローを確立(Single-Path Mode)する必要があるからだ.
スマートフォンのバッテリーライフタイムは限られており,これはMPTCPを利用することのエネルギー消費への影響を理解し,レギュラーなTCPと比較するにあたって重要である.
MPTCPのLinuxカーネル実装をNokia N950にポートし,正確にエネルギー消費を計測できるようにした.
計測中の合計消費電力量を計測し,アプリケーションによって送信されたビット数で割った.これで,MPTCPのエネルギー消費におけるオーバーヘッドを考慮することができる.
評価では,3G・WiFiそれぞれを利用したレギュラーTCPとMPTCPを利用して,MPTCPが有効なWebサーバからファイルをダウンロードする.
2つの代表的なシナリオを考慮する.
-
1MBのファイルを繰り返しダウンロード
-
小さなファイル(100kb)を5秒の間を開けて繰り返しダウンロード
それぞれ,大きなファイルのダウンロードとWebブラウジングに対応している.
元論文中のFigure 4を参照
1番目のシナリオに置いて,低いスピードでは,レギュラーなTCPでは,WiFiは3Gと比べて半分ほどのエネルギー消費になっている.これは,N950のWiFiインターフェースは素早く energy-saving modeに切り替えることができるからだ.いくつかのパケットが生成されるとエネルギーをセーブできる.
対して,3Gはエネルギー消費がより高い.
MPTCPで両方のインターフェースを使う場合,ダウンロードは2倍早く終わり,エネルギー消費はWiFiのみ,3Gのみの場合の間だった.
元論文中 Figure 5を参照
2番目のシナリオにおいて,3Gインターフェースにパケットが渡されない場合でも,WiFiインターフェースとは違って,3Gインターフェースは直接 energy-saving mode に切り替えない.
Nokia N950では,このプロセスに7秒かかる.この7秒間の間,インターフェースはエネルギーを消費し続ける.これは tail-energy と呼ばれる.
-
アプリケーションを変更することなく,skypeをハンドオーバーさせ,機能させることが出来た.
- 知る限り,実際のアプリケーション・ネットワークでハンドオーバーをした初めての実験
-
Nokia N950では,3Gインターフェースはバッテリーライフタイムにコストがかかるので,Full-MPTCPはバッテリーライフを節約するのにベストではない.
- 対して,Full-MPTCPは最もスムーズなハンドオーバーを提供する.
-
Single-Path modeは3Gがスリープするほどコネクションが長い場合,Backup Modeはこれにたいして控えめにパフォーマンスが向上する
-
この場合,Single-Path modeがより少ないエネルギー消費で済み,好ましい
-
コネクションが10秒より短い場合,Backup Modeの方がより良いパフォーマンスを発揮し,エネルギーコストも少ない.
-
-
活発にデバイスが使われている場合はFull-MPTCPを利用し,スリープしている場合は,Single-Path modeを利用する.といった戦略が考えられる.