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

Math BitTorrent群中的最佳节点数是多少?,math,protocols,bittorrent,Math,Protocols,Bittorrent,BitTorrent群中的最佳节点数是多少?我认为有一种数学方法可以表示最有效的节点数。老实说,我有一个问题,只是有一个经验数字X,没有一些严格的支持它 根据数字是30 “实施者说明:即使是30位同行 是官方客户吗 事实上,第3版只会主动形成 新连接(如果少于30个) 如果出现以下情况,将拒绝连接 它有55。此值很重要 当一件新作品完成时 已完成下载,有消息(请参阅 将需要发送给most 活跃的同龄人。因此 广播流量直接增长 与对等点的数量成比例。 25岁以上的新同龄人非常受欢迎 不太可能提高下

BitTorrent群中的最佳节点数是多少?我认为有一种数学方法可以表示最有效的节点数。老实说,我有一个问题,只是有一个经验数字X,没有一些严格的支持它

根据数字是30

实施者说明:即使是30位同行 是官方客户吗 事实上,第3版只会主动形成 新连接(如果少于30个) 如果出现以下情况,将拒绝连接 它有55。此值很重要 当一件新作品完成时 已完成下载,有消息(请参阅 将需要发送给most 活跃的同龄人。因此 广播流量直接增长 与对等点的数量成比例。 25岁以上的新同龄人非常受欢迎 不太可能提高下载速度。 强烈建议用户界面设计师 使这一点变得模糊和难以改变 因为这是非常罕见的有用的事情 所以。”


此报价所指的开销是。

u指群中的节点数。听起来你指的是群中的参与者总数,但你的报价是指你应该连接到的节点数。让我们假设问题是后者

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

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

假设您希望最大化下载速率。这个问题的答案(我应该连接多少个对等方才能最大限度地提高下载速率)是:

将使下行链路饱和的最低对等点数。

这是什么意思?嗯,这取决于群以及其他对等方的容量,也取决于群中有多少分布式副本

另一个同样需要解决的问题是,你应该上传到多少个节点?答案是:

您可以在其中分配上载容量的最大对等方数量,以便它们仍然相互交换,或者是使您的下链饱和的最小对等方数量

请注意,分区不需要均匀,有关详细信息,请参阅

现在,您至少需要这么多连接才能取消锁定


获得良好下载速度的诀窍主要归结为向对等方发送足够快的信息,以便他们相互交流,但最好不要比这更快。如果有多余的上传容量,应该使用它来让另一个对等方进行交互。连接到许多对等方意味着您可以更快地找到好的贸易伙伴,并且您将较少受到群中高流失率的影响。

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


如果您将要连接的节点的最佳数量称为leecher,则无法(或极难)找到该数量,因为它取决于太多的变量。要考虑的变量:

  • swarm中的节点数(1-1000)
  • 每个节点的种子/水蛭比率(0-10000%)
  • 每个节点的延迟(1ms-1s)
  • 每个节点的最大活动连接数(0-1000)
  • 每个节点的最大上传速度(1kb/s-1000mb/s)
  • 每个节点的最大下载速度(1kb/s-1000mb/s)
  • 种子大小(1 kb-1 tb)
  • 跟踪器智能(难以量化)
  • torrent片尺寸(1kb-4mb)
  • 激流片(1-10000)
因此,每个节点至少有一百万种可能的配置,然后每个其他节点也有这些选项。因此,对于一个拥有1000个节点的群集,可能有1.000.000^1000个配置

当有许多低速节点时,您可能需要连接到许多节点。

当有很多高速节点时,您可能只想连接到1或2个节点。

最好的办法是,IMHO,用代码编写一个快速而肮脏的bittorrent模拟器,并使用数字。这个问题不是最有效的,而是选择适当的折衷方案。更多的节点意味着达到最大下载速度的几率提高。更多的对等点意味着更多的广播流量,因此使用了更多的资源。问题是你如何权衡这两个。考虑到广播流量呈线性增长,而添加另一个节点的边际效益呈指数下降,因此会有一个明显的权衡点。最好的做法是定义“最优”。此外,您还需要区分节点数和对等节点数,因为您询问的是一个节点,但提供的是另一个节点的引用。答案始终是42。@cweiske-hah,有趣的假设,是否愿意为论文写一个证明?+1,但老实说,您文章的其余部分只是跟踪问题。如果你有与我处理的信息完全相同的信息,为什么要在我的问题后面贴一个问题?这不是SO答案的良好基础。