分散型共有と P2P ネットワークについてどこで詳しく学べるのだろうと思っていました。理想的には、学生が大学のネットワークを介して互いにファイルを共有できるようにする何かを作成して、外部のエンティティを恐れずに共有できるようにしたいと考えています。
ここで次の Napster を作ろうとしているわけではありません。このアイデアが実現可能かどうか疑問に思っているだけです。私が望むように微調整できるオープンソースの P2P ネットワークはありますか?
分散型共有と P2P ネットワークについてどこで詳しく学べるのだろうと思っていました。理想的には、学生が大学のネットワークを介して互いにファイルを共有できるようにする何かを作成して、外部のエンティティを恐れずに共有できるようにしたいと考えています。
ここで次の Napster を作ろうとしているわけではありません。このアイデアが実現可能かどうか疑問に思っているだけです。私が望むように微調整できるオープンソースの P2P ネットワークはありますか?
基本的に、ファイルハッシュリストなどの他のものとの間でユーザーIPを保存するサーバーが必要です(サーバーは必要ありませんが、はるかに簡単になります)。
そのサーバーは、必要な任意の環境に配置できます(とても快適です)。
次に、各クライアントがサーバーに接続し (DNS が必要です。無料のサーバーでもかまいません。no-ip.com を 1 回使用しました)、最初に基本情報 (IP やファイル ハッシュ リストなど) を送信します。 、その後、時々(5分以内など)何かを送信して、まだ到達可能であることを報告します。
クライアントがファイル/ユーザーを検索するときは、サーバーに問い合わせるだけです。
これは集中型ネットワークですが、ファイル共有は p2p クライアント間接続で行われます。
このようにする理由は、何らかの参照がなければ接続先の IP を知ることができないためです。
このサーバーの問題を解決するために:
- トレントはトラッカーを使用します。
- eMule の ED2K はlugdunum サーバーを使用します。
- eMule の「真の p2p」Kademlia は、既知のノード (クライアント)を使用します(ほとんどの場合、このようなサーバーから取得されます)。
Triblerはあなたが探しているものです!
これは、デルフト工科大学の完全分散型 BitTorrent クライアントです。オープン ソースであり、Python で記述されているため、学習の出発点としても最適です。
DC++を使用する
Bit-Torrent の何が問題になっていますか?
編集: Microsoft オペレーティング システムには、何かを構築するための基礎として非常に優れた、構築済みの P2P ネットワークもあります。 http://technet.microsoft.com/en-us/network/bb545868.aspx