2009年1月26日星期一

电驴中的KAD、ED2K;BT中的DHT概念解释

 常用BT下载的朋友,一定知道,在下载计算个人流量的BT站的文件时,可能显示DHT不能连接的情况,只要打开DHT网络就能正常下载了。
   那么DHT究竟是什么呢?
   DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。新版BitComet允许同行连接DHT网络和Tracker,也就是说在完全不连上[Tracker服务器的情况下,也可以很好的下载,因为它可以在DHT网络中寻找下载同一文件的其他用户。BitComet的DHT网络协议和BitTorrent的协议完全兼容,也就是说可以连入一个同DHT网络分享数据。
   在BitComet中,无须作任何设置即可自动连接并使用DHT网络,完全不需要用户干预。BitComet使用和TCP端口号相同的UDP端口进行DHT网络连接。如果要完全禁用DHT网络,可以在选项-高级-网络连接中禁用DHT网络。连入DHT网络的用户叫做节点(node),节点之间互相有路由记录,因此只要和任何一个已经在DHT网络中的节点连接上,客户端就可以寻找到更多的节点,从而连入网络。
   BT使用的DHT算法叫Kademlia,在eMule中也有使用,常把它叫做KAD,只不过具体实现的协议有所不同。
   Kad是Kademlia的简称,eMule的官方网站在2004年2月27日正式发布的 eMule v0.42b中,Kad开始正式内嵌成为eMule的一个功能模块,可以说从这个版本开始eMule便开始支持Kad网络了。    Kad的出现,结束了之前edonkey时代,在ed圈里只存在着ED2K一种网络的模式,它通过新的协议开创并形成了自己的kad网络,使之和ED2K网络并驾齐驱,而且它还完全支持两种网络,可以在两种网络之间通用。Kad同样也属于开源的自由软件。
   ED2K也叫“eDonkey2000 network”,是一种文件共享网络,最初用于共享音乐、电影和软件。与多数文件共享网络一样,它是分布式的;文件基于P2P原理存放于用户的电脑上而不是存储于一个中枢服务器。eDonkey客户端程序连接到这个网络来共享文件。而eDonkey服务器作为一个通讯中心,使用户在ed2k网络内查找文件。它的客户端和服务端可以工作于Windows、Macintosh、Linux、UNIX操作系统。任何人都可以作为服务器加入这个网络。由于服务器经常变化,客户端会经常更新它的服务器列表。eDonkey用 混合MD4摘要算法检查 来识别文件。这使ed2k网络可以将不同文件名的同一文件成功识别为一个文件,并使同一文件名的不同文件得以区分。eDonkeyd的另一特性是:对大于9.8MB的文件,它在下载完成前将其分割;这将加速大型文件的发送。为了便于文件搜索,一些Web站点对比较热门的文件建立 ed2k链接 。这些网站通常也提供热门服务器列表便于用户更新。
   ed2k客户端有:   eMule:一个开放源代码的Windows客户端;最火的客户端,拥有80%的ed2k用户。支持Unix的eMule客户端有xMule,Imule(停止开发)和aMule(支持Win32和Mac)。eMule Plus:另一流行的Windows开源客户端。它的特色是比原版eMule占用更少的CPU资源   Shareaza:一个开源多网络客户端(Windows)。   MLdonkey:自由软件。可运行于许多平台并能够很好的支持许多文件共享协议。   eDonkey2000 (MetaMachine的客户端) :当前有2个版本可用。一个付费版,一个有广告软件和间谍软件(虽然可以在安装时选择)。都不是免费软件。   Hydranode:开源。多网络。核心/界面 分离。   MediaVAMP(later changed to Pruna):基于eMule的韩国专用客户端   lphant:运行于Microsoft .NET 平台   Jubster:多网络客户端(Windows).

还有tuotu ,vagaa ,xmule等等,有的支持ubuntu操作系统的!

没有评论: