ブログのタイトルを後で考える

長らく使っていたブログのタイトルを2023年3月21日に変更しました。何か思いつけば、新しいタイトルに変更します。

新月ネットワーク総ノード数

2009年01月01日 | 新月
 興味がてらのことではあるんだけど、P2P掲示板「shinGETsu」のネットワークの特性について調べてみることにした。新月は公開から長いこと時間が経っていることもあり、ネットワークに参加しているノードの数やネットワーク構造はどんなものなのか、ということを調べたくなった。

 今回の調査にあたっては、以前「Evolution and Structure of the Internet: A Statistical Physics Approach」という統計力学をベースとしたネットワークの構造や情報伝播に関する本を読んだことがあったので、それらの知識を活かせるかなとも思った。

 まずはできるところからやろう、ということでスナップショットになるんだけど、新月ネットワークの規模と構造を調査してみることにした。予想になるけど、結果としてわかる規模や構造というものは新月の実装である「」の初期設定の影響を受けると思う。

 では、初期ノードと保持ノード数についてデフォルトの値が設定されている。大多数の人がこのソフトウェアを使っていることを考えると、ほとんどのノードはデフォルトの設定値で運用しているだろう。当然、その影響がネットワークの構造や規模に現れると考える。

 ちなみに、初期ノードはデフォルトは3ノード、保持ノード数は5ノードである。アルゴリズムは推測なのだけど、初期ノードに/nodeコマンドなどで隣接ノードを問い合わせて、そこに/joinコマンドを送りつけるだろうから、隣接ノードが数珠繋ぎのネットワークになるのだろうか。もしかすると、初期ノード付近の隣接ノードっていうのは、頻繁に繋ぎ替えが発生しているのかもしれない。ソースコードを読まないとそのあたりは不明なので、ちょっと棚上げする。

 個人的な興味としては、どのようにネットワークが生成されていくのか、ということだ。特に初期ノードに近い隣接ノードはどのようなリンクの繋ぎ替えが起きて、新規ノードはどのように接続されるのか、ということだ。

 規模と構造を調べるアプローチとしては非常に単純で、初期ノードを中心とする幅優先探索みたいなアルゴリズムで、隣接ノードを展開することで、ネットワークを調べてみることにした。プログラムを作って、1ノードに対して30回問い合わせて、保持ノードを取得し、それらのノードに再び問い合わせる、ということを1問い合わせを1回として10000回やった。

 プログラム作成、実行後、1時間ほどほったらかして、探索が終了した。なんと総ノード数は15だった...。もうちょっとあるのかな、とか思ったけどそんなこともなかった。ネットワーク構造は全部のノードが5ノードと接続してあったけど、どのようなノードがつながっているかは、データは取ってあるけどまだ調べていない。

 ノード数は初期ノードを中心としたものを調べた場合なので、初期ノードから遠くのノードが存在している場合もあるし、この程度の数と断定できるとは限らない。あとは、ネットワーク構造に関してデータ解析が終わってないので、調べてみたいと思う。

 今回のたいしたことないプログラムや、データの匿名性を確保して公開したいと思う。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする