Transcript 卒業論文に向けて
BitTorrentにおける効率的なピア選択法 早稲田大学大学院 基幹理工学研究科 情報理工学専攻 後藤研究室 修士2年 5108B086-7 出井勝弘 1 研究背景・目的 P2PとHTTPがトラフィックの大半を占める P2Pトラフィック全体の成長は鈍化している BitTorrentトラフィックはまだ上昇を続ける P2Pトラフィックの30-78%以上 全インターネットトラフィックのおよそ27-55% (ipoque社のInternet Study 2008/2009) HTTPトラフィック増加でP2Pが見直されている ⇒P2P トラフィックの帯域占有は今後も続く P2P トラフィックの中で最もシェアの高い BitTorrentトラフィックを軽減させる方法を提案 2 BitTorrent ハイブリッドP2P型ファイル転送用プロトコル データ通信はピア同士で行う ピアの検索はサーバ(トラッカー)に任せる 用語 シーダ リーチャ ダウンロードが完了したピア ダウンロード中のピア トラッカー ピアのIPアドレスや所持するファイル情報を管理するサーバ ピアはトラッカーが指示した時間間隔毎にトラッカーにアクセスする 接続してきたピアと同じファイルを持つピアをランダムに返す 3 BitTorrentの問題点 トラッカーはピアをランダムに返す ピア同士の距離を考慮しない 無駄なトラフィックが流れる 回線圧迫 トランジットコスト負担増加 ピア同士の近接性を考慮することで改善できる 4 既存の研究 P2Pトラフィックの効率的制御法 (魏元の2008年度修士論文) インテリジェントトラッカーを提案 ピアの国情報とAS番号をトラッカーに記録 接続してくるピアと、同一国内または同一AS内にいる ピアのIPアドレスを教える ピアは90秒ごとにトラッカーに接続する 4回目以降(270秒後)の接続ではすべてのピアを教える クライアントに依存しない手法である 国内・AS内にトラフィックを閉じ込める 5 提案手法 (1) さらに狭い範囲にトラフィックを閉じ込めるトラッカーを提案 ASよりさらに狭い範囲に閉じ込める ダウンロードが進まなくなるまで、教えるピアの範囲を拡大 しない 既存手法のトラッカーは、4回目以降の接続ではすべてのピ アを教えるため、トラフィックを完全には閉じ込められない AS内よりさらに狭い範囲にトラフィックを閉じ込める 6 提案手法 (2) AS内には複数の大きなネットワークが含まれている 例:AS2516 119.106.0.0/16 114.18.0.0/16 113.154.0.0/16 125.50.0.0/16 など まずは、ピア同士の通信を上のような大きなネット ワーク内に閉じ込めることを考える 7 提案手法 (3) ピアの所属するASとプレフィックスを取得する方法 IRR (Internet Routing Registry) を利用 whois.radb.netにピアのIPアドレスで問い合わせを行う ピアが接続する度に問い合わせるのでサーバに負荷がかかる 情報の信頼性にばらつきがある BGP RIB (Routing Information Base) を利用 オレゴン大学がBGPテーブルを公開している Network * 133.9.0.0/16 BGPテーブルを解析して、ネットワークとASの対応表を作成 ピアのIPアドレスから、所属するネットワークとASを割り出す ピアのIPと対応表のネットワークアドレスでロンゲストマッチ Next Hop Metric LocPrf Weight 12.0.1.63 0 0 Path 0 7018 3356 2907 17956 i 8 8 提案手法 (4) 前述の方法を用いることでピアの所属する プレフィックスがわかる これを、さらに狭い範囲に絞ることを考える サブネット 9 提案手法 (5) 前述の方法を利用すると、下の3つのピアは、ASが17956で 133.9.0.0/16に所属していることまでわかる サブネットマスク長まではトラッカーにはわからない 133.9.81.5と133.9.81.22は同じサブネットに所属 133.9.207.110は別のサブネットである ピア同士のIPアドレスを上位ビットから比較して、ロンゲストマッ チをとることで、最も近いピアから教えるようにする 完全ではないがサブネット内にトラフィックを閉じ込めることが可能 IPアドレス サブネットマスク長 133.9.81.5 25 133.9.81.22 25 133.9.207.110 24 10 ロンゲストマッチについて IPアドレスを整数に変換 互いのIPアドレスを対応するビット毎にXORをとる 絶対値が0に近いほど、IP同士は近い場所に存在する 133.9.81.5 10000101 . 00001001 . 01010001 . 00000101 10000101000010010101000100000101 -2062987003 IPアドレス 変換IPアドレス 133.9.81.5 -2062987003 133.9.81.22 -2062986986 133.9.207.110 -2062954642 11 実証実験 実験内容 提案手法、既存手法、ランダムにピアを選ぶ手法の3 つで、以下の項目を比較 通信局所性 ファイルのダウンロード速度 環境 PlanetLabを利用 地球規模の分散型テストベッド 20台のマシンを用意 シーダ10台、リーチャ10台 1GB (1,073,741,824 bytes) のファイルで実験を行う 12 実験:ピアの配置 (AS) 13 実験:ピアの配置(プレフィックス) 14 実験:ピアの配置(サブネット) 15 結果:通信局所性(ランダム手法) ピア リーチャがどこから受信したか(単位: bytes) サブネット内 プレフィックス内 AS内 AS外 1 143,966,208 327,319,552 368,328,704 234,143,744 2 16,826,368 266,190,848 423,837,696 366,886,912 3 1,035,091,968 - 20,103,168 18,595,840 4 69,566,464 - 532,725,760 471,564,288 5 339,705,856 - 555,663,360 178,372,608 6 536,051,712 - 374,292,480 163,528,704 7 323,928,064 - 253,050,880 496,762,880 8 578,519,040 - 237,240,320 257,982,464 9 137,625,600 - 419,823,616 516,292,608 10 - 53,035,008 472,186,880 548,519,936 16 結果:通信局所性(既存手法) ピア リーチャがどこから受信したか(単位: bytes) サブネット内 プレフィックス内 AS内 AS外 1 191,840,256 427,540,480 454,361,088 0 2 32,653,312 350,240,768 690,978,816 0 3 1,026,637,824 - 33,046,528 14,057,472 4 95,289,344 - 617,889,792 360,595,456 5 506,118,144 - 567,918,592 0 6 496,959,488 - 576,798,720 0 7 62,947,328 - 832,307,200 178,569,216 8 968,048,640 - 105,693,184 0 9 433,913,856 - 458,358,784 181,469,184 10 - 66,879,488 692,076,544 314,884,096 17 結果:通信局所性(提案手法) リーチャがどこから受信したか(単位: bytes) ピア サブネット内 プレフィックス内 1 1,073,741,824 0 0 0 2 1,073,741,824 0 0 0 3 1,073,741,824 - 0 0 4 1,073,741,824 - 0 0 5 1,073,741,824 - 0 0 6 1,073,741,824 - 0 0 7 1,073,741,824 - 0 0 8 1,073,741,824 - 0 0 9 1,073,741,824 - 0 0 10 - 1,073,741,824 0 0 AS内 AS外 18 結果:ダウンロード速度 リーチャがダウンロード終了までにかかった時間 (単位: 秒) ピア ランダム 既存手法 提案手法 1 280 251 244 2 143 138 1148 3 1183 1056 1136 4 1399 1269 761 5 158 141 539 6 163 137 539 7 173 322 187 8 164 79 86 9 291 339 359 10 492 535 2120 19 結果 通信局所性 提案手法が最も優れている ダウンロード速度 提案手法は他と比較して、ほぼ同じ速度の場合もあ れば、極端に遅い場合もある 20 まとめ 提案手法は、通信局所性を最大限まで 高めつつダウンロード速度もある程度保 つことができる手法である 今後の課題 ダウンロード速度が遅い場合は、教えるピア を変更する等の工夫が必要である 21 ご清聴ありがとうございました。 22 PlanetLab 大学やIT企業が中心となって作った地球規模の分 散型テストベッド 1000台のノードが世界中に分散配置されている 1つのノードにつき1日10BGまでアップロード可能 23 ピアとトラッカーの通信 (1) ピアはGETメソッドを用いて、以下の情報を定期的 にトラッカーに送信する 種類 内容 info_hash 共有したいファイルのハッシュ値 peer_id ピア(BitTorrentクライアント)のID port ピア(BitTorrentクライアント)が使うポート番号 uploaded ピアがアップロードした合計バイト数 downloaded ピアがダウンロードした合計バイト数 left ピアのダウンロード残りバイト数 24 ピアとトラッカーの通信 (2) ピアはGETメソッドを用いて、以下の情報を定期的 にトラッカーに送信する 種類 内容 interval 再びトラッカーにリクエストを送るまでの時間間隔 complete シーダの数 incomplete リーチャの数 peers ファイルを持つピアの一覧 25 検索範囲の段階 トラッカーのピア検索範囲に6つの段階を設けている ピアのダウンロードが進んでいないときや、ピアが検 索範囲内にいないときは、検索範囲を拡大する プレフィックス内⇒AS内⇒国内と徐々に拡大 修士論文23ページに詳細が記述されている 26 結果:ダウンロード速度 (2回目) リーチャがダウンロード終了までにかかった時間 (単位: 秒) ピア ランダム 既存手法 提案手法 1 284 280 327 2 153 116 1358 3 483 428 498 4 1158 1134 858 5 161 111 263 6 168 109 263 7 147 118 144 8 129 85 80 9 230 204 180 10 438 335 1862 27