NAT 和子网划分解决了两个不同的问题。
问题 1:以前 IP 地址分为 A、B 和 C 类。C 类地址的默认子网掩码为 255.255.255.0,这意味着 24 位决定哪个网络,最后 8 位用于主机。使用 8 位主机,您可以拥有 2^8 - 1 = 254 个属于同一网络的 IP 地址。
从历史上看,不建议在同一网络上拥有超过 250 个左右的 IP,因为广播会淹没网络,这意味着 B 类网络(默认子网掩码为 255.255.0.0,主机为 16 位)拥有太多地址对于单个网络。对于 A 类网络更是如此。
此外,大多数时候我们需要许多只有几台主机的小型网络,这就是我们进行子网划分的原因。子网划分基本上是移动地址的主机和网络部分之间的边界。因此,通过减少每个网络上的地址数量,您可以增加网络数量。
问题 2 是,即使使用子网划分,我们的地址太少,每个设备都无法获得自己的地址,这就是我们拥有 NAT 的原因。
NAT 或在这种情况下 PAT 的工作原理是通过映射到端口号让多个私有地址共享一个公共 IP 地址。
因此,在 IPv4 地址空间中,我们有一些保留的地址块,它们旨在在专用网络上本地使用,例如 192.168.0.0,子网掩码为 255.255.255.0。该网络可以同时在多个站点上使用,因为它们是私有的,不允许在 Internet 上使用。
所以当有私有IP的设备想要上网时,私有IP被映射到一个公共IP地址,加上一个端口号,这意味着本地网络上的多个设备可以共享一个公共IP。这扩展了可以访问 Internet 的设备数量。
如果服务器与您的 PC 位于同一网络上,它将与您的私有 IP 通信。如果服务器在 Internet 上,它将与您的路由器映射到您的私有 IP 的特定端口上的公共 IP 通信。