「P2P地震情報」ネットワーク図
「サーバは分散して安定するようになったけど、ピア同士のネットワークってうまく構築されてるの?」「P2Pだけど遅延は大丈夫なの?」 …というわけで調べてみました。
(クリックすると実寸表示)
8月28日22時56分の「P2P地震情報」ネットワーク図です。自分自身のピア(223)が中心にあって、他ピアとの距離は伝播時間を表しています。他ピア同士の距離は不正確です。
かんたんな調査結果
他ピアへの伝播時間(=ネットワーク的な距離)は、平均674ms(※中央90%は648ms)で、実際ネットワーク図をみてもほとんどが1000ms以内にいることが分かります。これは、複数ピアと接続を行っているためで、安定性の向上とともに遅延を低減する効果がよく表れています。
特定のピアへ到達するまでのピアの経由数(Hop数)は、平均4.5(※中央90%は4.6)でした。また、伝播時間を経由数で割って1経由するごとの伝播時間を計算したところ、平均154ms(※中央90%は145ms)でした。
これらの値は、8月28日22時56分時点(参加数913ピア)での実際のP2P地震情報における通信をもとに算出したもので、具体的にはTCP上のP2P地震情報プロトコルを用いたものです。つまり、相手へデータを送信し始めてから届いたことを確認できたところまでが平均674ms(648ms)ということです。
どこから地震感知情報が飛んできても1秒以内に受信するし、どこから地震感知情報を飛ばしても1秒以内にほぼすべてのピアに届く。(P2Pにしては)なかなか良い状態と言えるのではないでしょうか。ピアの接続に関してはほとんど最適化をしていないので、最適化すればピア数が増えても1秒以内は維持出来るように思います。