当我播种已完成的种子时,我经常注意到除了字节离开我的电脑外,还有字节进入我的电脑。下图中可以看到这种情况的示例。我使用 Tixati 作为种子客户端。
我知道我在做种时正在上传数据,但如果种子已经完成,我下载的是什么?可能是 P2P 协议数据吗?(我不熟悉底层工作原理)但是,有时传入的传输大小接近 1kB,这对于简单的开销来说似乎是不合理的。
我收到了什么数据?这些数据是持久的吗?这种行为在 torrent 客户端中是否有所不同?
答案1
可能是P2P协议数据吗?
是的。
有时传入的传输大小接近 1kB,这对于简单的开销来说似乎是不合理的。
对于所有客户端来说,传输握手、扩展握手、位域和元数据传输的几 KB/s 的瞬时峰值都是正常的。
答案2
BitTorrent 协议采用分布式设计,以便重复使用不完整文件的数据块。您的计算机宣传某些文件,然后您的对等方请求数据块 - 最初您的广告会发送给您的直接对等方,然后由分布式数据库(哈希表)进一步中继。因此,了解您的文件的对等方数量通常会随着时间的推移而增加。
每个对等方的请求都会产生一些入站流量,因此您的入站流量也可能随着时间的推移而增长。
这是我的客户端的截图,其中有标记:
- 协议开销
- 连接数
- 分布式数据库节点
此外,当您播种请求量很大但很少见的文件时,更多的用户会想从您的机器下载,这显然会产生大量的入站流量。
在某种程度上,您可以通过调整 Torrent 客户端参数(例如并发下载数、打开和半打开连接等)来减少这种影响。
我通常会减少允许的连接数,因为我的家用路由器容易因连接过多而挂起 - 这是廉价 SOHO 路由器的典型缺陷,与专业的、非常昂贵的路由器相比。
以下是我的客户端带宽相关选项的截图:
我的路由器可以完美地维持 200 个开放连接,但是当我的孩子开始使用 torrenting 时,我们所有人都需要减少这个选项,总共不超过几百个连接,这同时减少了协议流量。
不幸的是,我找不到好的 BitTorrent 协议规范。这个只能部分回答以下问题: