我正在开发一个服务器应用程序,我想知道是否有一些数字(或从人的经验)在互联网上的NAT后面有多less台计算机?
由于我的应用程序应该是一个小型的服务器,被迫执行UPNP支持和TCP与外部服务器打孔可能影响我的决心,尤其是如果超过80%的互联网在NAT后面。
我不会像99%那么悲观。 在欧洲和美国的一些地区,家庭规模相当小,所以如果你想达到单身,你可能比如果你想达到家庭(尤其是与十几岁的孩子)有一个更好的机会。 此外,至less有一个瑞典ISP调制解调器固件默认在第一台连接的主机上进行端口转发。
但是,由于IPv4趋势强烈地指向随着时间的推移而增加的NAT,所以摆动依然是有序的。
另外请注意,移动运营商很简单地阻止入站TCP连接尝试。 如果你有移动愿望,所有的TCP连接启动都需要来自移动端。
它可能是安全的假设,目前最常见的isp互联网连接使用NAT,使一个家庭可以共享一个公共的IP等等这大概有99%左右的无线路由器工作箱
与IPv6不会是一个问题,但我怀疑这将是在6个月的时间内普遍
有一点值得一看的是Teredo 。 如果你可以以编程方式启用它,那么它会为你做端口转发和打孔。 它主要通过IPv4路由IPv6,并支持直接连接。
它在Windows中本地支持,可以在Linux上启用(但我没有尝试过)。