Fork me on GitHub

操作系统三种IP区别总结

目录

  • 背景
  • 第一部分 三种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
2
3
4
5
6
7
8
eth0 Link encap:Ethernet  HWaddr 98:3f:9f:18:25:97  
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::519e:af46:9443:4f0d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:431456 errors:0 dropped:0 overruns:0 frame:0
TX packets:248421 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:405352090 (405.3 MB) TX bytes:35380000 (35.3 MB)

这就是有线网卡的信息。如果有无线网卡还会有一个wlan网卡信息。这是局域网给计算机分配的局域网唯一的IP。如果计算机直接接入互联网,会分配一个公网IP(互联网唯一IP)。

这个IP用于和局域网或互联网中其他机器通信的唯一IP,即网络中唯一标识。

1.2 0.0.0.0地址

0.0.0.0表示“本地计算机上的所有IP地址”(所有IPv4地址)。因此,如果服务器有两个IP地址:192.168.1.18.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
2
3
4
5
6
7
8
lo        Link encap:Local Loopback  
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:415 errors:0 dropped:0 overruns:0 frame:0
TX packets:415 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37794 (37.7 KB) TX bytes:37794 (37.7 KB)

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
2
root@deeplearning:# ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.

如果我们服务监听的地址配置成localhost,那么会根据/etc/hosts中的配置,解析成127.0.0.1地址。这时候也只能本机服务能访问了。

参考文献及资料

1、0.0.0.0地址,链接:https://en.wikipedia.org/wiki/0.0.0.0

2、IP地址,链接:https://zh.wikipedia.org/zh/IP%E5%9C%B0%E5%9D%80

0%