0.0.0.0
首先,0.0.0.0是不能被ping通的。0.0.0.0称为“unspecified”,即未指定(即无效的,无意义的)地址。
从功能上看,一般用于某些程序/网络协议中不便使用具体ip的特殊情况,比如DHCP客户端还未获取到ip的时候规定使用0.0.0.0作“源地址”。
在服务器中.0.0.0.0并不是一个真实的的IP地址,它表示本机中所有的IPV4地址。
例子:
假设机器1中sever监听0.0.0.0,机器1中有ip:192.168.11.111、192.168.10.128。
则机器1中的client访问此server时可以通过127.0.0.1、192.168.11.111、192.168.10.128访问到此sever,机器2的client可以通过192.168.11.111、192.168.10.128访问到机器1的server。
假设:一个tomcat监听的IP地址设置了 0.0.0.0 就表示你的这个tomcat服务器监听在本机的所有IP地址上,通过任何一个IP地址都可以访问到。
如果本地的IP地址有 192.168.1.10、172.16.2.10,那么访问你这个tomcat就可以 http://192.168.1.10:8080/ 、http://172.16.2.10:8080/ 都可以访问。
127.0.0.1
先知道一个概念,凡是以127开头的IP地址,都是回环地址(Loop back address)。所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。
127.0.0.1属于{127,}集合中的一个,而所有网络号为127的地址都被称之为回环地址,所以回环地址!=127.0.0.1,它们是包含关系,即回环地址包含127.0.0.1。
使用
- 回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。
- 用于本机app测试。
localhost
localhost是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为是同一个是因为我们使用的大多数电脑上都讲localhost指向了127.0.0.1这个地址,但localhost的意义并不局限于127.0.0.1。
localhost是一个域名,用于指代this computer或者this host,可以用它来获取运行在本机上的网络服务。
在大多数系统中,localhost被指向了IPV4的127.0.0.1和IPV6的::1。
127.0.0.1 localhost
::1 localhost