スライド 1

TranSwitch:ネットワークフロー毎にお
ける最適な TCP への動的切替機構
総合政策学部4年 山下 勝司
親:政策・メディア研究科 高橋 ひとみ
サブ親:政策・メディア研究科 斉藤 匡人
発表概要






研究背景・問題意識
TranSwitch 概要
設計、実装
評価
関連研究
今後の課題、まとめ
研究背景・問題意識
研究背景 1/2

ネットワーク環境の多様化

通信形態



有線通信
無線通信
帯域

狭帯域(数10Kbps~数100Kbps)


ex. ISDN、モバイル通信
広帯域(数Mbps~10Gbps)

ex. ADSL、FTTH、LAN 内通信
研究背景 2/2

特定環境に最適化された TCP

無線ネットワーク用 TCP


広帯域ネットワーク用 TCP


ex. BIC、FAST、Highspeed TCP、Scalable TCP
etc.


ex. Westwood+、Mobile TCP、M-TCP
ex. NewReno、Vegas、P-TCP、Hybla
送信側の変更のみで利用可能な TCP の研究

送受信ホストに同一の TCP 導入は困難
問題意識

一つの TCP vs. 多様なネットワーク環境




遅延、帯域、通信形態が多様なネットワーク環境
通常の OS は TCP を一つしか所持できない
汎用性を重視した TCP を利用する必要性
特定環境に特化した TCP の利用は難しい
TranSwitch の提案

OS へ複数の TCP を導入
→汎用性を重視した TCP と特定環境に最適化された TCP
が共存可能

ネットワークフロー毎に TCP を選択
→ネットワークの特性を考慮した TCP の利用
TranSwitch 概要
TranSwitch 概要




OS へ複数の TCP を導入
ネットワークフロー毎に TCP の選択
ユーザによるネットワークフローと TCP の関連
付け
ユーザによる TCP の追加、削除
想定シナリオ


特性が異なる複数のネットワークを同時に利用
各ネットワークの特性に合わせた TCP の選択



広帯域ネットワーク→広帯域ネットワーク用 TCP
無線通信→無線ネットワーク用 TCP
特性が不明→汎用性を重視した TCP
通常
フローA
フローB
TranSwitch を利用
フローC
ネットワーク
フロー
フローA
フローB
フローC
TranSwitch
TCP
TCP
広帯域
無線
不明
ネットワーク
環境
広帯域用TCP 無線用TCP
広帯域
無線
汎用的TCP
不明
設計・実装
TranSwitch の設計
TranSwitch 機能要件

1.
2.
3.
TCP 混在環境の実現
ネットワークフローと TCP の関連付け
ネットワークフロー毎の TCP 切替処理
送信側変更のみで利用可能な TCP を想定


送受信両側で変更が必要な TCP への対応は今後
の課題
設計 1/3

TCP 混在環境の実現




追加 TCP はカーネルモジュールとして実装
OS が当初から持つ TCP(オリジナル TCP)から追加
TCP へ差分の度に処理
を切替
差分は関数単位で実装
(置換関数)
追加 TCP は TranSwitch
用 TCP フォーマット に
沿って実装
設計

TranSwitch 用 TCP フォーマット

TCP 名の表記


置換関数の実装


カーネル内の関数と置換する関数の実装
置換対応の表記


TranSwitch での一意の識別子
関数の置換対応を表記
TranSwitch への登録関数、削除関数の実装

TranSwitch へ TCP を登録および削除
設計 2/3

ネットワークフローと TCP の関連付け
ネットワークの特性(遅延、帯域、通信形態)はネット
ワークフロー毎に異なる
 ネットワークの特性に最適化された TCP の開発
→ネットワークフロー毎の TCP 選択の必要性

設計 3/3
TCP 切替処理

1.
2.
3.
4.
TCP フロー生成の検知
ネットワークフロー、TCP の関連付け情報(定義情報)の参照
該当ソケットへの TCP 関連付け
ソケットに関連付けられた TCP をもとに関数を置換
実装
TranSwitch 実装項目

1.
2.
3.
TCP 混在環境(TranSwitch 用 TCP フォーマット)
ネットワークフローと TCP の関連付け(ユーザインタフェース)
TCP 切替処理
実装環境



Linux 2.4.32
Fedora Core 1
配布形式


カーネルパッチ
TranSwitch 実装 1/3

TCP 混在環境

追加 TCP の実装形式として LKM(Loadable Kernel Module)
を利用
→簡易な TCP の追加、削除
 TCP の追加


TCP の削除


% rmmod LKM名
TCP の参照


% insmod LKM名
% lsmod LKM名
追加 TCP は TranSwitch 用 TCP フォーマットに準拠
TranSwitch 用 TCP フォーマット




TranSwitch への TCP 追加・削除
TCP名の表記
置換対応の表記
置換関数の実装

TCP 関数の一部が置換可能
(プロトタイプでは25の関数)
TranSwitch 実装 2/3

ネットワークフローと TCP の関連付け(ユーザイ
ンタフェース)

定義情報の追加



定義情報の削除



送受信ホストの IP およびポート番号、定義情報 ID、TCP
名を用いて設定
ex. % trasw_add –si 192.168.1.3 westwood
削除する定義情報 ID を指定
ex. % trasw_del 10
定義情報の参照

ex. % trasw_list
TranSwitch 実装 3/3
TCP 切替処理

1.
2.
3.
4.
TCP フロー生成の検知
検知した TCP フローと一致する定義情報を検索
TCP ソケット構造体に TCP への参照を登録
置換対応表を参照し、処理を置換
評価
評価 1/3

評価項目

TCP の切替えによるオーバヘッドの計測




スループット
30回計測時の平均値
Iperf 2.0.2
評価対象

通常のOS


カーネル内に実装された Reno
通常のOS + TranSwitch


カーネル実装の Reno → 同実装で LKM 化した Reno
全ての置換関数において置換を実行
評価 2/3

評価環境

利用機器





PC: IBM ThinkPad T42p
CPU: Intel Pentium M 2GHz
NIC: 1 Gigabit Ethernet
RAM: PC2700 2GByte
ネットワーク環境

Dummynet による遅延エミュレート

RTT10ms
評価 3/3
評価結果
平均スループット(Mbps)

45
40
39.96
39.01
35
30
25
20
^
15
10
5
0
通常

TranSwitch
TranSwitch の利用により 0.85 Mbps(2.1%)減少
→スループットの微小な減少はあるが、実用可能
関連研究
関連研究 1/3

X-Kernel



Norman C. Hutchinson and Larry L. Peterson(University
of Arizona)
マイクロカーネルとして設計
各プロトコルをモジュールとしてユーザランドで管理
モジュールの組み合わせによりプロトコルスタックを編集可能
→複数の TCP の導入が可能



ネットワークアーキテクチャ全体のマイクロカーネル化
X-Kernel 用 TCP 作成コスト
関連研究 2/3

WAD(A TCP Tuning Daemon)




Tom. Dunigan(ORNL), Matt. Mathis(PSC), and
Brian Tierney(LBNL)
ネットワークフロー毎にソケットの設定が可能
定義情報をユーザランドのデーモンで管理
ソケットの設定以外は不可
→TCP 自体の切替えは不可
関連研究 3/3

AS-TCP(Application Specific TCP)



小野祐介、斉藤俊介、田中康弘、寺岡文男(慶應大
学), DICOMO2005
OS へ複数の TCP を導入
アプリケーション毎に TCP を選択
→ネットワークの特性を考慮できない
今後の課題・まとめ
今後の課題

通信途中での TCP 切替
→TCP 選択の修正、通信中のネットワークの状態変化への対応

定義情報の設定方法の向上
 ネットワークインタフェース、プロセス名、etc…
→より柔軟な TCP の選択が可能

定義情報検索の高速化
→オーバヘッドの削減

TCP 選択補助機構
→不適切な TCP 選択の防止
まとめ

問題意識


提案


通常の OS は TCP を一つしか所持できないため、特
定環境に最適化された TCP の利用は難しい
TranSwtich は OS に複数の TCP を導入可能にし、
ネットワークフロー毎に異なる TCP が利用可能
評価


類似技術との比較では TranSwitch が優位
オーバヘッドは存在するが微小
発表論文

“TranSwitch:トランスポート層におけるプロトコル切替
機構”



山下 勝司, 高橋 ひとみ, 斉藤 匡人, 徳田 英幸
日本ソフトウェア科学会 第4回 SPA サマーワークショップ,
Aug. 2005
“TranSwitch:ネットワークフロー毎における最適な TCP
への動的切替機構”


山下 勝司, 高橋 ひとみ, 斉藤 匡人, 徳田 英幸
情報処理学会 第10回ユビキタスコンピューティング研究会,
Feb. 2006