我几乎肯定每个人都知道127.0.0.1的含义。但是,那为什么总是localhost?谁选择了那个任意IP?为什么选择该IP?为什么不做一些更简单的事情,例如1.0.0.0?127.0.0.1有一些特殊含义吗?
我几乎肯定每个人都知道127.0.0.1的含义。但是,那为什么总是localhost?谁选择了那个任意IP?为什么选择该IP?为什么不做一些更简单的事情,例如1.0.0.0?127.0.0.1有一些特殊含义吗?
Answers:
乔恩·波斯特尔(Jon Postel)选择了127。
在Internet分配号码授权机构(RFC 2468)去世之前(RFC 3232)接管其工作之前,他是Internet地址和端口分配的“沙皇”,实际上已经提名了自己担任此项职务。(RFC 349)
早在1980年代初期,当我们首先众所周知的IPv4被淘汰时,现有网络就在32位地址空间中获得了“ A类”地址块,该地址块将于1983年生效(RFC 801)。您要求的初始分配和127分配,以及“ A类”,“ B类”和“ C类” IP地址的第一个定义都首先发布在Postel的RFC 790中。(请注意, “类”被取代CIDR在RFC 1519,现在RFC 4632)。
在RFC 790中,Postel将127定义为“保留”。
127.rrr.rrr.rrr Reserved [JBP]
它的第一个正式定义出现在RFC 990中,其定义如下:
A类网络号127被分配了“回送”功能,也就是说,由更高级别的协议发送到网络127地址的数据报应在主机内部回送。“发送到”网络127地址的数据报不应出现在任何地方的任何网络上。
再次在RFC 1060中:
(g){127,<any>}
内部主机环回地址。切勿出现在主机外部。
因此,127.0.0.0/8内的任何地址都应视为环回,并路由回本地主机。
当前的特殊用途IPv4地址列表是RFC 6890,它已废弃RFC 5735,而后者又已废弃RFC 3330。RFC 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。
从RFC:
127.0.0.0/8-此块分配为用作Internet主机回送地址。由更高层协议发送到该块内任意位置的地址的数据报应在主机内部循环。通常,仅使用127.0.0.1/32进行环回即可实现此功能,但是此块内的任何地址都不得出现在任何网络上的任何地方[RFC1700,第5页]。
来自维基百科:
与所有IP地址一样,定义同义的主机名只会使人类用户的生活更轻松-本地主机是网络先驱者的别名。
另请注意,二进制文件中的127是01111111,即反转和反转的值1(00000001)
10000000 (128)
是not
的01111111 (127)
。“相反”不是按位操作,在这种情况下没有任何意义。