网络地址转换 (NAT) 设备后面可以 运行 多少台设备?

How many devices can run behind a Network Address Translation (NAT) device?

我在网络课程(CS144,斯坦福大学)中学习网络地址转换设备。

他们描述了 NAT 的工作原理是将本地 IP 地址和相应的应用程序端口号映射到 NAT 的外部 IP 并(由 NAT)为该连接分配端口号。

假设NAT 只有一个外部IP 地址。我的问题如下:

既然这里的internet和NAT之间的连接数瓶颈是端口号的限制(最多可以达到65535),那么这是否限制了应用程序的数量(运行宁在各种NAT后面的设备)可以上网的设备,以及NAT后面可以运行的设备数量?

如果是,如何增加这个限制,使NAT后面可以有无限的设备?

我发现这个问题有些清楚了。 65535 的限制是每个 public 每个远程主机的 ip。

https://serverfault.com/questions/541699/nat-gateway-maximum-connection-limit

这是个好问题。

正如您所说,NAT 受端口号限制。但问题是该协议使用了一个元组,例如:内部 IP、内部端口、外部 IP、外部端口和协议。

因此,如果我们只有一个外部 IP,则端口号 (65536) 和协议 (TCP/UDP) 将受到限制。由于我们只能映射到65546 * 2个外部端口和协议,这是内部连接的限制。

如果你想打破限制,也许最好增加外部IP地址的数量。