BitTorrent群中的最佳节点数是多少?

时间:2011-05-03 01:06:09

标签: math protocols bittorrent

BitTorrent群中的最佳节点数是多少?我认为有一种表达最有效节点数的数学方法。说实话,我有一个问题,只需要一个经验数量的X,没有一点严谨来支持它。

根据this specification,数字是30.

  

实施者注意事项:即使是30个同行   是很多,官方客户   版本3实际上只是积极形式   新连接,如果它少于30   同行并拒绝连接,如果   它有55. 这个值很重要   表现。当一件新作品   完成下载,有消息(见   以下)需要发送给大多数人   积极的同行。因此成本   广播流量直接增长   与同伴数量的比例。   25岁以上的新同行很高兴   不太可能提高下载速度。   强烈建议UI设计师   使这个模糊不清,难以改变   因为很难做到这一点   因此“。

此引号引用的开销是HAVE messages

2 个答案:

答案 0 :(得分:3)

u表示群中的节点数。这听起来像是指群组中的参与者总数,但您的引用是指您应该连接到的节点数。我们假设问题是后者。

您也没有指定要使用的性能指标。效率对你意味着什么?

如果最佳意味着每个有效负载字节的开销字节数最少,则需要1个连接(或者可能是0个连接)。

假设您希望最大化下载速率。这个问题的答案(我应该连接多少个同行以最大化我的下载速率)是:

会使您的下行链路饱和的最低同等数量。

现在,这是什么意思?嗯,它取决于swarm,以及其他同行的容量,这取决于swarm中有多少分布式副本。

还需要解决的另一个问题是,您应该上传多少个同行?这里的答案是:

您可以将上传容量划分为最大数量的同伴,以便它们仍然可以回报,或者使您的下行链接饱和的最小数量

请注意,除法不需要是偶数,有关详细信息,请参阅bittyrant paper

现在,您至少需要那么多连接才能取消选择。

获得良好下载速度的诀窍主要归结为向对等方发送足够快速以便它们回报,但最好不要快于此。如果有备用上传容量,则应该用它来让另一个同行回复。与许多同行建立联系意味着您可以更快地找到合适的贸易伙伴,并且您将更少受到群体流失的影响。

答案 1 :(得分:1)

如果你指的是群中节点的最佳数量,它可能在无限远处。因为每个leecher最好与1个播种机匹配,它具有与leechers下载速度相同的上传速度。

如果您指的是作为leecher连接的最佳节点数,则不能(或极难)找到此数字,因为它取决于太多变量。需要考虑的变量:

  • swarm中的节点数(1 - 1000)
  • 每个节点的种子/水蛭比例(0 - 10000%)
  • 每个节点的延迟(1ms - 1s)
  • 每个节点的最大活动连接数(0 - 1000)
  • 每个节点的最大上传速度(1kb / s - 1000mb / s)
  • 每个节点的最大下载速度(1kb / s - 1000mb / s)
  • 洪流大小(1 kb - 1 tb)
  • 跟踪智能(难以量化)
  • torrent piece size(1kb - 4mb)
  • torrent pieces(1 - 10000)

因此,每个节点至少有一百万种可能的配置,然后每个其他节点也有这些选项。因此,对于具有1000个节点的群,可以有1.000.000 ^ 1000个配置。

当存在大量低速节点时,您可能希望连接到许多节点 当存在大量高速节点时,您可能希望仅连接1个或2个节点。