有一种软件可以使用随机私有动态端口提供对等连接,该软件将获取用户的公共IP地址和端口信息,并为每个用户的公共IP地址存储其特定的唯一源IP和端口。
例如:为了使源IP连接到目标IP,它将从已经存储了ip / port的目标信息的软件服务器检索该信息,例如IP:111.222.333.444端口:56344,然后成功启动与目标IP的连接,这种连接在大多数情况下应该可以正常工作。
为了使事情更复杂,假设用户路由器的NAT类型设置为对称NAT,在这种情况下,用户网络信息将作为预定义的源ip /端口存储在软件中,但是由于对称NAT的性质可以,当与目标IP建立连接会话时,它不会是同一启动的源IP /端口,因为它将完全使用不同的源IP和端口,并且与软件服务器保存的预先保存的预定义源IP /端口相矛盾,因此加入会话将完全失败。
理论上,具有Full Cone NAT路由器的用户应该能够与具有Symmetric NAT路由器的用户通信,因为它将允许任何源/目标端口的任何传入连接。
在说了这么多之后,值得一提的是,该软件建议打开端口3074,使其正常工作。问题是:如果此特定端口对对称NAT用户不起作用(该端口未进行转发),那么为什么软件首先建议使用此端口?
答案 0 :(得分:0)
UPnP IGD v1 / v2,NAT-PMP和PCP是允许专用网络主机请求端口由网关设备转发给它们的协议。为此,网关设备显然必须至少支持这些协议之一。它通常是可用的(以促进其他原因的联网游戏),但并非在许多消费类设备中始终启用。由于安全策略,在企业环境中不太可能找到它
此外,网关还可以将这些端口转发请求转发到ISP的CGNAT,例如当它位于DSlite AFTR后面时。
对于全锥面(也称为endpoint independent mappings),您可以简单地使用UDP hole punching。这不适用于对称NAT(又称地址和端口相关映射)。
您还可以尝试使用IPv6,因为它不会受到NAT的影响,但是网关仍然可以实施默认情况下阻止传入连接的防火墙,从而导致类似的连接问题。
答案 1 :(得分:0)
如果全锥NAT背后的客户端使用相同的端口进行传出和传入连接,
并且最近也尝试进行传出连接或已经与任意客户端建立了连接,
对称NAT后面的客户端可以通过该端口进行连接。
成功进行端口转发将使该特定客户端的NAT问题消失,并且任何其他(经过NAT转换)的客户端都可以连接到该客户端。