当我们设置IP地址为0.0.0.0时,是在表达什么

729 阅读3分钟

原创:花括号MC(微信公众号:huakuohao-mc),欢迎分享,转载请保留出处。

什么是IP地址

简单说IP地址是由32位二进制数组成的一串编码。但是因为32位二进制不好记忆,我们经常会用点分十进制方式来表示IP地址,也就是每八位二进制为一组,将其转换成成十进制,中间用点隔开。比如 11000000 10101000 00100000 00001010 转换为点分十进制为 192.168.32.10

IP地址作用

IP地址是用来做网络寻址用的。互联网上的每台设备都有一个唯一的IP,相当于你家的门牌号。当一台设备想和互联网上另外一台设备通信时,便是通过IP地址找到对方设备。更多的IP地址相关知识不在这里做过多的介绍,不是本文重点。

0.0.0.0

要想说明0.0.0.0这个IP 地址代表的含义,需要从两个方面来说明。

配置在计算机或者网络设备上

当在自己电脑上配置IP地址为0.0.0.0的时候,表示这台机器在网络上是不可达的。比如你的笔记本电脑在没有联网的时候,IP地址很可能是用0.0.0.0来标识,表示本机没有分配到一个可用的IP地址。除此之外,0.0.0.0 也经常用于在防火墙或者路由设备上设置网络策略时表示任何网络地址。

配置在软件的配置文件上

除了在硬件设备上,在提供网络服务的软件配置文件中,也经常见到binding的IP地址为0.0.0.0。比如Redis服务binding的地址,Tomcat服务bind的地址。当在应用程序配置文件中配置的binding地址为0.0.0.0的时候表示可以监听该服务器上所有网卡过来的信息。

很多服务器都是有双网卡的,比如其中一个网卡的IP地址为192.168.32.10,另一块网卡的IP地址是192.168.45.30。如果配置成0.0.0.0表示无论你从哪个IP地址访问这个服务都是OK的,甚至通过127.0.0.1这个环回地址来访问也是OK的。

相反如果在配置文件中,配置的IP是一个具体的IP,那么只能通过具体IP来访问,通过其他IP没办法访问。比如你配置的是127.0.0.1或者192.168.32.10,那么通过192.168.45.30,就访问不到对应的服务。

127.0.0.1

127.0.0.1也被称为环回地址,所谓的环回地址是指,该地址只能被本机访问,并且发往127.0.0.1的数据报不经过物理层和链路层。直接经过网络层,传输层到应用层。

总结

0.0.0.0 一般用作占位IP,比如在不确定该服务或者机器应该使用哪个具体IP时,用0.0.0.0来表示,当知道具体IP时,建议换成具体IP

推荐阅读

1. Java并发编程那些事儿(十)——最后的总结

2. Nginx:不管正向还是反向我通通代理

3. Awk这件上古神兵你会用了吗

4. 手把手教你搭建一套ELK日志搜索运维平台

原创:花括号MC(微信公众号:huakuohao-mc)。关注JAVA基础编程及大数据,注重经验分享及个人成长。