ed2k

关注
义项:文件共享网络协议
ed2k

ed2k是eDonkey2000网络的简称,全称eDonkey2000 network,是一种基于点对点原理的分布式文件共享网络,由美国MetaMachine公司开发并用于同名客户端软件。该网络以服务器作为检索与索引中枢,文件本身存放在各用户的计算机上,客户端之间直接交换数据;它采用混合MD4摘要算法生成的哈希值识别文件,并通过ed2k链接在不同网页与客户端之间传递文件标识[1]。2004年前后该网络一度成为互联网上使用最广泛的文件共享网络,其后随核心服务器被查封与版权诉讼的推进而逐渐衰落,但其分片下载与哈希识别等设计被后续多种文件共享协议沿用[2]。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

ed2k指eDonkey2000网络,也称eD2k网络或电驴网络,是一种分布式的、主要基于服务器的点对点文件分享网络。它通常用于共享电影视频文件、音乐专辑和计算机程序软件等体积较大的文件[3]。与多数文件共享网络相同,它不把文件集中存放在中枢服务器,而是让数据在用户之间基于点对点原理相互交换,服务器只承担通讯与索引的角色。

在协议层面,ed2k既指客户端与服务器之间、以及客户端彼此之间通信所遵循的一组规则,也指由该协议派生的资源定位方式,即形如「ed2k://」的链接[4]。这一协议并未有正式的公开规范文本,在实践中通常以eMule与eserver两类程序的共同行为作为其事实标准[5]。

原理

ed2k网络的运行依赖客户端与服务器两类角色。客户端启动后先连接一个服务器,服务器检测该客户端能否被外部无限制地连接,据此指派高ID或低ID;随后客户端把本地共享文件的文件名与哈希值列表上传,服务器将其记入数据库,用于回应用户的文件搜索请求[6]。搜索分为本地搜索与全局搜索,前者只查询当前连接的服务器,速度快但结果较少,后者向网络上其他服务器转发查询,耗时更长但覆盖面更大[6]。

文件识别依靠哈希而非文件名。文件被切分成 9.28 兆字节大小的片段,每个片段各计算一个 128 位 MD4 哈希值,再由这些片段哈希计算出整个文件的 eD2k Hash,作为该文件的唯一标识[7]。因此同一内容即使在不同用户处使用不同文件名,也会被识别为同一个文件;文件名相同而内容有差异的两个文件,则会被当作不同文件处理[4]。

下载采取多源并行方式。客户端向本地服务器及网络中其他服务器查询拥有该哈希的客户端,这些来源只要持有相同哈希的任意一个片段即可参与上传;找到来源后客户端连接对方,进入其上传队列,排队到队列首位时开始接收数据[6]。文件尚未下载完成时其已有片段即可被其他用户取走,这一特性使大文件的传输效率较高[7]。

ed2k链接是种超链接,用于指示网络上存储的文件,形如「ed2k://|file|文件名|文件大小|文件哈希|/」,由竖线分隔各字段[1]。链接类型除文件外还有服务器与服务器列表两类;浏览器可将其交由安装了相应客户端程序的软件处理,点击后自动开始下载[1]。

发展历程

eDonkey2000 客户端由美国开发者 Jed McCaleb 与 Sam Yagan 创办的 MetaMachine 公司开发,2000 年 9 月 6 日首次发布,9 月 16 日已提供面向微软视窗与 Linux 的客户端与服务器版本[8]。与更早的Napster相比,它引入了多源并行下载,并率先以文件哈希而非文件名作为下载标识,还提供了 ed2k 链接这一资源定位方式[9]。

早期各服务器彼此隔离,后来服务器软件支持转发搜索请求,使连接在不同服务器上的用户也能相互发现,扩大了可下载的来源范围[8]。2002 年 5 月,开源项目eMule启动,随后成为该网络使用人数最多的客户端[7]。2004 年,该网络超过 FastTrack,成为互联网上使用最普遍的文件共享网络;据估计到 2005 年中期,平均约有 200 万至 300 万用户通过 100 至 200 台服务器共享 5 亿至 20 亿个文件[2]。

2005 年 9 月 28 日,eDonkey 客户端在收到美国唱片业协会的停止侵权函后停止发布[8]。2006 年 2 月 21 日前后,该网络当时最热门的服务器 Razorback2 在比利时被查封,其运营者被逮捕,此后该服务器不再提供服务[2]。2007 年,BitTorrent 取代 eDonkey 网络成为使用最广的文件共享网络;到 2009 年,ed2k 仍居第二位,但使用量下滑明显[2]。

应用

ed2k网络主要用于分发体积较大的文件,如光盘镜像、视频、游戏与软件程序[8]。为便于查找,一些网站把热门文件的校验值以 ed2k 链接的形式列出,部分网站还提供可用服务器列表供客户端更新。

在服务器依赖之外,该网络还有连接Kad网络的用法。eMule 自 0.42.1 版起同时支持基于服务器的 eD2k 网络与基于 Kademlia 的无服务器网络,两个网络作用相同,都用于寻找其他用户与所需文件,且档案可以在两者间自由共享[6]。

局限

该网络需要专用服务器维持运行,依赖愿意付出带宽、处理器与磁盘开销的用户来架设;这些服务器承受较高负载,在理论上也更容易受到来自互联网的攻击[2]。由于服务器列表经常变化,客户端需不断更新,连接失败时用户往往难以定位原因。

低ID客户端之间存在连接困难。被防火墙或网络地址转换阻挡、无法被外部连接的客户端只能获得低ID,这类客户端之间的数据传输需经服务器中转,不仅降低传输速率,也加重服务器负担,部分规模较大的服务器因此拒绝低ID客户端接入[4]。

网络本身不提供匿名性保障[7]。此外,若文件某一片段在传输中丢失,最终可能无法拼合出完整文件,形成无效的残缺资源[7]。协议在扩展状态下缺乏正式文档,也使其实现细节难以被外部完整核查[5]。

参见

  • eMule —— 使用 ed2k 协议的开源客户端,也是该网络用户量最多的客户端。

  • Kad网络 —— eMule 为实现无服务器检索而引入的 Kademlia 网络,与 ed2k 协同工作。

  • Overnet —— MetaMachine 开发的去服务器化协议,被视为 eDonkey 协议的继承者。

  • BitTorrent —— 同样采用分片与哈希校验的另一种点对点文件共享协议。

  • Napster —— 更早的集中式点对点文件共享服务,ed2k 在设计上对其作了改进。

参考资料

  1. ED2k链接 [引用日期2026-10-14]
  2. eDonkey network - This article needs to be updated [引用日期2026-10-14]
  3. eDonkey網絡 [引用日期2026-10-14]
  4. amule.org 上的网页 [引用日期2026-10-14]
  5. EDonkey network - Skip to main content [引用日期2026-10-14]
  6. eMule-Project.net [引用日期2026-10-14]
  7. Historische Entwicklung [引用日期2026-10-14]
  8. Overnet [引用日期2026-10-14]
  9. linux.com 上的网页 [引用日期2026-10-14]
词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T22:26:10Z

历史版本

本条目引用的词条
服务器 Napster eMule Kad网络 Overnet BitTorrent