Nat 穿越:UPnP/IGD 与 NAT-PMP

发布于 10-10 06:34 字数 144 浏览 8 评论 0原文

我正在编写一个 P2P 应用程序,希望避免用户手动设置端口转发。

我有点困惑,因为似乎有两种不同的协议来配置 NAT,UPnP/IGD 和 NAT-PMP。我应该使用哪一个?所有 NAT 都支持它们吗?或者我应该同时支持两者以确保 NAT 至少支持其中之一?

I'm writing a P2P application and would like to avoid the need for users to manually set up the port forwarding.

I'm a bit confused since there seem to be two different protocols to configure a NAT, UPnP/IGD and NAT-PMP. Which one should I use? Are they both supported by all NATs? Or should I support both to make sure that at least one of them will be supported by the NAT?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

╰ゝ天使的微笑2024-10-17 06:34:34

NAT-PMP(现在的 PCP)是一项 ietf 草案,因此应该是您实施的草案。但是,为了兼容性,您应该允许您的应用程序静默回退到 UPnP/IGD,因为并非所有 NAT 设备都支持 PCP/NAT-PMP,并且许多旧设备仅支持 UPnP/IGD。

NAT-PMP (now PCP) is an ietf draft, so should be the one that you implement. However, for the sake of compatibility, you should allow your application to silently fallback to UPnP/IGD, as not all NAT devices support PCP/NAT-PMP, and a lot of the older devices only support UPnP/IGD.

℉絮湮2024-10-17 06:34:34

考虑使用 STUN 而不是 NAT-PMP 或 UPnP-IGD。它通常可以在任何地方工作,并且几乎肯定可以通过大型服务提供商 NAT 和 NAT64 工作。

Consider using STUN instead of either NAT-PMP or UPnP-IGD. It generally works everywhere, and will almost certainly work through large-scale service-provider NAT and NAT64.

话少情深2024-10-17 06:34:34

坚持UDP打洞。它适用于几乎所有路由器,除非两个客户端都位于 4G LTE 网络后面(这些网络通常具有随机端口分配)以及阻止所有 UDP 流量的路由器。如果需要可靠地发送数据,可以使用可靠的UDP。

Stick to UDP hole punching. It works on almost all routers except if both clients are behind 4G LTE networks (these often have random port allocation) and routers that block ALL UDP traffic. If you need to send data reliably, you can use reliable UDP.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文