除了 TURN 之外,对称 NAT 后面的 P2P 还有其他选项吗?

除了 TURN 之外,对称 NAT 后面的 P2P 还有其他选项吗?

我正在尝试实现一个系统,允许客户端几乎不需要任何配置就可以建立彼此之间的直接连接。

据我了解,STUN 服务器无法在对称 NAT 后面工作,因为对等客户端的端口不是服务器看到的端口。

我有一个关于如何实现这一目标的想法,但我不确定它是否真的可行。以下是我的想法:

想象一下我尝试两个连接

  1. 至服务器(成功)

  2. 到对等点(失败)

服务器将存储有关待处理客户端的信息,然后通知每个客户端尝试建立注定失败的连接。从失败的连接中,读取它打开的端口,将该端口告知服务器,然后继续建立连接。因此,与其打开与服务器的连接,不如使用服务器在客户端之间共享有关如何相互连接的真实来源。

现在来谈谈真正的问题

  • 我的客户端机器是否可以访问此信息以使此方法可行?

  • 如果可以的话,这种方法可行吗?还有其他因素会妨碍它发挥作用吗?

  • 如果没有的话还有其他方法可以达到相同或类似的结果吗?

我对点对点网络或任何自定义网络实现都不太熟悉,所以如果我说的都是废话,请原谅我……

谢谢!

相关内容