查看完整版本: [-- [資料]重新认识★ED服务器★的作用和关系下载效率的因素 --]

『漫游』酷论坛 -> 技术座谈会 -> [資料]重新认识★ED服务器★的作用和关系下载效率的因素 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

阿砖 2003-05-29 21:54

[資料]重新认识★ED服务器★的作用和关系下载效率的因素

这回我知道为什么来源多速度反而慢的原因了,原文出自mop【ED联盟】
如果有版权问题,请版大删除,如果你看过了,可别说我火星,这里不是mop;)
=========================================

来源的获取方式有下面两种。


服务器的来源获取〔UDP*默认4672〕


单独连接到一个服务器可以马上更新来源。emule每次只能连一个服务器,而且也不需要连两个服务器,当你添加了下载,eMule会每隔20分钟左右向所有的服务器询问源(通过UDP方式)。


用户间的源交换〔TCP*默认4662〕


eMule可以从另一个eMule用户获得下载的源。如果是一个源比较多的文件下载的时候eMule会每隔10分钟随机的从一个下载的用户询问她的源。如果是稀少文件,即低于40个源的文件,将会以每隔10分钟的频率向每一个在列表中的源询问源。 只有那些还缺少的部分会被询问源。这是使用压缩的包通过TCP*默认4662方式询问的,以节省带宽。


注意:


这个协议和mldonkey的源传播协议(source propagation protocol)不兼容。从.23b版开始这个协议使用UDP方式以节省连接数。eMule为这个扩展协议分配了4672端口。


===================================

测试:我在漫游天下服务器用户[1281]搜索avi 来源20,得到下面这连接,来源数是41


ed2k://|file|stellvia_of_the_universe01.avi|195031040|B5F139848EF24CCB1849A672F4D53467|/


断开,我挂在国内的5min.vicp.net。用户[81]。直接添加ED2K地址到连接栏。20分钟之内基本不动。一直到20分钟以后。马上获得来源55个。过了5分钟来源还是全部等待。55(0)删除文件。重新进漫游连接。获得来源35个,而且马上下载。速度22k。传输显示11(33)3。断开,又连在5min。20分钟后获得来源54(1)稳定后25k断开。连到漫游。马上得到来源62(68)3,速度也增加到35k。断开没有连到任何服务器。添加同样连接。40分钟后没有反映。
===================================

总结


serve的ping与下载速度有明确的关系吗?


1.ping只是本地电脑到服务器的连线情况,一般来说如果ping太高,比较容易断线。ping值也有可能因为serve比较忙碌而断线。


2下载速度和服务器影响不大,服务器的作用起着联系emule用户和搜索的功能。但是,如果服务器分配给你low id(主要是你没有外网的ip,还有些服务器本身的问题也有可能)就无法和low id用户通信从而影响下载。大量low id用户和小文件的存在,对服务器负担很重。low id用户的存在则意味着整个网络上面的upload和download的交换并不会很大.因为low id用户之间彼此并没有办法交换文件。 从.23a开始low ID源会被eMule丢弃以节省服务器的资源。只有那些和你同一个服务器的low ID源和那些需要从你这里下载文件的low ID源会被接受。


选择好的服务器对下载有极大的好处,通常从三个方面考虑


1.连线人数,越大越好


2.ping值,一般500左右,超过1000的人数再多效果不是很好了。如果你是作为额外来源获取的话,放在服务器列表里因为ping值教高,服务器经常无法通过UDP方式回应来源变化。还有个影响因素要根据每个服务器的单独来源数和ping值综合考虑。对于同样来源的服务器来说,无疑ping值越小越好。


3按地域分布:德国、韩国、台湾这三个地区比较好。其他国家用户由于地域原因,数据要通过几十个服务器,到了国内就只有几K了。



===================================


建议作为相同性质的网站,合并比较好。因为如果文件的hash一样,通过源交换获得来源的效率大大提高了。相比来说,服务器的作用就弱化了。长远看,服务器合并效率更高。因为用户的集中可以获得更高的效率。而且,在国内,我的意见是除开会overnet的文件存在,任何所谓SP版本的存在都是没有必要存在的。除开各论坛的核心会员,不见得下载的人素质有多少差别


===================================终极下载秘诀


不要相信任何人所谓的秘诀,使用ed提高自己的下载速度无他。上传而已。



下载流量=上传流量,不会增加,也不会减少,靠的是上传。


也不一定是用户越多效率越高,希望大家走出这个误区。靠的是所有用户自觉的上传!!!!如果新增加的用户,下载流量>上传流量。势必减少所有用户的效率。!!!衡量你的贡献与否,在于你的上传!!!



提高上传速度!!!
增加在线分流时间!!!


你们总体分流的速度是上传这个文件的总带宽/总下载人数。有大带宽的人加入,会导致总体的分流效率的提高。当然,实际情况还要考虑对列,网络等等情况。但是大体上是这样的。


所以说,ed这个软件是无限的。带宽永远不会衰竭。越多高素质的分流人员的加入,会导致大家整体效率的提高。ed是一种伟大的软件。使用他的人也需要拥有伟大的共享分流的精神。他的独创HASH功能,是区分所有其他P2P的重要特点。一个HASH对应一个文件,不因为改名而不同。比任何FTP都方便。因为他自动判定同类型文件,迅速加快分流速度。===================================
PS:附录OVERNET的现象,kajisan原创

把整个ED网络能够与其他的网络区分开的。就是overnet。他当然是得益于ed2k对于文件的hash判定能够准确的找到同样的文件.但是他也是一个累赘。我会详细的说明这个累赘的由来,也就是我们平常所说的overnet的现象 大家在平时也都深有体会。

在下载一些dvdrip或者0day的资源的时候。 明明服务器上只有一个源,但是下载的时候却发现有上千的源.当你开始下载的时候。也发现了自己的队伍开始不断的壮大。涌入了几千人的不认识的ID在你的队列里面分流这个Dvdrip的文件.我们可以非常形象的称这个现象为overnet.因为他跨越了服务器的限制。延伸到了整个网络.

overnet最初被利用在整个网络上进可能的选找足够多的源,只要是拥有这个文件的用户都将被他收集信息以便加入下载,当然他的弊端也慢慢的浮出了水面,我们下面就举这个例子来说明 我们在下载一些特色文件的时候(比如有字幕的RMV,我们会发现有些文件只有2-3个源。最多的不超过50个。但是却拥有比dvdrip或者0day等拥有上千的源更快的下载速度.这个是得益于我们的地域的关系。我们将这种国内的用户称为A用户。无论是high id还是 low id,你和A用户之间总能保持一种相当不错的速度,我们把除开A用户以外的用户称为F用户。他们大多来自国外。他们的下载速度缓慢的恐怖, 我们从下载一个dvdrip文件开始举例,当我们开始下载一个dvdrip文件的时候。Em开始寻找源的数量.因为overnet的关系他找到了上千的源。EM把这些源加入下载列表。象他们发出下载请求。并开始下载文件,就是在同时,A用户也通过其他的途径,比如论坛。找到了这些文件hash,也将同样的文件加入了下载。这样就形成了一个比例.也就是overnet现象的产生的原因了.

因为文件来源于国外。也就意味着F用户拥有文件的绝大部分,大概是90%,A用户因为各种原因,也拥有这个文件的10%,同时F用户和A用户的在数量上的比例接近50:1左右(这个是相当小气的比例)假设这个文件是1MB.你和A用户的连接速度是20KB/S,和F用户的连接速度是1KB/s,那么当开始下载这个文件后。你和A用户的文件的交换将在很短的时间内完成.然后你和A用户都将面对一种同样的局面。就是从F用户处下载文件,因为平时缺乏交流和上传的原因。

你和A用户在F用户的队列里面的积分都不会太高,所以长时间的排队是避免不了的事情.当然同样F用户也面对这个困境,而且最重要的一点是。无论当你最后加入F用户的上传队伍。或者A用户加入F用户的上传队伍。或者F用户加入你们的上传队伍,你们都面对一种情况。就是因为地域的限制导致的速度的直接降低。你们的下载速度都会相当的底。也就是说你们所需要的上传时间比平时你和A用户交换同样大小的文件所需要的时间的10倍甚至更长的时间。当然你也可以说源的数量可以弥补速度的不足,但是请不要忘记你在一个用户那里的速度越底。你就将在那一个用户会占用更长的上传时间,而且overnet现象之所以能够产生则得力于Emule和ED特有的排队和积分制度,F用户足够多的排队时间可以抵消A用户对你的上传所赚取的在队列中的优先级别,也就是说.F用户凭借他的数量优势和Em的排队机制最终将会降低整个ED网络的效率,因为在他用非常小的下载速度占用你的上传队伍的时候。A用户是只能在你的排队中等候,你和A用户之间的高效率没有办法发挥。而必须却和F用户进行时间和带宽上的浪费.同样的你也很难在A用户那里排上队.因为队列里面挤满了F用户,在这种情况下我们所能做的唯一能改善这种情况的就是在下载这个dvdrip文件后迅速的把这个文件移出共享目录。把队伍的空的位置腾给A用户下载其他的文件,因为A用户这个时候在你这里已经很难排上队所以这个时候给A用户分流也是不很实际的事情.这个就是时间上的浪费。

我们再来看看带宽上的浪费
A用户可以达到20KB/S的速度*60秒=1200K每分钟的流量.一个700MB的dvdrip将在9个小时内被完整的分流出去,

实际情况要好的多.
F用户的速度是1KB/S*60秒=60K。他在9个小时只能下载的31多M的数据量(这个值其实没有夸张。你仔细看看那

些F用户的速度0.01KB/S是经常都能碰见的事实) 9个小时浪费的带宽就是600多MB.分流一个被overnet的dvdrip往往需要1-3天的时间.lowid用户就更加痛苦

而且我敢断言.Overnet对带宽和资源的浪费将在很短的时间内解决。因为只要使用很简单的算法就可以明显的改善下载的速度和对队列的占用。取一个很简单的例子 当源>100并且连接速度<1KB/S或者5KB/S的时候放弃当前连接,这样不仅仅可以屏蔽掉overnet现象还能在源数量众多的情况下能够提升效率 。

---letifly【流浪的堕落天使路西法】

cloudsp 2003-05-30 14:17
晕~~,有点高深,没太看懂

可是国内除了网线光纤用户外,adsl的用户上传基本最高就是512kbps了

letifly 2003-05-30 14:26
加一篇牛人转载的吧,我这篇的文章还不够深刻,我也是漫游的淫,,,,,

谁要mp传呼我,我有1ymp呵呵,要发工资的,漫游朋友过去一人赞助1000mp。

确实服务器对于high id用户关系不大。。。low id用户的集中有利有弊,来源统一了,下载效率是提高,但是也提高了服务器的负担。。

我昨天还做了一下low id和high id用户的测试,大概6:4吧。。
而且中国开始对em控制了。。很多城市都封锁。。郁闷ing。
1。EDonKEY网络是怎样标记一个文件的
因为文件名可能重复,EDonKEY用hash值来标记文件,hash值完全是根据文件内容算出来的,任何两个不同文件的hash值保证不一样。hash值不含有关于文件所在的客户机、服务器、文件名、目录名的任何信息。在整个EDonKEY网络上,只要确是同一个文件,不管在什么物理位置,改成什么名字,hash值都不会变。

2。EDonKEY服务器是什么作用

EDonKEY服务器的最主要功能,是收集共享文件的位置。当一个客户登录到一台服务器,就把自己有哪些共享文件报告给服务器,供其他客户查询。服务器的次要功能是跟其他服务器交换在线服务器列表,并提供给登录上来的客户。服务器既不保存共享文件,更不会向客户传送共享文件。

3。登录服务器和其他服务器有什么区别

一个客户只能一次登录到一台服务器,客户与服务器之间建立一条固定的TCP连接。这台服务器给客户提供的服务有:1)存放客户的共享文件列表;2)向客户发送最新的在线服务器列表;3)响应客户的查询。
客户拥有一个在线服务器的列表。所有在线服务器都能向客户提供如下服务:1)用TCP协议接收并响应客户文件查找;2)用UDP协议接收并响应客户的扩展查询。
★注意★“查找”和“查询”的意义完全不同,“查询”是寻找文件名中含有指定字符串的文件,“查找”是寻找具有特定hash值的唯一文件。

4。客户如何查询文件

客户首先向登录服务器发送查询请求,然后不管结果查到没有,都可以向其他服务器发送扩展查询请求,每点击一次Extend Search按钮,就发送给在线服务器列表中的一台服务器,并且不用等到答复就可以继续询问下一台服务器。返回的结果是根据不同的服务器分别显示的,即使文件名完全相同,也不会把文件的可用数合并起来。

5。为什么某些客户进行扩展查询始终得不到结果

扩展查询采用UDP协议,如果客户因为任何原因不能发送UDP或者不能接收UDP,就无法得到扩展查询的结果。例如经过NAT上网,而NAT又不能很好地支持UDP,或者UDP被防火墙封锁了,或者EDonKEY客户是通过socks代理服务器上网的。
★注意★EDonKEY客户并不使用socks5的UDP功能,即使设置了socks5代理,扩展查询还是直接发送,不经过代理服务器。E
★注意★DonKEY客户可以通过任意的UDP端口发送和接收UDP,因此防火墙必须开放全部UDP端口的出入。

6。客户如何查找已知hash值的特定文件

在download窗口显示的待下载文件都是已知hash值的。hash值可以来自查询的响应,也可以来自用户直接输入的ed2k:格式的URI。客户自动向所有在线服务器轮流发出查找请求,以便取得尽可能多的共享文件位置。不但在开始下载以前不断查找,即使下载过程中仍经常查找,这是因为服务器列表以及每台服务器上登录的客户都在不断增减变化。

7。客户如何下载文件

当客户找到一个共享文件所在位置,它就向存有该文件的另一个客户建立一个TCP连接,如果对方有自己需要的部分,就排队的等待,直到对方允许下载。

8。不完整文件的hash值是什么

文件的hash值是根据完整文件计算的,不完整的文件仍拥有完整文件的hash值。

9。在未能登录到服务器的时候,客户能直接找到上次连接的主机继续下载吗

网上到处流传着这个错误的说法,其实客户记忆上次未完成的下载位置是毫无意义的,因为对方几乎不可能仍然在线并保持同一个IP。上面已经说明过,客户自动向在线服务器列表中的所有服务器发送查找请求,无论有没有登录到一台服务器都不要紧。所以,我们经常能看到还未成功登录之前就开始下载了,因为客户已经从其他服务器取得了现在能下载的位置。

10。服务器有“快”“慢”之分吗

由于距离、性能、繁忙程度的差别,服务器当然有快有慢,不过大家关心的不是这个,而是:会不会登录到某一台服务器的时候下载总是很慢?实际上,下载速度取决于有多少在线客户拥有你想下载的文件,你与那些客户之间的连接速度如何。由于你的客户总是向所有在线服务器查找,而不是向登录服务器查找,所以登录到哪台服务器与你的下载速度是完全没有关系的。寻找所谓“高速服务器”不会有什么益处。

11。在线服务器列表包含了INTERNET上所有的EDonKEY服务器吗

在线服务器列表是从登录服务器取得的,顶多再加上你手工添加的一些,所以这个问题相当于:每台服务器都知道INTERNET上所有其他的EDonKEY服务器吗?答案是否定的。由于种种原因,EDonKEY网络并不是统一的,很多服务器并不向整个网络公开,也不跟其他服务器交换在线列表,只有登录到它上面的客户才能得到它的服务。而另一些服务器组成了封闭的环,它们相互之间都知道,但是不知道更多的“环”以外的服务器。想拥有全世界所有服务器的列表是个不可完成的任务。

12。为什么定期更换登录服务器能加快下载速度

EDonKEYBOT让大家都学会了这一招。当然,这么做对于你已知的下载位置一点影响都没有,因为下载速度是对方的主观和客观条件决定的,与服务器无关。但是,因为每个服务器只拥有不完整的在线服务器列表,如果你一直挂在它上面,就不会把某些新开机的服务器加入你自己的在线服务器列表,而定期更换登录服务器,提高了扩大你的在线服务器列表的机会,于是你就有可能查找到更多的下载位置。
这篇文章是我在去年写的,针对当时网友的常见误解而写,标题是《EDONKEY的常见问题解惑》,并不是全面知识。由于当时还没有eMule,服务器的分布情况跟现在也不一样,所以某些地方显得陈旧了,不过现在大家的常识和经验已经丰富很多,就不专门修订了。另外,我第一次发表以后,又补充了三条如下:

13。共享IP上网对EDONKEY有那些影响

除非采取特殊措施,否则没有公开IP地址的用户较少为别人提供共享文件,索取多付出少。这样对EDONKEY社区发展是不利的。如果有可能的话,最好在有公开IP的机器上运行EDONKEY客户,而不要通过NAT、PROXY等共享IP方式。
没有公开IP对于用户也是不方便的,socks5代理服务器不支持扩展查询,某些NAT也不能很好地支持扩展查询。
有些用户虽然有公开的IP,但是被防火墙阻挡了一部分EDONKEY必要的TCP/UDP端口,那么其结果和没有公开IP是类似的。

14。共享IP的用户要怎么做才能全面使用EDONKEY的功能

首先,一定要用NAT上网,不要用socks代理。其次,确定你用的NAT软件跟EDONKEY兼容。第三,在NAT上设置一个TCP端口映射,将4662端口的入站连接映射到EDONKEY客户机的4662端口。
如果在NAT后面有多台机器要运行DEONKEY,那么必须给每台机器设置一个不同的入站端口,例如,将1号机设置为4662,2号机设置为4772,3号机设置为4882,然后在NAT上将4662映射到1号机的4662,将4772映射到2号机的4772,将4882映射到3号机的4882。给EDONKEY指定不同端口的方法是在右下窗口里输入port 4772这样的命令,然后退出EDONKEY再重新运行。
★注意★如果NAT软件不支持TCP入站端口映射,可以在NAT上运行一个支持该功能的PROXY软件。
★注意★最好不要用硬件NAT,比如硬件ADSL共享器,或者支持NAT的路由器,它们很可能无法支持EDONKEY所需的全部功能。
★注意★如果NAT兼有防火墙功能的,参看下一条。

15。在防火墙后面的客户要怎么做才能全面使用EDONKEY的功能

要允许4661/TCP、4662/TCP、4242/TCP出站连接(4661、4662、4242是对方端口),允许4662/TCP入站连接(4662是本地端口),允许本地任意UDP端口与外部任意UDP端口相互通信。

hiei 2003-05-30 23:19
除了low ID源需要登陆到它所在的服务器才能从它那下载外,high ID源只要找到就可以了. 以前我就是这样,自己开服务器然后下载,总的下载速度差不多,我自己是 high ID.

fubupingci 2003-05-31 00:10
“当源>100并且连接速度<1KB/S或者5KB/S的时候放弃当前连接”,如果当前能找到的源都是F用户的话,那你岂不是根本无法下载了吗?,不要说这种情况不可能发生,最新的DVDRIP的来源都是F用户,如果将这些仅有的源都屏蔽掉的话,那就别期待会有A用户拥有这个源了。

abcbuzhiming 2003-05-31 09:33
我还是没看明白为什么overnet功能对网络压力大,不明白,难道F和A同时在服务器上,那他们也能对连,那不是也一样吗

adslisdn 2003-05-31 10:35
光是用"当源>100并且连接速度<1KB/S或者5KB/S的时候放弃当前连接"
是无法解决ED网络效率低的问题的
应该象BT那样"上传速度快的下载速度就快"这样的运作机制才能够较好的发挥效率

天國天使 2003-05-31 10:53
"当源>100并且连接速度<1KB/S或者5KB/S的时候放弃当前连接"
這種方法不太可取。

如果這種機制真的套用了,那麼整個network都是由國內或者有極佳條件的或國外用戶支撐住。F的呢?他們就變成只可以下載的用戶,變相成了leecher,在總上下傳比例制度跟積分制度下面,還可以活下去嗎?

hiei 2003-05-31 11:10
对于所谓的overnet现象,Jumpstart提供了一个很好的解决方法。发布者尽快的将整个文件传播到网络就可以完成他的使命了。所谓F用户是不正确的,最大的原因是因为整个网络上的源完整的源太少了。从动画的raw分流来看,一个完整的raw分流很快就可以完成的(几个小时之内),如果平时有从国外服务器下raw的用户应该对这个很有体会。

letifly 2003-05-31 13:03
对于算法的问题,最近我在官方论坛的feature区提意见,主要是提高排队机制和带sorce连接的提高。不过按着他们制作组的意见算法是本着公平的原则。而公平必然导致低效,因为无论怎样高效必然是不公平的。--对于团体内的成员高效,团体外就相对于不公平了--(国内和国外的带宽低效问题)。。。现在ed网络最激动人心的地方在于他的netweb特性。。。国内现在bt分流越来越热烈。。整体看是非常不明智的,bt作为一个封闭的网络。。。未虾米在国内的生存空间越来越大了,是值得深思的问题。看来国人的rp大大的问题了。

希望有识见的人士加入ed的大家庭来。。。对于ed的算法有更好的意见请直接到官方论坛提意见。谢谢各位大大支持了。。。。。。。。
http://www.emule-project.net/

rolf 2003-05-31 14:58
是无法解决ED网络效率低的问题的


查看完整版本: [-- [資料]重新认识★ED服务器★的作用和关系下载效率的因素 --] [-- top --]


Powered by phpwind v8.5 Code ©2003-2011 phpwind
Time 0.010241 second(s),query:2 Gzip disabled