p2p設計入門(3)--overlayweaver動いたけど・・・!
eclipseでのantビルドが上手くいかないので、
JDKとAntを個別にインストールして、sygwin上でビルドしたら上手くいった。
何とかeclipse上で動かしたいけど、とりあえずはビルド完了メデテェ。
とりあえずDHTシェルを動かしてoverlayネットワーク(以下ネットワーク)を体験する!
公式ページに日本語チュートリアルがあるので非常に助かります。
(http://overlayweaver.sourceforge.net/doc/index-j.html)
ビルド済みのoverlayweaverディレクトリ以下のbinにてシェルを実行する。
$./owdhtshell DHT configuration: hostname:port: ***_note/192.168.0.11:3997 transport type: UDP routing algorithm: Chord routing style: Iterative directory type: VolatileMap working directory: . A DHT started. Ready.
これで初期ノードとしてネットワークに存在したことになる。*1
このネットワークの設定も表示されている。
プロトコルUDP、ルーティングアルゴリズムChordまでは分かるけど、
style??VolatileMap??は意味分からんので後で調べることにしよう。
次にネットワークに新しくノードを追加してやることにする。
$ ./owdhtshell 127.0.0.1 DHT configuration: hostname:port: ***_note/192.168.0.11:3998 transport type: UDP routing algorithm: Chord routing style: Iterative directory type: VolatileMap working directory: . initial contact: 127.0.0.1:3997 A DHT started. Ready.
新しいノードは、ネットワークに参加するため、
先ほどの初期ノード(つまり自分)のIP、ループバックIPアドレスを与えてやる。
どうやら接続は問題ないようだ。
ためしに経路情報を表示する。
status
ID and address:
a3c27ea1d3071f7a327ce7f2e728adde2d62e82e:***_note/192.168.0.11:3998
Routing table:
predecessor:
0a894ff02d6981ee16e07259b22ead1c2a2438b5:***_note/192.168.0.11:3997
successor list: [
0a894ff02d6981ee16e07259b22ead1c2a2438b5:***_note/192.168.0.11:3997
a3c27ea1d3071f7a327ce7f2e728adde2d62e82e:***_note/192.168.0.11:3998
]
finger table: [
1: 0a894ff02d6981ee16e07259b22ead1c2a2438b5:***_note/192.168.0.11:3997
160: a3c27ea1d3071f7a327ce7f2e728adde2d62e82e:***_note/192.168.0.11:399
]
Last key: a3c27ea1d3071f7a327ce7f2e728adde2d62e82e
Last route: [
a3c27ea1d3071f7a327ce7f2e728adde2d62e82e:***_note/192.168.0.11:3998
0a894ff02d6981ee16e07259b22ead1c2a2438b5:***_note/192.168.0.11:3997
]
Last root candidates: [
0a894ff02d6981ee16e07259b22ead1c2a2438b5:***_note/192.168.0.11:3997
]
と言う感じでずらずらと経路情報が出てくる!
正直分からん用語が多すぎるけど、ルーティングテーブルとかが保持されているようだ。
ここら辺をじっくり読み込む必要があると感じて次へ。