卒業論文中間発表ノードの情報を動的に反映したオーバレイネットワークの構築

慶應義塾大学環境情報学部 4 年仲山昌宏平成 14 年 11 月 2 日

1 研究概要

本研究では、中継を利用するオーバレイネットワーク上でネットワークやノードの情報を元に RTT やスループットを改善する手法を提案する。

2 背景

IP ネットワーク上に TCP 等により構築されたオーバレイネットワークを利用したアプリケーションが登場し、広まっている。これらのアプリケーションをデータが動的か静的か、転送を直接行うか中間ノードを中継して行うかという二点から分類したものを表 1 に示す。

このうち中継ノードを利用する目的として一つのノードからのツリー状のデータ配布と匿名性の提供があげられる。前者は受信者が別の受信者に中継する低コストでのストリーミングに使われ、後者は中継者が発信者になりすますことで匿名性を提供している。

3 問題点と本研究の目的

中継を利用するオーバレイネットワークでは、直接通信を行う場合に比べ、中継を行うノードやそこに至るネットワークの影響を受けやすい。

本研究ではこの問題の解決を目的とする。

4 関連研究

P2P サービスにおける物理ネットワークを考慮した論理トポロジー構築手法 gnutella 上で IP ネットワーク計測に基づいて接続先を選択する手法を提案している。この研究では IP ネットワークの特性をいくつかあげホップ数とノードの存在時間による選択手法を評価している。

しかし実際のアプリケーションでは IP ネットワークの特性だけでなく、それぞれのノードの能力も考慮する必要がある。

Winny 匿名性を実現するファイル共有アプリケーションで、自己申告した帯域幅によるツリー状の階層化と指定した検索キーワードのノード間でのマッチングによるクラスタリングを併用している。

IP ネットワークのトポロジを無視しているため中継を行うノードの IP ネットワーク上での位置は偶然に左右される。

5 手法

本研究では、上に挙げた問題を解決するモデルを提案する。このモデルではノード間リンクを繋ぎかえることで最適化する。

ネットワークの情報

• RTT 実時間性の高いアプリケーションの場合に反応速度を向上

表 1: Peer to Peer アプリケーションの例ノードの情報

• 帯域幅利用者がそれぞれのノードが接続している回線の帯域幅を指定することで、帯域幅が太いノードは一種のハブとして機能し、帯域幅が細いノードを中継しないようにできる。 • 演算性能暗号化通信などでノード単位での暗合化処理が必要な場合には演算性能をパラメータとして加味することで暗号化通信のスループットを向上

6 設計

本研究では、上記のパラメータからノードの優先度を算出しそれに基づいてノード間リンクを動的に繋ぎかえる。この動作を図 1 に示した。ノード C-D-B がこの順で接続しており、そこに新しくノード A がノード C に接続した場合を示している。またノード A,D は同じ ISP だがそれ以外の B,C はそれぞれ別の ISP に接続しているものとする。

接続したノードはオーバレイネットワーク上に Hello メッセージを送出し (1)、受信したノードはその送信者に対し測定を行う (2)。その結果は受信ノードの情報とともに送信者に返される (3)。その結果からアプリケーションのトラフィック傾向によって決められた計算式により優先度を求め、優先度の高いノードに接続を繋ぎかえる (4)。その結果ノード A とノード B はノード D を経由して通信することができる。

図 1: Hello メッセージと測定の流れ

この繋ぎかえは最初にノードが新しくネットワークに接続したときに行われ、接続先の変動が小さくなると間隔を増やしていく。その後は、自分が接続しているノードが変化した場合に再びネットワーク構成の繋ぎかえが行われる。

7 評価

アプリケーションの運用とシミュレーションにより、以下の項目から有効性を評価する。

定量的評価

• ノードが増減した場合にネットワークの最適化にかかる時間 • Hello メッセージ及び RTT 測定に要する帯域

• 本手法を利用しない場合との RTT やスループットの差異

定性的評価

• IP ネットワークとオーバレイネットワークのトポロジの差異

1/1

静的なデータ動的なデータ直接転送  Napster, WinMX MSN メッセンジャー

Gnutella  ICQ 中継者が介在 Freenet ShareCast, PeerCast

Winny  匿名通信路 (修士論文)

データの静的と動的の区別はデータの変化の頻度を指し例えば変化しないファイルは静的、ストリーミングやチャットは動的なデータと定義する。転送は、データをやりとりする二者が直接接続するものと、二者の間に中継者が介在するものの二つに分けた。