127.0.0.1和0.0.0.0和localhost和本机IP易混点辨析

简单对比:

127.0.0.1和0.0.0.0和localhost和本机IP易混点辨析_第1张图片

127.0.0.1

127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
127.0.0.1 这个地址通常分配给 loopback 接口。loopback 是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback 就能工作。Windows 中看不到这个接口,Linux中这个接口叫 lo:
127.0.0.1和0.0.0.0和localhost和本机IP易混点辨析_第2张图片
如果我们可以ping通的话,就说明:本机的网卡和IP协议安装都没有问题。(跟我们当前主机有没有联网没有一点关系)
127.0.0.1和0.0.0.0和localhost和本机IP易混点辨析_第3张图片

0.0.0.0

IPV4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。

  • 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。
  • 在路由中,0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。

用途总结:
当一台主机还没有被分配一个IP地址的时候,用于表示主机本身。(DHCP分配IP地址的时候)
用作默认路由,表示”任意IPV4主机”。
用来表示目标机器不可用。
用作服务端,表示本机上的任意IPV4地址。

localhost:

首先 localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址。在操作系统支持 ipv6 后,它同时还指向ipv6 的地址 [::1]
localhost也叫local ,正确的解释是:本地服务器
localhost(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。

在 Linux 中,其定义位于 /etc/hosts 中:127.0.0.1 localhost注意这个值是可修改的,比如我把它改成192.068.206.1 localhost然后再去 ping localhost,提示就变成了PING localhost (192.168.206.1) 56(84) bytes of data.
127.0.0.1和0.0.0.0和localhost和本机IP易混点辨析_第4张图片

本机地址:

“本机地址”并不是一个规范的名词。通常情况下,指的是“本机物理网卡所绑定的网络协议地址”。由于目前常用网络协议只剩下了IPV4,IPX/Apple Tak消失了,IPV6还没普及,所以通常仅指IP地址甚至ipv4地址。
本机地址是与具体的网络接口绑定的。比如以太网卡、无线网卡或者PPP/PPPoE拨号网络的虚拟网卡,想要正常工作都要绑定一个地址,否则其他设备就不知道如何访问它。

你可能感兴趣的:(127.0.0.1和0.0.0.0和localhost和本机IP易混点辨析)