我正在开发一个服务器应用程序,我想知道是否有一些数字(或人们的经验)表明 Internet 上 NAT 后面有多少台计算机?
由于我的应用程序应该是一台小型服务器,因此被迫使用外部服务器实现 UPNP 支持和 TCP 打洞可能会动摇我的决心,特别是如果超过 80% 的互联网位于 NAT 之后。
答案1
我不会像 99% 那样悲观。在欧洲和美国的一些地区,家庭规模相当小,因此,如果你想接触单身人士,你可能比接触家庭(尤其是有青少年孩子的家庭)有更好的机会。此外,至少有一个瑞典 ISP 调制解调器固件默认在第一个连接的主机上进行端口转发。
但是,考虑到 IPv4 趋势强烈指向随着时间的推移 NAT 的增加,因此影响力仍然是必要的。
还请注意,移动运营商通常会直接阻止入站 TCP 连接尝试。如果您有移动方面的打算,则所有 TCP 连接启动都需要来自移动端。
答案2
可以肯定地说,目前最常见的 ISP 互联网连接都使用 NAT,这样一来,一个家庭就可以共享一个公共 IP,大约 99% 的无线路由器可能也是这样工作的
有了 IPv6,这不会成为问题,但我怀疑 6 个月后它是否还会如此普及
答案3
值得一看的是泰雷多。如果您可以通过编程启用它,那么它将为您执行端口转发和打洞。它基本上通过 IPv4 路由 IPv6 并支持直接连接。
它在 Windows 中原生支持,并且可以在 Linux 上启用(但我还没有尝试过)。