如何确定您连接到的对等方具有最快的连接(上传速率)?

对等方的实际连接是否会支配谁最快,或者需要最多块的对等方是否会导致他上传最快,因为从他那里下载的人较少?

我想编写一个算法,该算法获取从跟踪器返回的对等点列表中的所有对等点,并使用 ping 和对响应计时或其他方式确定哪些对等点更接近。

谢谢

最佳答案

ping(ICMP 回显请求/回复)将为您提供对等方的延迟,但不会提供对等方的可用带宽。您需要带宽,因为 TCP 擅长做带宽*延迟产品并弄清楚如何快速建立连接,即使它往返卫星。

你要做的是连接到所有这些。连接 40 个对等点并不少见。然后你决定根据他们目前对你的费率来决定取消哪个(直到你成为播种者)。它也必须是相当动态的,因为可用带宽会随着时间而变化。我能给的最好的建议是阅读

http://www.bittorrent.org/bittorrentecon.pdf

这给出了如何实现经济学的总体思路。但是许多客户做的事情与论文不同,因此阅读代码是另一种选择。

所以:你想测量带宽,而不是延迟。因此,ping 是该工作的错误工具。通过跟踪向对等方发送数据包的速率,最容易测量带宽。

我认为阻塞/解除阻塞算法和选择要解除阻塞的对等体是在客户端中最难做到的部分之一。最好用笔、纸和大脑来解决,而不是坐在电脑前写代码。

关于algorithm - 确定最快的 BitTorrent 对等连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4167428/

10-13 02:06