1 / 49

SBAM: ソケット層における帯域統合機構 A Socket-level Bandwidth Aggregation Mechanism

SBAM: ソケット層における帯域統合機構 A Socket-level Bandwidth Aggregation Mechanism. 慶應義塾大学 環境情報学部 榊原 寛 守分 滋 斉藤 匡人 徳田 英幸. skk@ht.sfc.keio.ac.jp. 21 Jan 2005. 17 Jan 2005. Outline. 無線環境のひろがりについて 本研究の目的 アプローチ SBAM の設計・実装 評価 まとめ 今後の課題. モバイル環境をターゲットとした様々な通信規格を利用したインターネット通信。

salome
Download Presentation

SBAM: ソケット層における帯域統合機構 A Socket-level Bandwidth Aggregation Mechanism

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SBAM:ソケット層における帯域統合機構A Socket-level Bandwidth Aggregation Mechanism 慶應義塾大学 環境情報学部 榊原 寛 守分 滋 斉藤 匡人 徳田 英幸 skk@ht.sfc.keio.ac.jp 21 Jan 2005 17 Jan 2005

  2. Outline • 無線環境のひろがりについて • 本研究の目的 • アプローチ • SBAMの設計・実装 • 評価 • まとめ • 今後の課題

  3. モバイル環境をターゲットとした様々な通信規格を利用したインターネット通信。モバイル環境をターゲットとした様々な通信規格を利用したインターネット通信。 ex) 802.11abgn, Bluetooth, UWB, PHS 網, 2G・3G   携帯電話網など 同時に複数の無線機器を利用可能な環境の増加。 無線環境の広がり 想定環境 すべての無線機器を利用し、効率よく帯域を利用したい。 ex) マルチメディアストリーム、web の閲覧、ファイル   転送など

  4. 本研究の目的 • ホスト上に搭載されている複数の無線インタフェースを同時に利用し、通信速度を向上させるシステムの構築。 Network1 受信ホスト Network2 送信ホスト

  5. 帯域統合システムの機能要件 • 別のネットワークに接続していても利用可能 • ネットワークの状況に応じて、動作する • 容易なディプロメント • 既存アプリケーションの変更不要 • ネットワークインタフェースの数に対するスケーラビリティ • 既存のネットワークプロトコルへの親和性

  6. ネットワークスタックでの実現は不適切 実現手法の比較検討(1/2) • アプリケーション層 • インタフェースの数に対する低いスケーラビリティ • 既存アプリケーションの変更が必要 • トランスポート層 • PTCP, RCP/R2CP [Hung-Yung Hsieh, mobicom02,03], RMTP [Luiz ら, NOSSDAV 2002 ] • 既存アプリケーションの変更が必要 • 多くのエンドホストへのディプロイが大変 • ネットワーク層/データリンク層(IEEE 802.3ad) • エンドノード同士でネットワークの状態をやり取りできない。

  7. SBAM A Socket-level Bandwidth Aggregation Mechanism の提案 実現手法の比較検討(2/2) • ソケット • 既存アプリケーションの変更が不要。 • End-to-End でネットワークの状態の把握が可能。 • ネットワークインタフェースの数に対するスケーラビリティがある。 • 新しいトランスポートプロトコルにも対応できる。 • エンドホストへのディプロイが容易(socket library 使用時)

  8. SBAMの設計 • SBAM の概要 • システム構成図

  9. SBAM の概要 • ソケット層において SBAM がデータを分割し、各ネットワークインタフェース(N/I)からデータを送信する。 • socket() に対する引数は変更しなくてよい ホストA ホストB アプリケーション アプリケーション ユーザ空間 ユーザ空間 データ送信 データ受信 カーネル空間 カーネル空間 SBAM SBAM TCP/UDP TCP/UDP TCP/UDP N/I N/I N/I

  10. アプリケーション(ブラウザ, MUA) ユーザからの要求 Process MIB Kernel socket SBAM ポリシー 伝達機能 送信データの流れ 送信データ スケジュール ネットワーク 機能 モニタリング 遅延: 定期的に ICMP パケットを送信して計測 受信データの流れ 機能 送信データ 受信データ コントロール 分割機能 NIC状態 通知機構 統合機能 データの流れ 帯域: Packet pair を利用 Transport Layer TCP UDP SBAM内部構成

  11. ユーザポリシ ネットワーク モニタリング 機能 ポリシの 反映 NIC状態 通知機構 NIC状態 通知機構 NIC が2枚あることを通知 機能動作 受信ホスト 送信ホスト アプリケーション(ブラウザ, MUA) アプリケーション(ブラウザ, MUA) ユーザからの要求 MIB socket socket データ SBAM SBAM データ統合後 アプリケー ションへ ポリシー 伝達機能 送信データ 送信データ スケジュール スケジュール 機能 機能 送信データ 送信データ 受信データ 分割機能 分割機能 統合機能 NIC NIC1 NIC2 NIC1 までのネットワーク状態をモニタ NIC1、NIC2 までのネットワーク状態をモニタ データ

  12. SBAM プロトタイプ実装 • カーネル内実装(SBAM) • 比較用アプリケーション実装(ABAM)

  13. SBAMプロトタイプ実装 • SBAM 実装環境 • FreeBSD 5.1 Release • 802.11b(Melco WLI-PCM-L11) • 802.11b(Intersil Prism 2.5) • 実装手段 • socket ライブラリ • カーネル内部 アプリケーション(ブラウザ, MUA) ユーザからの要求 Process MIB Kernel socket SBAM ポリシー 伝達機能 送信データ ネットワーク スケジュール モニタリング 機能 機能 送信データ 受信データ 分割機能 NIC状態 通知機構 統合機能 Transport Layer TCP UDP

  14. SBAMプロトタイプ実装送信 socket(AF_INET, SOCK_DGRAM, 0); sendto(); アプリケーション ユーザ空間 socket layer カーネル空間 送信データ分割機能 (sbam_send()) 書き換え rtalloc() ルーティング テーブル udp_output() udp_output() N/I N/I

  15. SBAMプロトタイプ実装受信 アプリケーション recvfrom() ユーザ空間 socket layer カーネル空間 受信データ統合機能 (sbam_input()) • Socket buffer 自体を並べ替える • SBAM ヘッダの内部を利用して re-order する udp_input() N/I

  16. ABAM 評価実装 送信ホスト(sbam_server) 無線ルータB 無線ルータA FastEther • 実装環境 FastEther リンク2 リンク1 NIC2 802.11b 11 チャネル NIC1 802.11b 8 チャネル 受信ホスト(sbam_client)

  17. SBAM の評価 • カーネル内実装とアプリケーション実装の性能比較 • 送信データスケジュール機能の有効性評価 • 帯域遅延積差計算部 • 帯域比例データ送信部

  18. 有線 カーネル内実装とアプリケーション実装の性能比較 • 経路の切り替えを行いデータ送信を行うアプリケーションと、SBAM を用いて 5.5MB のデータを 50 回送信してスループットを計測。 Network1 ルータ 受信ホスト 802.11b 11チャネル 802.11b 2チャネル <実験環境> Network2 送信ホスト

  19. N/Iの枚数とスループット ・単体の場合と比べて 1.6 倍の帯域向上 ・ABAM に対して 97.4% のスループット

  20. rtalloc() の呼び出しを抑えることで、オーバヘッドを抑えられる ・ SBAM 送信時オーバヘッド ヘッダの付与など デフォルトゲートウェイの変更 ※ rtalloc(): ルーティングテーブルを探索するための関数。

  21. プログラミングインタフェースの比較 ・SBAM 利用時 ・ アプリケーション実装の場合 int main() { socket(SOCK_DGRAM); append_header; change_default_route; send_data; } int main() { socket(SOCK_DGRAM); send_data; } default route を変更するには、raw socket を開き、変更先のアドレスを設定する必要がある。 ・アプリケーションは SBAM を利用するだけでいい。

  22. SBAM の評価 • カーネル内における実装とアプリケーションでの実装の性能比較 • 送信データスケジュール機能の有効性評価 • 帯域遅延積差計算部 • 帯域比例データ送信部

  23. 27M のデータを送信して、それぞれ実験。 無線ルータB 無線ルータA 送信ホスト FastEther FastEther リンク2 リンク1 NIC2 802.11b 11 チャネル NIC1 802.11b 8 チャネル 受信ホスト 送信データスケジュール機能の有効性評価~実験環境~ 実験ネットワーク環境

  24. 送信データスケジュール機能の有効性評価~1. 帯域遅延積差計算部~ • 受信ホストにおける SBAM キューの長さの比較 実験環境

  25. 送信データスケジュール機能~1. 帯域遅延積差計算部~ • 帯域遅延積差機能より、SBAM キューの長さが大きくなった。 帯域遅延積差計算あり 帯域遅延積差計算なし

  26. 送信データスケジュール機能の有効性評価~1. 帯域遅延積差計算部~ • 受信開始 100 パケット目までの受信ホスト上のシーケンス番号の伸び。 • 送信開始時のデータ送信アルゴリズムは結果的に、キューの長さに影響していない。 • データ量だけでなく、パケットシーケンスも考慮したアルゴリズムの必要性。 帯域遅延積差計算あり 帯域遅延積差計算なし

  27. 送信データスケジュール機能の有効性評価~2. 帯域比例データ送信部~ • 帯域予測値に比例したデータ送信 • パケットロス率 実験環境

  28. Packet train を利用し、利用可能帯域を計測し、その予測した帯域値に比例して投げることで、各リンクの帯域を効率的に利用できる。 送信データスケジュール機能の有効性評価~2. 帯域比例データ送信部~ 計測した利用可能帯域値

  29. 今後の課題 • 性能改善 • スループットの改善。 • 受信ホスト上のキューの長さの改善。 • 未実装部の実装 • NIC 通知機構、ネットワークモニタリング機能、送信データスケジュール機能、ポリシー伝達機能 • さまざまな環境での実験 • TCP を利用した実験 • 3 枚以上のNICを利用した実験

  30. まとめ • 複数ネットワークインタフェースの帯域を統合する SBAM を提案した。 • プロトタイプ実装の評価を行うことにより、帯域が向上することを確かめた。 • 送信アルゴリズムによって、異なるリンクの状態に適応できることを確認した。

  31. 研究成果 • 榊原 寛, 守分 滋, 斉藤 匡人, 徳田 英幸“複数ネットワークインタフェースの同時利用機構”日本ソフトウェア科学会 第 3 回 SPA サマーワークショップポスターセッション Aug. 2004 • 榊原 寛, 守分 滋, 斉藤 匡人, 徳田 英幸“SBAM: ソケット層における帯域統合機構”情報処理学会第 12 回マルチメディア通信と分散処理 (DPS), Vol. 2004, No.15 pp. 49-54

  32. 以上

  33. アプリケーション ユーザからの (ブラウザ , M U A ) 要求 p r o c e s s M I B k e r n e l s o c k e t S B A M ポリシー 伝達機能 送信データの流れ 送信データ スケジュール ネットワーク 機能 モニタリング 受信データの流れ 機能 送信データ 受信データ コントロールデータの流れ 分割機能 N I C 状態 統合機能 通知機能 T r a n s p o r t TCP UDP L a y e r N e t w o r k IP L a y e r N e t w o r k 802.11b Bluetooth I n t e r f a c e

  34. Old

  35. 送信データスケジュール機能 通信開始時:リンク間の帯域遅延差を埋める。 式1 帯域に比例したデータ量を送信する。 式2

  36. 式1に関しての評価 リンク1(7.5Mbps,1.38ms), リンク2(2Mbps, 1.60ms) リンク1(7.5Mbps, 1.38ms), リンク2(4Mbps, 1.60ms)

  37. 式1に関しての評価 リンク1(7.5Mbps,1.38ms), リンク2(2Mbps, 1.60ms), 帯域予測に基づくデータ送信: 無 リンク1(7.5Mbps,1.38ms), リンク2(2Mbps, 1.60ms), 帯域予測に基づくデータ送信: 有 リンク1(7.5Mbps, 1.38ms), リンク2(4Mbps, 1.60ms), 帯域予測に基づくデータ送信: 有

  38. アプリケーション(ブラウザ, MUA) ユーザからの要求 Process MIB Kernel socket SBAM ポリシー 伝達機能 送信データ スケジュール ネットワーク 機能 モニタリング 機能 送信データ 受信データ 分割機能 NIC状態 通知機構 統合機能 Transport Layer TCP UDP

  39. ネットワークモニタリング機能 • 利用可能帯域の計測 • packet train を利用。 • パケット数: 5 • 1パケットの大きさ: 1400bytes • 計測は受信ホスト側で行った。 • RTT の計測 • ICMP を利用。

  40. 送信データスケジュール機能 • 送信開始時の送信パケット数の決定方法 • 帯域遅延積差の大きいリンクへ、差分データ量を送信。 • 各リンクへの送信パケット数の比の決定方法 • 片方のリンクの比の値が 1 になるように丸める • ex) 2:7 → 1:3

  41. ABAM構成図 (1/2) ネットワークモニタリング機能 • 利用可能帯域の計測 • packet train を利用。 • パケット数: 5 • 1パケットの大きさ: 1400bytes • 計測は受信ホスト側で行った。 • RTT の計測 • ICMP を利用。  送信データスケジュール機能 • 送信開始時の送信パケット数の決定方法 • 帯域遅延積差の大きいリンクへ、差分データ量を送信。 • 各リンクへの送信パケット数の比の決定方法 • 片方のリンクの比の値が 1 になるように丸める • ex) 2:7 → 1:3 sbam_server 内部構成

  42. ABAM構成図 (1/2)

  43. ネットワークスタックの変更による実現 関連研究 • トランスポート層 • PTCP, RCP/R2CP [Hung-Yung Hsieh, mobicom02,03] • RMTP [Luiz ら, NOSSDAV 2002 ] • リンク層 • IEEE 802.3ad (通称トランク)

  44. 遅延: 定期的に ICMP パケットを送信して計測 帯域: Packet pair を利用 機能内容 • ポリシ伝達機能 • ユーザポリシのやりとり。 • ネットワークモニタリング機能 • 遅延、帯域を計測 • 送信データスケジュール機能 • 遅延、帯域から各フローに対し送信するデータ量を決定 • 送信データ分割機能 • SBAMヘッダ付与 • 受信データ統合機能 • SBAMヘッダ内の情報よりデータの再構築 • NIC 状態通知機構 • NIC の状態を通信相手に通知する。

More Related