【发布时间】:2019-08-16 22:37:48
【问题描述】:
有一种软件使用随机私有动态端口提供对等连接,该软件将获取用户的公共 IP 地址和端口信息,并为每个用户的公共 IP 地址存储其特定的唯一源 IP 和端口。
例如:为了让源 IP 连接到目标 IP,它将从已经存储目标信息的 IP/端口的软件服务器中检索该信息,例如 IP:111.222.333.444 端口:56344,然后成功启动与目标 IP 的连接,在这种情况下大部分时间都应该工作。
为了让事情变得更复杂,假设用户路由器的 NAT 类型设置为对称 NAT,在这种情况下,用户网络信息将作为预定义的源 ip/端口存储在软件中,但由于对称 NAT 的性质有效,在创建与目标 IP 的连接会话时,它不会是相同的启动源 IP/端口,因为它将完全使用不同的源 IP 和端口,并且与预先保存的软件服务器保存的预定义源 IP/端口相矛盾,因此加入会话将失败。
理论上,拥有 Full Cone NAT 路由器的用户应该能够与拥有 Symmetric NAT 路由器的用户通信,因为它将允许任何源/目标端口的任何传入连接。
综上所述,值得一提的是,该软件建议打开端口 3074 以使其正常工作。问题是:如果这个特定端口对 Symmetric NAT 用户(没有端口转发)不起作用,那么为什么软件首先会建议它?
【问题讨论】:
标签: router p2p portforwarding nat