发新话题
打印

网速

网速

这一段时间电炉怎么了。太慢了

TOP

emule电骡原理及基础知识

1什么是P2P
Peer-to-peer的缩写,是点对点的意思,1998年由美国当时18岁的Shawn Fanning开发一个叫Napster的软件时引入的概念,它不仅仅是一种软件架构,也是一种社会模式的体现,网络上流行的P2P软件的架构手段主要有两种:集中式和分布式。
集中式:需要用服务器作中介才能使每个分散的节点(不同网友的每一台运行电骡的电脑)能互相联系。
分布式:每个节点即做服务器又做客户端,这种方式非常灵活,一个孤立的节点只要连上另一个节点就能与全部节点进行联系。
Napster是第一代p2p软件,使用的正是集中式、用服务器为网友互联作中介。后来Napster因为版权问题被告后被强制关闭,之后有人推出了Gnutella,它吸取了Napster的教训,将P2P的理念更推进一步:它不使用中枢目录服务器,用户只要安装了该软件,立即变成一台能够提供完整目录和文件服务的服务器,并会自动搜寻其它同类,从而联成一台由无数PC组成的网络超级服务器。传统网络的服务器(Server)和客户端(Client)在它的面前被重新定义。

2 eMule的诞生:骡子比驴子强壮!

       随着二代技术的普及,又一个的问题诞生了,自私的人们在利用P2P软件的时候大多只愿“获取”,而不愿“共享”,P2P的发展遇到了意识的发展瓶颈。不过,一头“驴”很快改变了游戏规则,它就是后来鼎鼎大名的 eDonkey。eDonkey采用了以“分散式杂凑表”(distributed hash tables )为诉求的Neonet技术,改变了P2P网络上的搜索方式,理论上可以更有效率的搜索更多的电脑,以及更容易找出少见的文件。这种技术已经使eDonkey基本快要追上了P2P服务龙头业界的另一个老大Kazaa了. eDonkey由Jed McCaleb在2000年创立。他最重要的是可以同时从许多人那里下载同一个文件,并且采用了“多源文件传输协议”(MFTP,the Multisource FileTransfer Protocol)。电驴的索引服务器并不集中在一起的,而是各人私有的,遍布全世界,每一个人都可以运行电驴服务器,同时共享的文件索引为被称为“ed2k-quicklink”的连接,文件前缀“ED2K://”。同时,在协议中,定义了一系列传输、压缩和打包的标准,甚至还定义了一套积分的标准,你上传的数据量越大,积分越高,下载的速度也越快。而且每个文件都有有md5-hash的超级链接标示,这使得该文件独一无二,并且在整个网络上都可以追踪得到。EDonkey可以通过检索分段从多个用户那里下载文件,最终将下载的文件片断拼成整个文件。而且,只要你得到了一个文件片断,系统就会把这个片断共享给大家,尽管通过选项的设置你可以对上传速度做一些控制,但你无法关闭它。
      eMule,一个出自德国的电驴网络客户端(edonkey2000 network clinet)。
       在eDonkey电驴出现后,其改良品种eMule(电骡)也出现了。emule是eDonkey的升级版,它的独到之处在于开源,
        2002年5月13日,本名Hendrik.Breitkreuz(亨德里克·布雷特克鲁兹)的德国人Merkur,因为无法继续忍受运营电驴的美国公司Metamachine所提供的官方客户端软件:eDonkey(电驴),决定自己来开发一个更好的,他破解电驴协议,编写出一个新软件。也许是为了表明他的新家伙会比电驴更加强壮,也许仅仅是为了表示对电驴的揶揄,他为自己的这个新客户端起名:eMule——电骡,以取mule之意,象征比电驴更强。(英文单词mule的意思: 骡子,马骡;而Donkey是毛驴的意思)
        由于电驴是一个商业客户端,免费版带有广告条,只有支付19.95美元才能用不带广告的edonkey pro版,而与电驴不同,电骡是遵循GNU GPL开源协议的免费软件,因此很快就吸引了全世界不国家的开发人员参与,并成立了eMule-project,今天的eMule官方组织。电骡官方网址:http://www.emule-project.net/
        电骡的基本原理和运作方式,都是破解自eDonkey电驴, eMule基于eDonkey网络协议,因此能够直接连接eDonkey服务器。但eMule添加提供了很多eDonkey所没有的功能,比如可以自动搜索网络中的服务器、保留搜索结果、与连接用户交换服务器地址和文件、优先下载便于预览的文件头尾部分等等,使eMule使用起来更加便利。
        电驴和电骡都继承了第二代P2P客户端软件无中心、纯分布式系统的特点,但他们它不再是简单的点到点通信,而是更高效、更复杂的网络通信;再加上强制共享机制,在一定程度上避免了前几代P2P纯个人服务器管理带来的随意性和低效率。

3  emule传输数据的原理

        当你在电骡搜索列表中选取一个你要的文件并开始下载后,电骡读取这个文件的大小,文件名以及另一个叫做hash的特殊数值,然后向所有它已知的服务器和kad网络中的节点(也就是其他网友的电骡)发出请求,要求得到有相同hash值的文件。服务器返回持有这个文件的用户信息,而拥有你需要下载的文件的其他网友的电骡,也会向你发出建立连接的请求,这样我们的电骡就可以直接和拥有那个文件的网友们的电骡交换数据了。
        电骡最棒的地方是在于你不只在一个用户那里下载文件,而是同时从许多个用户那里下载文件。如果另一个用户仅仅只有你要的文件的一个小小片断,他也会自动地把这个片断分享个大家,而你就可以从这个用户的机器上下载这个片断。当然你也是一样。只要你得到了一个文件片断,系统就会把这个片断共享给大家。在查找到下载源(其他客户端)后,下载就是客户端和客户端通过点对点(P2P)进行直接对话,完全不需要服务器参与其中了。
        看到这里大家应该明白了,电骡的上传比下载更重要!只要每一个网友不限制上传,电骡的下载速度自然会快,而如果愚蠢地自以为是的以为限制上传能带来更快的下载速度这种谬论,或者不明真相地以为电骡的资源是由某一个服务器带给你的,以为上传是没有用的浪费自己的带宽,从而想方设法地限制上传,或者在下完以后就移动完成的文件,不再作源,或者使用只下载不上传给正规电骡的吸血软件,比如中国大陆的最大的奸商下载软件迅雷或他们的所谓的离线下载服务,只会让电骡资源,源少的下载越慢,冷门的更冷门甚至一个人都没有提供上传,直接从电骡共享网络世界消失。


[ 本帖最后由 zhaohuhu 于 2011-5-15 12:47 编辑 ]

TOP

发新话题