【问题标题】:Get Public IP and port获取公共 IP 和端口
【发布时间】:2016-04-27 21:42:16
【问题描述】:

在稍微使用 WebRTC 的过程中,我已经了解了 NAT 和 STUN 是什么东西,并且我正在测试我对这一切是如何工作的理解。

这是link,您可以在其中获取远程地址和端口以及本地地址。

例如: 我的本地 ip:port 是

192.168.1.2:4500

我的互联网提供商会将其翻译成

209.200.1.2:14500

并且会像这样存储翻译表

|209.200.1.2:14500|192.168.1.2:4500|

这实际上意味着当连接到 209.200.1.2:14500 时,它被转发到 192.168.1.2:4500。

假设我对 NAT 有正确的理解,我希望当我设置侦听端口 4500(本地)上的传入连接时,有人将能够通过 209.200.1.2:14500 连接到它,但它没有发生(无法建立连接)为什么?

非常感谢您的帮助。

【问题讨论】:

    标签: udp webrtc nat stun


    【解决方案1】:

    NAT 仅适用于传出连接。 NAT 路由器不会自动意识到私有 IP 上的机器开始侦听端口,并且通常没有保证 NAT 路由器的公共 IP 端口和私有 IP 端口之间的对应关系。此外,NAT 路由器不可能正确地将传入的 tcp/ip 连接数据包 (SYN) 中继到私有 IP,因为完全不知道它们打算用于哪个私有 IP。

    但是,有一种称为hole-punching 的技术可以实际发挥作用。它们通常需要具有非 NAT 地址的第三方服务器在两个端点之间进行调解以建立连接,然后大部分 tcp/ip 交换发生在原始两台主机之间。

    【讨论】:

      猜你喜欢
      • 2019-02-08
      • 2020-07-24
      • 1970-01-01
      • 2013-06-09
      • 2013-09-10
      • 2016-08-18
      • 2020-12-15
      • 2020-07-11
      • 1970-01-01
      相关资源
      最近更新 更多