BitTorrent 客户端是否可以只向同时也在播种的水蛭提供播种偏好?

And*_*ong 4 bittorrent upload download protocol network-protocols

我在协议/技术层面上对 BitTorrent 不是很熟悉。

客户是否可能更喜欢播种(提供更多带宽,或只连接)而不是同时播种他们下载的任何部分的窃取者?(例如,作为一种奖励或仅提供给那些也在分享的人,而不仅仅是窃取的方式。)或者该协议是否无法了解其他用户(窃取者)的播种活动。

我问是因为有时当我自由地删除上传上限和种子时,我的下载速度似乎要快得多 - 对现象有其​​他解释吗? - 我在想象事情吗?

And*_*ong 8

我接受@ScottChamberlain 的回答,因为搜索“公平”一词使我想到了另一组术语“窒息”和“未窒息”,这反过来又使我在BitTorrent 协议规范(Cohen,Bram。10 月)中给出了明确的答案20, 2012。)

窒息有几个原因。当一次通过多个连接发送时,TCP 拥塞控制的表现非常差。此外,窒息让每个对等方使用针锋相对的算法来确保他们获得一致的下载速率。

下面描述的阻塞算法是当前部署的算法。[...]

当前部署的窒息算法仅通过每十秒更改一次窒息者来避免颤动。它通过解除它具有最佳下载率并感兴趣的四个对等点来实现互惠和上传数量上限。具有更高上传率但不感兴趣的对等点不会被阻塞,如果他们感兴趣,最差的上传者就会被阻塞。如果下载器有一个完整的文件,它会使用它的上传速率而不是它的下载速率来决定取消阻塞的对象。

那么,新的 leechers 如何下载,因为他们没有要上传的片段?乐观开朗:

对于乐观解除阻塞,任何时候都有一个不受阻塞的对等体,无论其上传速率如何(如果感兴趣,它都算作允许的四个下载器之一。)被乐观解除阻塞的对等体每 30 秒轮换一次。为了让他们有机会上传完整的作品,新连接开始的可能性是当前乐观解锁的可能性是轮换中其他任何地方的三倍。

我发现了另一份名为BitTorrent Protocol version 1.0(Fonseca, J., Reza, B., and Fjeldsted, L. April 2005.)的文档,它更详细地描述了协议的这一方面(尽管基于协议的旧版本) .

本节描述了推荐用于选择与其交换碎片的相邻对等点的阻塞算法。只要遵守第 6.1 节中的指南,实现就可以自由地实施任何策略

[...]

所有连接都会根据它们为客户端提供更好的下载速率的能力进行定期评级。评级可以考虑诸如远程对等点在特定时间段内与客户端保持畅通连接的意愿、远程对等点向客户端的上传速率和其他实现定义的标准等因素。

[...]

上述算法唯一缺乏的元素是能够确保新对等方有公平的机会下载一个片段,即使他们在上述模式中的评估结果很差。一个简单的方法是确保定期选择随机对等点,而不管它如何评估。由于以循环方式重复此过程,因此它确保最终即使是新的对等点也有机会被解除阻塞。

该文件强烈建议早期版本的协议没有明确指定“公平”方案——仅是“指南”(在上文中称为“第 6.1 节”),其中包括:

该算法的构建不应以减少上传的数据量与下载的数据量为目标。至少一个对等点应该上传它已经下载的相同数量。

该算法在处理刚刚加入群体并因此没有任何碎片可提供的远程对等方时,不应使用严格的针锋相对的模式。