浏览器如何区分公共 IP 和私有 IP?

网络工程 IPv4 ip
2022-02-13 01:15:02

比如说我系统的私网IP是192.168.75.5,我想打开一个公网IP也是192.168.75.5的网站。现在,如果我在浏览器上输入 ip 并点击输入,我的本地系统就会出现。

浏览器怎么会知道我要打开的是公网ip 192.168.75.5而不是本地系统的网站。

4个回答

您不能有一个看起来像 192.168.XX 的公共地址,因为它们没有在 Internet 上路由。

阅读这篇文章

浏览器和几乎所有其他应用程序都不知道(或关心)地址是公共的还是私有的。对于浏览器来说,计算机和网络只是呈现一个数据流——这就是层的意义所在。

在网络层,IP 地址都是一样的——公共和私有的概念对计算机没有意义。从根本上说,地址要么在本地网络上,要么不在本地网络上——并且需要路由。

看来您的问题实际上是关于重复 IP 地址的。如果您的系统与远程系统具有相同的 IP 地址,它将始终选择自己,因为它认为自己拥有该 IP 地址,并且永远不会认为远程系统具有该 IP。

访问本地托管服务器的最佳方式是使用 127.0.0.1 IP 地址(本地主机环回)。检查外部托管服务器状态的最佳方法是直接导航到该页面的域名或 IP 地址。

IP 地址由 Internet 号码分配机构 (IANA) 定义。您的 ISP 可以向您出售他们通过当地互联网注册机构获得的地址。

在公司或家庭网络内部,为每台连接到互联网的设备购买 IP 地址是没有意义的。相反,专用网络使用一组特殊的 IP 地址供其内部使用,然后进行网络地址转换,以便所有内部专用 IP 地址共享相同的外部公共 IP 地址。

您可以使用三组私有 IP 地址:

 10.0.0.0        -   10.255.255.255  (10/8 prefix)
 172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
 192.168.0.0     -   192.168.255.255 (192.168/16 prefix)

这样,你的家庭网络可以使用192.168.1.1/24网络,你的邻居也可以使用192.168.1.1/24网络,但是当你们相互通信时,实际是你的公共IP地址通信端点。

话虽如此,192.168.75.5 永远不会是公共 IP 地址。此外,浏览器不会确定 IP 是“内部”还是“外部”网络,这发生在较低级别,当 TCP/IP 协议确定数据包上的网络 ID 是否与网络上的网络 ID 匹配时本地网段,或者是否必须将其转发到默认网关。