原创:花括号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
。
推荐阅读
原创:花括号MC(微信公众号:huakuohao-mc)。关注JAVA基础编程及大数据,注重经验分享及个人成长。