我在参加一个计算机夏令营,我发现连接到网络的每台设备都有不同的公共 IP,这让我非常惊讶。更奇怪的是,他们的公共 IP 与私有 IPv4 地址完全相同。这怎么可能呢?
答案1
它们拥有一个 IP 范围,并使用该范围直接连接到 WAN(互联网),而不是隐藏在 NAT(网络地址转换)后面。基本上,NAT 是为缺乏足够的公共 IP 地址供网络中的所有计算机使用的环境而设计的,因此所有计算机都可以隐藏在(一个或多个)公共 IP 地址池后面。如果每台计算机至少有一个公共 IP 地址,那么使用 NAT 就是一个选择问题。
答案2
回到过去(在公共互联网诞生于1991),例如NAT并不常见,大多数操作员没有使用RFC1918地址。他们并没有像今天通常做的那样将互联网划分为公共空间和私人空间。
早期,公司通过预留整个 /8 网络(每个网络由 16,777,216 个离散地址组成)来获取大量公共 IP 地址块。美国国防部拥有 13 个这样的地址块。请参阅此处了解 /8 地址块的知名所有者:https://en.wikipedia.org/wiki/List_of_assigned_/8_IPv4_address_blocks#List_of_assigned_.2F8_blocks
多年来,新注册者一直无法获得如此规模的区块,原因是IPv4 地址空间耗尽因此需要使用 NAT 和 RFC1918 网络等技术来限制网络访问所需的公共 IP 数量。然而,大型组织仍然持有自己的地址块,因此他们可以自由地自己使用,或者租将其分享给其他人。
答案3
互联网就是这样的应该上班。
人们开始使用私有地址范围和 NAT,因为备用 IP 地址数量开始用完。然后人们发现使用 NAT 比使用适当的防火墙更容易,尽管它实际上并不是为此而设。
如果您可以获取 IP 地址并根据需要配置适当的防火墙,那么这是一种非常好的工作方式。随着 IPv6 的发展,希望它能变得更加普遍
答案4
一台计算机不可能拥有相同的公有和私有 IPv4 地址。它要么是私有 IP,根据RFC1918) 范围为 192.168.xxx.xxx、172.16.xxx.xxx 或 10.xxx.xxx.xxx,或者是公共 IP,即任何其他地址。
编辑:是的,我知道你能在局域网中使用公有 IP 地址。但是,没有人会这样做,因为标准和你无法在互联网上访问这些地址。我也知道除了公有和私有之外还有其他地址空间,但同样,没有人使用那些这样你就不会遇到它们。
每台计算机都有可能拥有不同的公共 IP 地址。这仅仅意味着无论您身在何处,都购买了多个 IP 地址的权利,并且其路由器配置为向每台计算机分配一个 IP 地址。如果您愿意,您甚至可以在家中这样做。
假设您所说的每台计算机都具有相同的公用地址和私有地址是正确的,我猜每台计算机都只有一个公用地址。要实现这一点,机构所要做的就是购买多个地址的使用权,并配置其 DHCP 服务器,为每台计算机提供指定范围内的地址。