【问题标题】:UDP/TCP hole punching vs UPnP vs STUN vs?UDP/TCP 打孔 vs UPnP vs STUN vs?
【发布时间】:2014-01-23 05:20:40
【问题描述】:

我尝试制作 P2P 程序,需要帮助以通过客户端的 NAT。 我在这里阅读了很多关于 stackoverflow 的问题,但我从未了解所有通过 NAT 的方法的缺点和优点。 有多少路由器支持哪些方法? 大公司常用哪些方法? (BitTorrent、TeamViewer、...) 我列出的三种方法的缺点/优点是什么?还有哪些?

【问题讨论】:

    标签: nat upnp hole-punching stun


    【解决方案1】:

    UPnP 需要在您的路由器中提供软件支持。即使路由器有它,有时也会出于安全考虑将其关闭。

    STUN 使用一个简单的公共服务器来检测 NAT 和真实 IP 地址的存在。这对于执行有用工作的其他更高级别的协议很有用。

    打孔是一种连接两台计算机的简单技术。它需要第三台公共计算机在 NAT 后面的两台计算机之间进行通信。您可以使用自定义协议运行您自己的服务器,我们可以使用 STUN 和现有的 STUN 服务器。 (设置只需要几个数据包,其余的都是点对点的)。

    当然,有些 NAT 防火墙与上述不兼容,因此您可能需要自定义协议。 Bittorrent 这样做:他们使用不同的技术,具体取决于哪些客户端位于防火墙后面等等。

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 2018-03-18
      • 2020-08-30
      • 2012-04-11
      • 2016-07-08
      • 2010-09-08
      • 2022-01-18
      • 2019-09-09
      • 2015-10-20
      相关资源
      最近更新 更多