与洪流工作有关的疑问?

Posted

技术标签:

【中文标题】与洪流工作有关的疑问?【英文标题】:Doubts Related to working of torrents? 【发布时间】:2014-01-29 16:30:26 【问题描述】:

我想了解种子是如何工作的?

在网上阅读了很多内容后,我现在了解它的基础知识,但我有一个非常 与种子工作有关的重要问题!

在洪流中,点对点连接如何发生?

几乎所有对等点都有 私有 IP(例如 192.x.x.x) 地址,那么如何在没有服务器的情况下进行连接(正如我所读到的:没有服务器参与种子)?

非常感谢!

【问题讨论】:

【参考方案1】:

有几种选择:

    NAT 后面的对等方根本不连接到 NAT 后面的其他对等方。这会创建两类对等点,其中可连接的对等点在交易部分时具有优势,并且通常可以实现更快的下载速率。 NAT 后面的对等方使用 UPnP 或 NAT-PMP 设置端口转发,以便其他对等方可以连接 使用 uTP 和对等交换的对等点可以支持简单的打孔机制(例如,uTorrent 和 libtorrent 支持此机制)。对等点可以帮助将其两个连接相互引入,它们尝试同时连接,其中一个具有全锥形 NAT,它们很可能会成功建立连接。 支持 DHT 和 uTP 的对等方可能会使用相对较新的功能,其中向 DHT 宣布的端口来自其 UDP 数据包。对 DHT 和 uTP 使用相同的套接字会增加全锥形 NAT 后面的对等方可以在没有设置 UPnP 或 NAT-PMP 的情况下接受传入连接的机会。仅仅是因为 DHT 流量会在 NAT 上保持一个针孔打开。

如果您在对称 NAT 后面只有一群对等点,那么没有人能够连接到其他任何人,并且 bittorrent 将无法正常工作。在实践中(至少在中等规模的集群中)总有一些节点是可连接的。

【讨论】:

感谢您的回答和libtorrent的发展!我还有另一个具体的小问题。据我了解,跟踪器不会为同行打孔所以如果我从我的电脑上创建了一个种子和种子,只有全锥形载波梯度 NAT,我在另一个全锥形载波梯度 NAT 上的朋友会永远无法下载,除非我们中的任何一个人移至第三个客户端,并在完全可连接的网络上加入了下载。我说的对吗?如果我们正确设置路由器以使用 UPnP | NAT-PMP,我们落后多少层家用路由器都没关系? 请原谅我的无知。我面临的情况是,我和我的朋友都在路由器后面并正确设置了 UPnP 和 NAT-PMP。 qBittorrent 可以检测我的外部 IP 并正确报告使用 UPnP 的端口映射。我们都落后于不同的运营商级 NAT。然后,我尝试创建一个种子并播种。我还在洪流中添加了几个跟踪器。问题是他在一段时间后根本无法下载。我们俩都可以在qBittorrent“peer”列表中看到对方的外部IP:PORT,但连接似乎无法建立并稍后消失。

以上是关于与洪流工作有关的疑问?的主要内容,如果未能解决你的问题,请参考以下文章

关于 Angular 2 中的事件发出的一些疑问。这个例子究竟是如何工作的?

比特洪流如何在专用网络中工作?

洪流调试工具

个人总结洪流区欢迎大家加入~

如何在没有传输跟踪器的情况下创建洪流?

学习软件工程后的疑问