くじら(仮称): 共同体的インターネットトポロジビジュアルブラウザ

くじら(仮称)
さだ
Background
‫ ﻪ‬近年の著しい技術進化
‫ ﻩ‬PCの高性能化
‫ ﻩ‬ネットワークの広域化
‫→ ﻩ‬性能が余るようになった
‫ ﻪ‬分散コンピューティングの登場
Motivation
‫ ﻪ‬従来の分散コンピュー
ティングはPush型
‫ ﻩ‬タスク配布ノードが各ピ
アにタスクを配布し、計
算させる
タスク
(a) Push 型
‫ ﻪ‬Pull型に関する議論は
少ない
データ
(本当かな?)
‫ ﻩ‬各ピアが受動的に取得
したデータを集約・共有
(b) Pull 型
Purpose
‫ ﻪ‬Pull型分散コンピューティングの実現
‫ ﻩ‬ユーザがPCを利用したことによって発生した
データを集約・共有し、別のアプリケーションに
役立てる
‫ ﻯ‬Webページ、メール、ネットワークトラフィックなど
‫ ﻩ‬センサネットワークのインターネット版のような
もの?
‫ ﻪ‬Pull型分散コンピューティングのアプリケー
ション例
‫ﻩ‬
‫ﻩ‬
‫ﻩ‬
‫ﻩ‬
(データの種類:実現可能なアプリケーション)
HTML:P2P版 google
SPAMメール:SPAMフィルタ
通信経路:トポロジ解析
‫ﻯ‬ここをアタック
Contribution
‫ﻪ‬
Push型と比較したPull型の利点
1. 少ない負荷
‫ﻩ‬
限界までCPUやメモリなどのピアのリソースを使
うPush型と比べ、負荷がはるかに小さい
2. 新種データの獲得
‫ﻩ‬
元からあるデータに計算を加えるPush型と比べ、
新種のデータを獲得できるという特長を持つ
3. (考案中)
Approach
‫ ﻪ‬くじら(仮称)
‫ ﻩ‬ピアが通信したことのあるエンドホストに対し
てtraceroute
‫ ﻩ‬全ピアのtraceroute情報を集約し、インターネッ
トトポロジを作成
‫ ﻩ‬好みに応じて、自身のピアから見たインター
ネットトポロジの表示も可能
Classification of Related Work
‫ ﻪ‬トポロジ検出の推定材料となる情報
‫ ﻩ‬BGP
‫ ﻯ‬ISPに協力しないと得られない
‫ ﻯ‬公開してくれないISPも多い
‫ ﻩ‬traceroute
‫ ﻯ‬時間がかかる
‫ ﻯ‬少数の位置からでは把握できるトポロジに限界が
ある
Related Work
Traceroute based
・Skitter
・Mercator
・インテック
コア社の研究
Rocketfuel
BGP based
・B. Chung et al.
(SIGCOMM CCR 2005)
・
Contribution
‫ﻪ‬
従来のトポロジ可視化機構と比較した利点
1. ノードの容易な配置
‫ﻯ‬
ネットワークセグメント毎にトポロジ視覚化だけが目的の
ノードを配置する必要がない
‫ﻳ‬
‫ﻳ‬
‫ﻳ‬
‫ﻯ‬
Rocketfuel: 277
Mercator:1
インテックコア:複数
好みに応じて可視化されたトポロジを閲覧できるため、そ
れを目的としたユーザが参加してくれる
2. 負荷分散
‫ﻯ‬
データベースへのコミットを最小限にすることにより、負荷
分散
3. (考案中)
くじらのネットワーク構成図
可視化ノード
データベースサーバ
DHT
くじらの表示イメージ
‫ ﻪ‬トポロジを可視化すると、下図のようなもの
が表示されます
‫ ﻩ‬表示は各ピアによって異なります
6.1.1.1
3.1.1.1
4.1.1.1
2.1.1.1
1.1.1.1
5.1.1.1
動作概要
‫ ﻪ‬ルータの発見手法
‫ ﻩ‬自分の通信をpcapで観察
‫ ﻩ‬目新しいIPアドレスを見つけたら、traceroute
‫ ﻪ‬情報集約
‫ ﻩ‬普段はルータの情報をDHTで共有
‫○ ﻩ‬時間毎、ソフト終了時にデータベースサーバにコ
ミット
‫ ﻪ‬描画(オプション)
‫ ﻩ‬ルータ・経路を描画
設計
‫ ﻪ‬DHTの中身
‫ ﻩ‬各ルータのIPアドレスをキー キー
として、隣接ルータのIPアドレ 1.1.1.1
2.1.1.1
スを値として格納
6.1.1.1
3.1.1.1
4.1.1.1
2.1.1.1
1.1.1.1
5.1.1.1
値
2.1.1.1
1.1.1.1
2.1.1.1
3.1.1.1
2.1.1.1
4.1.1.1
2.1.1.1
5.1.1.1
3.1.1.1
2.1.1.1
3.1.1.1
4.1.1.1
4.1.1.1
2.1.1.1
ノードAの視点
B
Cと通信し、ルータ
2.1.1.1と3.1.1.1を
発見
1.1.1.1
A
C
6.1.1.1
3.1.1.1
4.1.1.1
B
2.1.1.1
2.1.1.1
1.1.1.1
5.1.1.1
A
DHTを参照し、
2.1.1.1にはその他
の隣接ルータがい
ることを発見
C
4.1.1.1
B
芋づる式に他の
ルータ、ピアも発
見
6.1.1.1
3.1.1.1
2.1.1.1
1.1.1.1
A
5.1.1.1
実装
‫ ﻪ‬基本方針
‫ ﻩ‬3D-tcpdump+DHT+traceroute
‫ ﻪ‬環境
‫ ﻩ‬Java+Java3D
‫ ﻩ‬Bamboo DHT (Java based)
‫ ﻩ‬JNI (pcap, traceroute用)
検討事項
‫ ﻪ‬ルータなどの描画の配置はどうする?
‫ ﻩ‬皆がよく経由するルータは基幹にあるものと考えて、中央に描画
していく
‫ ﻩ‬ドメイン名がIXのものは中央に描画していく
‫ ﻪ‬トポロジ推定、DHT維持のためのトラフィック量が多くなら
ないか?
‫ ﻩ‬あまりに多いと、Pull型の意味がない・・・
‫ ﻪ‬各ピアに近いルータの情報はなるべくそのピアで管理さ
せたい
‫ ﻪ‬ルータの情報が更新されたら、該当ピアに通知したい
‫ ﻩ‬Data Driven DHT?
‫ ﻩ‬通知先ピアが多くなったらマルチキャストなども
発展
‫ ﻪ‬トポロジに基づいたDHTの改良
‫ ﻩ‬Location Based ID
‫ ﻩ‬Location Based Routing
‫ ﻩ‬Location Based Data Placement
背景(本音)
‫ ﻪ‬3D-tcpdump はネットワークのトラフィックを
可視化したが、トポロジの可視化をしてみ
るとどうなるか?
‫ ﻪ‬3D-tcpdump にDHTを組み合わせると・・・
‫ ﻩ‬各ピアのネットワーク状況を共有できる
‫ ﻩ‬Traceroute の結果を組み合わせれば、イン
ターネットトポロジ図を皆で完成できるのでは
命名
‫ ﻪ‬なぜ、くじら?
‫ ﻩ‬くじらは深い海を低周波音で相手を発見、お
互いの位置を認識します
‫ ﻩ‬インターネットを海に、ピアをくじらに例えてみ
ました