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