据我所知,两台计算机不能拥有相同的公共(外部)IP 地址。除非这两台计算机通过同一路由器连接,否则它们可以拥有(共享)相同的公共 IP 地址,并拥有不同的私有(本地)IP 地址。
情况
我的朋友和我都在使用互联网服务提供商“X”。我们俩的用户名和密码都不同(连接不同),但我们使用的 ISP 是相同的。但我们的公共 IP 地址却相同!这怎么可能呢?当我们都用 Google 搜索“我的 IP 是什么”时,我们得到的112.133.229.29
是公共 IP 地址,而我的路由器上显示的是10.1.102.93
。
和
我在我的电脑上安装了一个 Apache 网络服务器。我知道可以通过我的电脑的公共 IP 访问 Apache 服务器。但就我而言,我没有唯一的公共 IP 地址。所以这是不可能的。没有人可以通过这个公共 IP 访问我的电脑http://112.133.229.29/index.html
我的朋友(使用相同的 ISP)可以通过此地址访问我的电脑:http://10.1.102.93/index.html
,他的路由器的 IP 是10.1.101.29
。
我们有一些常见的 ISP DNS 吗?
如果另一个朋友尝试使用此链接通过 Y 互联网服务提供商访问我的电脑,http://10.1.102.93/index.html
他将无法访问。
我的 ISP 是如何做到这一点的?我对任何服务器的请求都与我的公共 IP 绑定,然后服务器根据公共 IP 响应请求。但我们都有相同的公共 IP。
答案1
嗯,正如 DavidPostill 26 分钟前所说的那样,您的 ISP 在将您的流量路由到互联网之前在其路由器上使用 NAT。
这意味着,基本上,您和您 ISP 内的其他客户端都处于一个大型城域网 (MAN) 中,就像您的家用路由器创建局域网 (LAN) 一样,但规模更大。
你的 ISP 为什么要这么做?
嗯,答案很简单;1) 他们希望,2) 或者需要使用较少数量的公共 IPv4,可能是因为他们的客户比公共 IPv4 多。
您可能知道,免费 IPv4 池几年前就已耗尽。正在发展的运营商无法获得新的 IPv4 子网,除非从其他地方关闭的 ISP 购买。
解决方案是使用 IPv6,但显然需要更改大量网络设备、重新配置网络……投入时间和金钱!因此,对他们来说,构建大型城域网更容易、更快捷。
您可以打电话给他们询问有关获取专用 IPv4 的事宜,但他们可能会要求您额外付费。