如何连接到从bittorrent获得的对等体

时间:2017-05-17 11:39:50

标签: nat bittorrent

我正在寻找在Ruby中构建一个bittorrent客户端(尽管语言在这里并不重要)。

我读了一个BEP规范,该规范说明在/announce(没有DHT支持)查询跟踪器会给出当前为给定信息哈希连接的对等列表。

检查一下。我创建了一个torrent文件,我发现跟踪器返回我的机器的IP以及端口(我确认是我的机器上的Bittorrent客户端的运行端口,即Utorrent)

但问题是,同行信息返回了我的ISP的IP,即111.125.209.41(面向IP的公众,因为我在NAT后面)。

现在我无法通过 TCP 连接到我的机器上运行的进程,其中包含我的ISP的公共IP。

任何人都可以建议bitorrent如何处理这个问题以及我该怎么做才能解决这个问题。

通过UDP Bittorrent可能会使用UDP保持打孔而不确定TCP上会发生什么。

1 个答案:

答案 0 :(得分:0)

有两个不同的问题。

  1. 互联网上的同行(又名世界的99.99999%)如何连接到您的NATed节点
  2. 网络中的对等体如何连接到同一网络上的节点。
  3. 第一种方法是通过各种nat traversal方法实现的,包括与nat设备协商或手动配置。

    第二个问题要求路由器能够hairpin routing与转发端口结合使用,或者本地对等体通过其他方式发现内部地址,例如LSD