Kad网络(英语:Kad Network)是一个实现了Kademlia协议的点对点网络。大多数Kad Network上的用户,均会连接到eDonkey网络服务器。而Kad Network客户端,一般会查询eDonkey Network上已知的节点,来获取Kad Network的初始节点。

Kad Network利用UDP

  • 查找ed2k散列来源
  • 使用文件名称的关键字,来搜索ed2k散列
  • 查找文件的注解与评分(散列)
  • 为防火墙内的节点(低ID)提供伙伴服务(buddy service)
  • 贮存位置、注解与(来自关键字的)文件名

注意Kad并不会实际用来在点对点网络中发送文件,而是在文件开始发送时,用户之间彼此直接连线(透过标准IP网络)。

客户端

目前支持Kad的客户端程序如下。不过,这些客户端程序的ed2k用户占所有用户的80%,程序安装数量接近ed2k总安装量的95%(eDonkey Network):

  • eMule:一个最流行的开放源代码Windows客户端,亦可透过Wine在Linux下运行,占网络用户的80%。eMule同时拥有许多修改版。
  • aMule:一个派生自lMulexMule跨平台版本,集中于Unix平台。
  • MLDonkey:一个可在多个平台运行及支持无数文件分享协议的免费客户端软件。
  • kMule:由WiZaRdTuxman合作开发的首个舍弃eD2k、完全基于Kad的eMule v0.50a mod。kMule的口号是“The First Kad Only Mule”,其特性为放弃了传统的基于服务器的eD2k网络而仅使用无中心的Kad网络。

节点

KAD网络中每一个客户端都是一个节点,组成了KAD网络

节点减少:eMule使用过程中节点有时会减少,这是KAD网络自我优化造成的。

节点文件:通过快速连接一些KAD节点,使客户端更快速的连接KAD网络

断头档

原理:断头档文件是一个不完整的下载文件,无法下载完成,但在下载过程中,KAD会不断检测拥有这个档案的客户端,将它们加入到本地客户端的KAD网络,从而达到连接更多相同需求用户的效果,如音乐类断头档会将连接此类断头档用户。

但一部分用户认为断头档会消耗更多资源,而且节点文件的效果也较好。

请参阅