emule 知识汇总

emule的下载原理?

当你在搜索列表中选取了你要的文件并开始下载后,emule会记录下这个文件的大小,文件名以及另一个叫做hash的特殊值。会向所有添加的服务器发出请求,要求得到有相同hash值的文件。而服务器则返回持有这个文件的用户信息。这样我们的客户端就可以直接的和拥有那个文件的用户沟通,看看是不是可以从他那里下载所需的文件。它最棒的部分就在于:你不是只在一个用户那里下载文件,而是同时从许多个用户那里下载文件。如果另一个用户仅仅只有你要的文件的一个小小片断,他也会自动地把这个片断分享个大家,而你就可以从这个用户的机器上下载这个片断。当然你也是一样。只要你得到了一个文件片断,系统就会把这个片断共享给大家。在查找到下载源(其他客户端)后,下载就是客户端和客户端通过点对点(P2P)进行直接对话了。期间没有数据流通过服务器。

 

emule是如何工作的?

emule建立于多点文件传输协议之上。一个emule网络由服务器端和客户端两部分组成。服务器端是客户端连接的、为了搜索和查找可以下载用户的桥梁。服务器列表像电话本一样排列,客户通过浏览它而获取他需要的文件所有者的客户端信息。在download过程中,没有下载文件通过服务器端。

 

emule是如何搜索的?

每一个客户端连接到一个服务器作为他的主服务器。在连接时,由客户端告诉主服务器他share了那些文件,以及IP地址等其他信息。所以每一个服务器会记录所有登陆到他服务器上的以上信息。在本服务器搜索时,它会通过匹配记录的已知以上信息把查找结果反馈给搜索的客户端列表。当你使用扩展搜索(extend search)时,你的搜索请求和应答结果通过发送限制带宽的UDP包连接到客户端本身的服务器列表(server.met)对应的某一个ip地址的服务器。

 

emule是如何下载的?

当客户端选择了一个文件下载时,它首先收集一个拥有该文档的客户端的列表。它会先行查询主服务器所有登陆用户他们是否拥有该文件。然后再连接和查选其他服务器的登陆用户所拥有该文件的客户端列表。一旦它找到拥有该文件的其他客户端,它将请求每个客户端发送这个文件的不同片。直至最后文件由这个不同的片组装成一个完整的文件。 在进行pause/resume的时候,我们选择的下载列表已经获取,它pause的仅仅是客户端和客户端之间的TCP连接然后恢复TCP连接。这个过程只有再resume时通过客户端向服务器端发送22个字节后即可。占用的仅仅是22个字节的网络流量。在pause是甚至不通过你登陆的服务器进行,也无须你登陆的主服务器进行任何干预和操作。所以说,它并未占用主服务什么资源,只是在你已经和主服务器连接的通道上发送22个字节而已。

 

2010年9月6日,世界上历史最悠久的P2P文件共享网络——eDonkey 2000 Network(简称:eD2k) 也就是我们所熟悉的电驴网络,迎来了自己的10岁生日!

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据