【发布时间】:2010-08-23 22:52:42
【问题描述】:
我想知道在哪里可以了解更多关于去中心化共享和 P2P 网络的信息。理想情况下,我想创建一些东西来帮助学生通过他们的大学网络相互共享文件,这样他们就可以共享而不必担心外部实体。
我不是想在这里构建下一个 Napster,只是想知道这个想法是否可行。是否有任何开源 P2P 网络可以调整为我想要的?
【问题讨论】:
标签: networking p2p file-sharing
我想知道在哪里可以了解更多关于去中心化共享和 P2P 网络的信息。理想情况下,我想创建一些东西来帮助学生通过他们的大学网络相互共享文件,这样他们就可以共享而不必担心外部实体。
我不是想在这里构建下一个 Napster,只是想知道这个想法是否可行。是否有任何开源 P2P 网络可以调整为我想要的?
【问题讨论】:
标签: networking p2p file-sharing
基本上你需要一个服务器(好吧,你不需要一个服务器,但它会更简单),它将在文件哈希列表等其他东西之间存储用户 IP。
该服务器可以在您想要的任何环境中(非常舒适)。
然后,每个客户端连接到服务器(它应该有一个dns,可以是免费的,我用过no-ip.com一次)并首先发送基本信息(例如它的IP,以及一个文件哈希列表),然后不时(比如每 5 分钟或更短时间)发送一些内容以报告它仍然可以访问。
当客户端搜索文件/用户时,它只是询问服务器。
这是一个集中式网络,但文件共享将在 p2p 客户端到客户端连接中完成。
这样做的原因是,如果没有参考,您无法知道要连接的 IP。
只是为了清理这个服务器的东西:
- 种子使用跟踪器。
- eMule 的 ED2K 使用 lugdunum 服务器。
- eMule 的“真正 p2p”Kademlia 使用已知节点(客户端)(大部分时间来自服务器 like this)。
【讨论】:
Tribler 就是你要找的东西!
它是来自代尔夫特理工大学的完全去中心化的 BitTorrent 客户端。它是开源的,用 Python 编写,因此也是一个很好的学习起点。
【讨论】:
使用DC++
【讨论】:
Bit-Torrent 有什么问题?
编辑:在 Microsoft 操作系统上还有一个预先构建的 P2P 网络,作为构建某些东西的基础非常酷。 http://technet.microsoft.com/en-us/network/bb545868.aspx
【讨论】: