2010-08-23 176 views
7

我想知道我可以在哪里了解更多关于分散式共享和P2P网络。理想情况下,我想创建一些内容来帮助学生在大学网络上共享文件,这样他们就可以共享而不用担心外部实体。创建一个P2P /分散式文件共享网络

我不想在这里建立下一个Napster,只是想知道这个想法是否可行。有没有开源的P2P网络可以调整做我想要的?

回答

3

基本上你需要一台服务器(当然,你不需要一台服务器,但它会让它变得simplier),将存储其他东西之间的用户IP地址,如文件哈希表等
该服务器可在任何你想要的环境中(这很舒服)。然后,每个客户端连接到服务器(它应该有一个DNS,它可以是一个免费的,我已经使用no-ip.com一次),并首先发送基本信息(如IP和一个文件哈希列表),然后每隔一段时间发送一些内容(比如每5分钟或更少),以报告它仍然可以访问。

当客户端搜索文件/用户时,它只是询问服务器。

这是一个集中式网络,但文件共享将在p2p客户端到客户端连接中完成。
这样做的原因是,如果没有参考,您无法知道要连接的IP。

只是为了清除此服务器的事情:
- 种子使用跟踪器
- eMule的ED2K使用lugdunum服务器
- 电驴的“真p2p”Kademlia使用已知节点(客户端)(大部分时间取自服务器like this)。

0

Bit-Torrent有什么问题?

编辑:在微软操作系统上还有一个预先建立的P2P网络,作为构建东西的基础非常酷。 http://technet.microsoft.com/en-us/network/bb545868.aspx

+1

我认为他的意思是位洪流,但他想要了解如何开始学习系统,它是如何工作的,它的协议等的参考文献 – RobertPitt 2010-08-23 23:02:49

+0

我猜想bit洪流会工作,我想设立一个跟踪器,但我想'd喜欢不需要我使用服务器的系统 – Parker 2010-08-23 23:37:14

+0

@Parker:DHT和PEX的Bittorrent不需要服务器。 http://en.wikipedia.org/wiki/BitTorrent_(protocol)#Distributed_trackers – 2011-02-09 23:45:18

1

Tribler是你在找什么!

它是来自代尔夫特理工大学的完全分散的BitTorrent客户端。它是开源的,用Python编写,所以也是一个很好的学习起点。