如何连接路由器后面的 P2P 客户端?

如何连接路由器后面的 P2P 客户端?

如果这个问题之前已经有人问过,我很抱歉,但我认为我发现的任何一个问题都没有问过完全相同的问题。

我正在设计一个简单的 P2P 协议,其中已知服务器向客户端提供彼此的地址,然后它们进行通信。我认为它与 BitTorrent、Skype 和其他 P2P 应用程序有一些相似之处。

我的问题是,如何在没有手动端口转发的情况下识别和通信使用 NAT、位于路由器或防火墙后面的主机(即 99% 的家庭用户)?我知道这是可能的,因为 BitTorrent 和 Skype 工作得很好。

我在网络方面还算是个新手,因此我非常感谢能够借助这个社区的集体智慧。

答案1

您需要 nat 遍历 (nat-t) 或 nat 漏洞打孔。这只是部分解决方案,因为许多 nat 网关不允许这样做。这意味着您需要具有公共 IP 的服务器来在受限 nat 客户端之间传递流量,作为解决方案的一部分。

相关内容