跳转到内容

点对点 (P2P) 网络与协议的世界/eDonkey

来自 Wikibooks,开放世界的开放书籍

eDonkey 是 eDonkey 网络(也称为 eDonkey2000 网络或 eD2k)的原始客户端,由 MetaMachines(Sam Yagan 和 Jed McCaleh)创建和管理,总部位于纽约市。它拥有一个稳定的 P2P 社区,并且该协议比 BitTorrent 更早,它是在 2002 年 Napster 关闭后不久创建的,与 FastTrack 网络竞争。2005 年 6 月,娱乐业在美国最高法院获得了胜利,最高法院裁定,如果任何文件共享开发人员诱使他人侵犯版权,他们将因侵犯版权而被起诉。2005 年 9 月,美国唱片业协会(RIAA)向包括 MetaMachines 在内的多家商业 P2P 开发商发送了停止和 desist 函,由于没有资金来抗辩最高法院裁决的解释,Sam Yagan 在向美国参议院司法委员会作证时认输。

2006 年 9 月 11 日,用户无法获得 eDonkey2000 客户端软件,2006 年 9 月 12 日,MetaMachines 以 3000 万美元(美元)达成和解,该协议关闭了 MetaMachines 未来处理任何 P2P 技术的任何途径...

eDonkey 网络是集中的(因为它依赖于服务器)以提供内容的去中心化共享(未存储在服务器上),仍然有许多软件实现支持该网络,最流行的是 eMule。

Yoram Kulbak 和 Danny Bickson DANSS(分布式算法、网络和安全系统)实验室 - 希伯来大学计算机科学与工程学院 - 以色列 - 2005 年 1 月 20 日撰写的“eMule 协议规范”(http://sourceforge.net/project/showfiles.php?group_id=53489&package_id=145950),由 Emule 项目提供的 PDF 文档。

由 Jed McCaleb(eDonkey2000 的创造者)发起,最初名为 Overnet 项目,旨在克服对服务器的需求。Overnet 实现了 Kademlia 算法。2006 年底,由于 RIAA 等机构的法律诉讼,Overnet 和所有 Overnet 拥有的资源都被关闭。然而,由于 Overnet 的核心是去中心化的,Overnet 客户端仍然能够以有限的功能运行。

KadC 库(http://kadc.sourceforge.net/)提供了一个开源 C 库,用于在基于 Kademlia 的分布式哈希表中发布和检索记录。

一篇名为 Kademlia:基于 XOR 度量的点对点信息系统 的有些旧的论文也可以作为有关该协议的信息来源。

该网络现在被称为 Kademlia,并得到许多旧 eDonkey/Overnet 客户端实现的支持,尤其是 eMule 项目。Kademlia 是一项研究工作,旨在基于 XOR 度量 路由 实现一个功能齐全的点对点系统。特别令人关注的是实现高效数据存储和查询的目标;匿名性;网络、内容和用户安全以及身份验证。

eMule 内容数据库

[编辑 | 编辑源代码]
eMule mascot.
eMule 吉祥物。


http://content.emule-project.net/)由 eMule 项目团队为 eDonkey2000 和 Kad 网络用户提供的服务,使免费内容可供下载和轻松查找。内容数据库自 2004 年新年左右开始上线。

软件实现

[编辑 | 编辑源代码]
  • eMulehttp://www.emule-project.net/)是一个基于 eDonkey2000 网络的文件共享软件实现,但它提供了比标准客户端更多的功能,开源 C++/MFC,仅限 Windows,在 GPL 下获得许可(http://sourceforge.net/projects/emule/
  • Xmodhttp://savannah.nongnu.org/projects/x-mod/)Xmod 项目基于 eMule 客户端,在 GPL 下开源。
  • xMulehttp://www.xmule.ws/),X11 Mule,旨在将 eMule 的克隆带到几乎所有主要的 Unix 平台,特别强调 Linux。使用 wxWidgets 作为 GUI 的 C++,在 GPL 下发布为开源。
  • MLdonkeyhttp://mldonkey.sourceforge.net)是一个跨平台、多网络 P2P 实现。它支持几个大型网络,如 eDonkey、Overnet、Kademlia、Bittorrent、Gnutella(Bearshare、Limewire 等)、Gnutella2(Shareaza)或 Fasttrack(Kazaa、Imesh、Grobster)。网络可以启用或禁用。搜索在所有启用的网络上并行执行。对于某些网络,每个文件可以从多个客户端同时下载。
  • AMulehttp://www.amule.org/wiki/)这个项目基于 eMule 客户端,也使用 C++,但也使用 wxWidgets 和 crypto++。在 GPL 下开源,目前支持 Linux、FreeBSD、OpenBSD、Windows、MacOS X 和 X-Box,在 32 位和 64 位计算机上均可使用。
  • eMule Bowlfishhttp://pwp.netcabo.pt/DeepSea/),另一个基于 eMule 的项目,旨在提供一个受限的网络解决方案。
  • Hydranodehttp://hydranode.com/)一个模块化、插件驱动的点对点客户端框架,旨在实现真正的多网络下载(支持 eDonkey2000 和 Bittorrent 网络)。在 GPL 下开源,支持 Linux 和 Windows。
  • Shareaza(多协议,在 Gnutella 部分引用)
华夏公益教科书