127.0.0.1是一个十分有名的IP地址——你甚至可能在T恤上见过它。但它到底是什么,为什么这么有名?
互联网上的保留地址
互联网由数十亿台设施组成。它们应用IP地址互相辨认和通信,IP地址在概念上相似于电话号码。互联网协议版本4(IPv4)曾经应用了几十年,容许近43亿个这样的地址。IPv4的继任者IPv6领有超过10^38个可用地址——足以满足地球上的每一粒沙子、可观测宇宙中的每一颗恒星,以及每个人身材中的每一个原子的须要,每个人都有一个惟一的IP地址,还有很多残余地址。
只管当初有大量可用的IP地址,但为特定目标保留一些地址,甚至是地址范畴(通常称为块)是很不便的,以避免编程抵触。为特定目标保留地址能够很容易地为不同的IP地址建设个别规定和行为。与大多数互联网规范一样,保留IP地址是通过名为征求意见或RFC的文件建设的。
事实证明,让一台计算机与本人对话而不是与另一台计算机对话通常是有用的。为此,你须要一个具备一些独特属性的非凡保留IP地址——127.0.0.1。
什么是127.0.0.1
127.0.0.1是主机环回地址。主机环回指的是,地址为127.0.0.1的数据包不应来到计算机(主机)发送,而不是发送到本地网络或internet,它只是在本身上“环回”,发送数据包的计算机成为收件人。 RFC1122明确指出“外部主机环回地址。这种模式的地址不得呈现在主机之外。” 因而,拾取定向到127.0.0.1的流量的路由器应该立刻抛弃数据包。这可确保没有专门用于主机上的流量进入Internet。 尽管它是最常见和最驰名的,但127.0.0.1只是一个大块中的一个地址,127.0.0.0–127.255.255.255,在RFC6890中保留用于环回目标。 IPv6也有一个环回地址。齐全写出它是0000:0000:0000:0000:0000:0000:0000:0001,但为了不便起见,它通常被截断为::1。
如何应用127.0.0.1
那么为什么要让数据包循环回同一台计算机呢? 有一些常见的用例。 第一个是测试目标——如果你最终打算通过LAN或Internet托管服务器或网站,你能够在同一台计算机上运行服务器和客户端,以确保所有根底首先失常工作。例如,如果你在本地计算机上托管了一个专用的Minecraft服务器,你能够通过输出127.0.0.1作为IP地址来连贯到它。这同样实用于简直所有本地托管的服务器。打消与网络相干的复杂性,例如端口配置和提早问题,能够进步故障排除过程的效率。
你也可能只想在本地设施上运行只有你能够拜访的服务。这在自托管社区中绝对常见——将服务不必要地裸露给外部设备和威逼是没有意义的。 hosts文件可用于指定与给定域名对应的IP地址。从性能上讲,这使你能够在hosts文件中应用127.0.0.1来阻止Web流量。例如,如果你通知你的计算机在127.0.0.1上查找facebook.com,它将无奈连贯,从而无效地阻止它,除非你记住了facebook.com的理论IP。
什么是本地主机
在大多数状况下,localhost只是默认状况下援用127.0.0.1的简写。但它能够更改——如果你编辑你的主机文件,你能够让localhost援用任何127.XXX保留地址。你还能够创立其余localhost,例如localhost2,例如能够援用127.0.0.2。
随着IPv6被更快地采纳,可能越来越多的设施将应用::1作为默认环回地址。然而,127.0.0.1曾经应用了几十年,并且在可预感的将来仍将持续应用。
发表回复