电骡做为P2P下载的一个重要的方式,逐渐的被人们接受和喜爱,所以围绕着电骡大家提出了好多的问题,整理下来发现不仅是一些刚接触emule的朋友,就算是玩了几个月的朋友,对于一些emule的问题也是模棱两可,存在不少误解之处。在此,我就结合这些问题集中写一些解释,试着回答一些,希望能够解决众多朋友的不明之处,如果有错的地方,也请大家不吝指教。

1)P2P到底是什么?
Peer-to-peer的缩写,指的是点对点的意思,最早是在美国由 18岁的Shawn Fanning开发出一个叫Napster的软件时,引入得概念 ,它不仅仅是一种软件架构,也是一种社会模式的体现,网络上流行的P2P软件的架构手段主要有两种:集中式和分布式。
集中式:便是利用服务器作为媒介使各个分散的节点(用户)能互相联系,生成各种服务响应。
分布式:每个节点即做服务器又做客户端,这种方式非常灵活,一个孤立的节点只要连上另一个节点便可以进行传输。
Napster可以说是第一代p2p软件。后来由于Napster陷入诉讼危机(相关版权问题),便出现了Gnutella,它吸取了Napster的失败教训,将P2P的理念更推进一步:它不存在中枢目录服务器,用户只要安装了该软件,立即变成一台能够提供完整目录和文件服务的服务器,并会自动搜寻其它同类服务器,从而联成一台由无数PC组成的网络超级服务器。传统网络的Server和Client在它的面前被重新定义。Gnutella作为第二代p2p软件,他们可以说是最早的p2p技术。然后FastTrack (即Kazaa 的底层技术)迅速掘起取代其地位。成为p2p老大。
2)emule到底是什么?
随着二代技术的普及,又一个的问题诞生了,自私的人们在利用P2P软件的时候大多只愿“获取”,而不愿“共享”,P2P的发展遇到了意识的发展瓶颈。不过,一头“骡”很快改变了游戏规则,它就是后来鼎鼎大名的 eDonkey。这标志着第三代p2p技术的兴起,eDonkey采用了以“分散式杂凑表”(distributed hash tables )为诉求的Neonet技术,改变了P2P网络上的搜索方式,理论上可以更有效率的搜索更多的电脑,以及更容易找出少见的文件。这种技术已经使eDonkey基本快要追上了P2P服务龙头业界的另一个老大Kazaa了. eDonkey由Jed McCaleb在2000年创立。他最重要的是可以同时从许多人那里下载同一个文件,并且采用了“多源文件传输协议”(MFTP,the Multisource FileTransfer Protocol)。电骡的索引服务器并不集中在一起的,而是各人私有的,遍布全世界,每一个人都可以运行电骡服务器,同时共享的文件索引为被称为“ed2k-quicklink”的连接,文件前缀“ED2K://”。
同时,在协议中,定义了一系列传输、压缩和打包的标准,甚至还定义了一套积分的标准,你上传的数据量越大,积分越高,下载的速度也越快。而且每个文件都有有md5-hash的超级链接标示,这使得该文件独一无二,并且在整个网络上都可以追踪得到。EDonkey可以通过检索分段从多个用户那里下载文件,最终将下载的文件片断拼成整个文件。而且,只要你得到了一个文件片断,系统就会把这个片断共享给大家,尽管通过选项的设置你可以对上传速度做一些控制,但你无法关闭它。
在eDonkey出现后,其改良品种eMule(电骡)也出现了。可以说emule是eDonkey的升级版,是eDonkey的一个Mod,就象osp就是quake3的mod一样,它的独到之处在于开源,它的基本原理和运作方式,也都是基于eDonkey, eMule基于eDonkey网络协议,因此能够直接登录eDonkey的各类服务器。eMule同时也提供了很多eDonkey所没有的功能,比如可以自动搜索网络中的服务器、保留搜索结果、与连接用户交换服务器地址和文件、优先下载便于预览的文件头尾部分等等,这些都使得eMule使用起来更加便利,也让它得到了电骡的美誉。
总之,他们继承了第二代P2P无中心、纯分布式系统的特点,但他们它不再是简单的点到点通信,而是更高效、更复杂的网络通信;再加上eDonkey和eMule引入的强制共享机制,在一定程度上避免了前几代P2P纯个人服务器管理带来的随意性和低效率。
更多内容请看PCdog.com--电骡eMule专题
