我看到的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 的卧室”。