127.x.y.z 但不是 127.0.0.0?

问题描述

当我发现 this question 时,我正在寻找 this comment

我家是127.1.2.3,哈!事实上所有以“127”开头的东西。解析到本地主机。 – TToni Jan 27 '11 at 23:30

我通过转到 http://127.1.2.3http://127.174.199.127 以及其他所有指向 http://localhost 的随机 URL 来尝试此操作

其中之一除外:http://127.0.0.0

等了一段时间后,我得到了

无法访问此站点

127.0.0.0 响应时间过长。

错误代码ERR_CONNECTION_TIMED_OUT

无法访问 http://127.0.0.0 有什么特别之处?


另一件事:类似的事情发生在 http://127.255.255.255

无法访问此站点

位于 http://127.255.255.255/ 的网页可能暂时关闭,或者可能已永久移至新网址。

错误代码ERR_ADDRESS_INVALID

注意:这会立即发生,这意味着无需等待大约 10-15 秒

解决方法

与许多与 IP 相关的事物一样,127.0.0.0 是“网络”地址,因此任何主机都不应声明它。

子网定义为127.0.0.0/8127.0.0.0,网络掩码为255.0.0.0,表示网络地址为127.0.0.0,广播地址为127.255.255.255,两者都是保留的。

对于任何给定的子网,第一个地址被视为网络,最后一个地址被视为广播。余数是主机地址。

对于较小的子网,例如 /24 (255.255.255.0),范围成比例地更小,而对于一些像 /29 的子网,范围更小。任何较小的都是愚蠢的,因为你最终只会得到一个网络和广播地址,它不是一个可用的子网。

注意:/32 不是子网,它仅用作对防火墙规则等内容表示“主机地址”的一种方式。

许多 IP 堆栈响应任何有效的 127.0.0.0/8 地址,而不仅仅是 127.0.0.1,但它们不会响应网络地址。

换句话说,主机地址的有效 IP 范围是 127.0.0.1127.255.255.254