操作系统上 localhost 的确切含义是什么?

操作系统上 localhost 的确切含义是什么?

我看到的127.0.0.1是本地主机地址。但它是什么?它和我的本地适配器(如 LAN IP 地址或 WLAN IP 地址)有什么区别?它l27.0.0.1和我的 LAN 或 WLAN 网卡之间有什么联系吗?

答案1

127.0.0.1是属于 IANA 为环回使用而保留范围的 IP(完整范围是 127.0.0.1-127.255.255.255)。

环回网卡(始终是操作系统提供的虚拟网卡,而不是物理网卡)只会接收它收到的所有流量,然后将其从同一个虚拟网卡中直接抛出。就像适配器“连接到自身”一样。

您的环回 NIC 是它自己的网络适配器,并且不以任何方式连接到您的 LAN 或 WLAN NIC。

在某些操作系统上(例如 Linux 或 Cisco IOS,不确定 Windows 是否如此),您可以创建多个环回 NIC。127.0.0.1 是至少其中一个的标准(可能是事实上的),并且通常预计在具有此 IP 的任何支持 TCP/IP 的系统上至少存在一个环回 NIC。

这通常用于在本地系统上提供 TCP/IP 服务,而不向任何外部机器提供。

localhost通常位于您的/etc/hosts* 文件中,并分配给 IP 127.0.0.1。

您的系统通常会/etc/hosts在与外部 DNS 服务器通信之前先进行 DNS 名称解析。(这在 Linux 下是可以更改的)。

因此,如果您输入http://localhost,系统的 DNS 解析器将/etc/hosts在查询 DNS 服务器之前先找到该文件。它会选择 中的localhost 127.0.0.1条目/etc/hosts,因此与您输入 的效果相同http://127.0.0.1

因此,localhost在您的文件中,127.0.0.1 只是一个“域名” /etc/hosts。而且 127.0.0.1 几乎总是您的环回 NIC。


*在 Windows 上这实际上是c:\windows\system32\drivers\etc\hosts

答案2

127.0.0.1相当于说“我家”。这很有意义,但只对你有意义。当你的朋友说“我家”时,它指的是完全不同的房子。这意味着从你所在的地方到那里不需要任何信息。

局域网络(假设您使用的是典型的 DHCP 代理设置)相当于说“Alex 的卧室”。这只对您家中(在您的 LAN 上)的其他人有意义,但如果您在家中,每个人都可以进入 Alex 的卧室并知道在哪里找到它。但是,告诉镇上(互联网上的其他地方)的人在“Alex 的卧室”与您见面是行不通的;他们永远找不到它。Google 地图需要更多信息。

广域网 IP在这个例子中,它就像是你的街道地址。它足以让世界上的任何人找到你的前门。但是,除非你为他们提供特殊访问权限(端口转发/DMZ 主机),否则它无法让他们找到“Alex 的卧室”。

答案3

127.0.0.1是保留的 IP 环回地址。它用于测试您自己主机的通信或授予对主机上运行的网络服务的访问权限(例如 Web 服务器)。在此示例中,您的主机上运行着一个 Web 服务器。当您使用系统通过 Web 浏览器访问该服务器时,localhost系统会向自身发出网络请求(环回)。

它与 LAN 地址不同,因为 LAN IP 是由路由器上的 DHCP 分配的,可以从网络内部和外部访问和编辑。 情况并非如此,localhost因为它是所有系统上的通用常数。localhost地址在127.0.0.1

来源 -什么是什么
来源 -维基百科

相关内容