目录
- 背景
- 第一部分 三种
IP介绍 - 第二部分
localhost - 参考文献及资料
背景
在我们配置服务监听地址的时候,会面对服务器上三种”IP“:
- 本机
IP。例如:192.168.1.1、8.8.8.8; - 0.0.0.0地址;
- 127.0.0.1地址;
那么这三种在使用上有哪些区别呢?本文将总结介绍。
第一部分 三种IP介绍
1.1 本机IP
对于linux系统,我们输入ifconfig命令会回显一个eth0网卡信息:
1 | eth0 Link encap:Ethernet HWaddr 98:3f:9f:18:25:97 |
这就是有线网卡的信息。如果有无线网卡还会有一个wlan网卡信息。这是局域网给计算机分配的局域网唯一的IP。如果计算机直接接入互联网,会分配一个公网IP(互联网唯一IP)。
这个IP用于和局域网或互联网中其他机器通信的唯一IP,即网络中唯一标识。
1.2 0.0.0.0地址
0.0.0.0表示“本地计算机上的所有IP地址”(所有IPv4地址)。因此,如果服务器有两个IP地址:192.168.1.1和8.1.2.1。如果这时候如果我们在服务器上开启一个http服务(端口8080),配置文件中监听地址为:0.0.0.0。那么我们可以通过下面两个url访问服务:
但是我们如果监听地址配置成192.168.1.1,那么http://8.1.2.1:8080就无法访问服务了。
1.3 127.0.0.1地址
对于linux系统,我们输入ifconfig命令会回显一个lo网卡信息:
1 | lo Link encap:Local Loopback |
127.0.0.1地址分配给 loopback 接口,也称为回环地址(loopback address)。用来测试本机的 TCP/IP 协议栈。loopback是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback 就能工作。
如果我们服务监听的地址配置成127.0.0.1,那么只能本机服务能访问了。
第三部分 localhost
localhost是一个域名,而不是一个ip地址。localhost域名配置在本地DNS中,即/etc/hosts文件中定义,例如:
1 | 127.0.0.1 localhost |
例如我们ping localhost,就会解析成127.0.0.1地址。
1 | root@deeplearning:# ping localhost |
如果我们服务监听的地址配置成localhost,那么会根据/etc/hosts中的配置,解析成127.0.0.1地址。这时候也只能本机服务能访问了。
参考文献及资料
1、0.0.0.0地址,链接:https://en.wikipedia.org/wiki/0.0.0.0
