我几乎确信这里的每个人都知道 127.0.0.1 的含义。但是,为什么它总是 localhost?谁选择了这个任意 IP?为什么选择这个 IP?为什么不是更简单的 IP,例如 1.0.0.0?127.0.0.1 有什么特殊含义吗?
答案1
乔恩·波斯特尔選了 127。
之前互联网号码分配机构接手 (RFC 3232)在他去世前后(RFC 2468),他是互联网地址和端口分配的“权威”,基本上是提名自己来承担这项任务。(RFC 349)
早在 20 世纪 80 年代初,当我们所熟知的 IPv4 首次被提出时,现有网络被赋予了 32 位地址空间中的“A 类”地址块,这些地址块将于 1983 年生效(RFC 801)。您询问的初始分配和 127 分配,以及“A 类”、“B 类”和“C 类”IP 地址的第一个定义,都是在 Postel 的RFC 790。(请注意,“类”已被取代跨域路由在RFC 1519, 现在RFC 4632。
在 RFC 790 中,Postel 将 127 定义为“保留”。
127.rrr.rrr.rrr Reserved [JBP]
它的第一个正式定义出现在RFC 990,其定义如下:
A 类网络号 127 被赋予了“环回”功能,也就是说,由更高级别协议发送到网络 127 地址的数据报应在主机内部环回。“发送”到网络 127 地址的数据报不应出现在任何网络上。
再次RFC 1060:
(g){127,<任意>}
内部主机环回地址。不应出现在主机外部。
因此,127.0.0.0/8 内的任何地址都将被视为环回并被路由回本地主机。
目前特殊用途 IPv4 地址列表如下RFC 6890,这淘汰了RFC 5735,这反过来又淘汰了RFC 3330RFC 5735 规定:
127.0.0.0/8 - 此地址块指定为 Internet 主机环回地址。由高级协议发送到此地址块内任意地址的数据报都会在主机内环回。这通常仅使用 127.0.0.1/32 进行环回。如[RFC1122],第 3.2.1.3 节,整个 127.0.0.0/8 块内的地址不能合法出现在任何地方的任何网络上。
最后,在任何IPv4 子网,最低地址不可用,因为它代表网络路由。因此子网中第一个可用地址(因此最常见的地址)是 127.0.0.1。