eMule协议片选择算法分析

网络 网络管理 算法
eMule协议的算法是我们本篇文章重点讨论的问题。开头,我们对BT和eMule进行了简单的差异分析,总结了三点。之后对其算法也进行了分析。

我们知道,下载是数据的传输。在这方面的协议内容我们已经介绍过很多了。其中BT协议和eMule协议是这里面的重点。但是,两者也的确存在着不少的差异。那么,是什么不同导致两个协议具有如此多的差异呢?

首先,BT的方式更注重于简单高效的快速传输,而eMule更注重于整个网络状态的变化及用户体验。

其次,单从下载效率上说BT占优,而从网络状态及完整的协议支持上说,eMule协议则作了更多的事情。

***,从性能上考虑,在相同网络状态下,BT下载单文件的能力比较强,eMule比较适合于长时间的多文件下载,对机器的使用和影响比较小,这源于两者对网络均衡及p2p模式的不同理解。

eMule协议和片选择及搜索算法

为了优化整个网络的吞吐量和共享,eMule协议仔细挑选选择块的下载顺序。基本的选择策略和分片信息是这样的:每个文件被分成9.28M的块,每部分分成80KB的片。块下载的顺序是由发送请求文件块消息(.4节)的下载客户端决定。下载客户端可以在任何给定时刻从各个源中下载一个单独的文件块,所有从相同源中请求的片都在同一个块中。下面的原理(以这个顺序)应用于下载块等级:

1.(可获得的)片的频率,尽可能快的下载非常***的片来形成一个新的源。

2.用来预览的块(最初+***的片),预览或检查文件(比如,电影、mp3)

3.请求状态(过程中下载),尝试向每个源询问其它的片。在所有源之间扩散请求。

4.完成(未到某种程度的完成),在开始下载另一个时应该完成获得部分的片
 
频率标准定义了三个区域:非常***、***和一般。在每个区域里,标准有特定的权重,用来计算块等级。较低等级的块先下载。下面的列表根据上面的原理指定文件等级范围:

l0-9999 - 不请求和请求非常***的块

l0000-9999 - 不请求***和预览块

l20000-29999 - 不请求部分完成的一般的块

l30000-39999 - 请求的***和预览的块

l40000-49999 - 请求的没有完成的一般的块

这个eMule协议算法通常选择***个最***的块。然而,部分完成的块,接近完成的,也可能被选中。对于一般的块,在不同的源之间扩散下载。

责任编辑:佟健 来源: CSDN
相关推荐

2010-06-23 15:43:08

2010-06-23 15:08:18

2010-06-23 15:19:35

eMule协议

2010-07-02 12:02:11

eMule协议

2010-06-28 21:33:17

eMule协议

2010-07-13 15:36:33

2010-07-09 09:19:22

路由选择协议

2010-06-23 14:32:20

eMule协议

2010-06-23 14:20:06

eMule协议

2009-05-12 10:36:47

CCNPBGP协议揭秘

2013-07-29 14:04:22

2010-06-17 23:42:28

路由选择协议

2010-06-09 12:07:59

路由选择协议

2010-07-09 09:16:25

路由选择协议

2010-06-25 15:03:54

路由选择协议

2013-12-02 14:04:23

2018-08-15 14:32:26

无线协议Mesh

2010-09-08 16:01:33

加密算法协议

2010-06-11 16:50:27

路由选择协议

2020-12-21 10:07:34

物联网协议物联网IOT
点赞
收藏

51CTO技术栈公众号