Kazaa や Limewire などの古い P2P プログラムでのネットワークはどのように機能しますか?

Kazaa や Limewire などの古い P2P プログラムでのネットワークはどのように機能しますか?

私は、ノードが他のノードに検索結果を照会する方法に特に興味があります。

当初、ノードはネットワーク上の他のすべてのノードにマルチキャスト メッセージを送信すると考えていました。しかし、ネットワークに大きな負担がかかるだけでなく、ネットワーク上のすべてのノード間のすべてのルーターをマルチキャストを使用するように構成する必要があり、せいぜいユーザー エクスペリエンスが非常に悪くなるため、そうすることはできません。

私が考えられる唯一の他の方法は、すべてのノードを追跡する中央サーバーを設置することです。ノードは、ファイルのリストを中央サーバーに送信することでネットワークに参加します。すべてのクエリは、実際にはノードがその中央サーバーにクエリを実行することになります。

その後のファイル共有は P2P モデルに従いますが、ネットワークのクエリはクライアント/サーバー モデルに近いように思えます。

これは実際に起こっていることでしょうか? そうでない場合、ノードがネットワークを照会すると実際に何が起こっているのでしょうか?

関連情報