为什么Localhost IP为127.0.0.1?
全世界的极客都知道他们的本地主机为127.0.0.1,但是为什么在所有可用地址中为该本地主机保留了该特定地址?继续阅读以深入了解本地主机的历史。
图片由GMPhoenix提供;可在此处作为墙纸使用。
今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个子部门,它是Q&A网站的社区推动组织。
问题
超级用户读者Roee Adler对默认的localhost IP感到好奇,向社区提出了以下问题:
我想知道做出决定的根源是什么本地主机
的IP地址127.0.0.1
。的意义是什么127
?的意义是什么0.0.1
?
的确是什么意思?尽管您可能不知道这些问题的答案就能活出整个怪异的生活,但我们已准备好进行深入研究。
答案
几位贡献者竭尽全力回答Roee的问题,他们的每一项贡献都有助于我们进一步了解127.0.0.1是我们大家都如何称呼的地方。约翰·T写道:
127是A类网络中的最后一个网络号,其子网掩码为255.0.0.0
. 127.0.0.1
是子网中的第一个可分配地址。127.0.0.0
不能使用,因为那是线号。但是将其他任何数字用作主机部分应该可以正常工作,并恢复为使用127.0.0.1
。您可以通过ping自己尝试127.1.1.1
如果您愿意的话。他们为什么要等到最后一个网络号码才能实现此目的?我认为没有记录在案。
Hyperslug通过挖掘有关该主题的旧备忘录来进行一些档案侦查:
最早提到的127分配是环回,是雷诺和波斯特尔(Reynolds and Postel)于1986年11月发布的RFC 990:
如在“此网络”中一样,地址零将被解释为“此”。
例如,地址0.0.0.37可以解释为意味着该网络上的主机37。
…
为A类网络号127分配了“回送”功能,也就是说,由更高级别的协议发送到网络127地址的数据报应在主机内部回送。 “发送”到网络127地址的数据报不应出现在任何地方的任何网络上。
甚至早在1981年9月的RFC 790中,0和127都已经被保留:
000.rrr.rrr.rrr保留[JBP] ... 127.rrr.rrr.rrr保留[JBP]
0和127是1981年唯一保留的A类网络。0用于指向特定主机,因此留下127用于回送。
我知道这并不能回答问题,但这可以追溯到我能想到的最远的时候。选择1.0.0.0进行环回可能更有意义,但这已经提供给BBN分组无线网络。
虽然我们都知道并喜欢127.0.0.1作为本地主机,但值得注意的是,它永远不会成为本地主机。 127.0.0.1是在IPv4通信中如何指定本地主机的方式,随着IPv6逐渐接管,它将以一个更直观的数字来指定:0:0:0:0:0:0:0:1。
有什么要补充的解释吗?在评论中听起来不对劲。是否想从其他精通Stack Exchange的用户那里获得更多答案?在此处查看完整的讨论线程。