0.0.0.0 与 127.0.0.1的区别

2022-03-29 21:28:26 浏览数 (1)

0.0.0.0 与 127.0.0.1的区别

一、总结

一句话总结:

a、0.0.0.0:它表示的是这样一个集合:所有不清楚的主机和目的网络。
b、255.255.255.255:限制广播地址,这个地址不能被路由器转发。
c、127.0.0.1:本机地址,在Windows系统中,这个地址有一个别名“Localhost”

二、0.0.0.0 与 127.0.0.1的区别

一、0.0.0.0

严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。

二、255.255.255.255

限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。如果翻译成人类的语言,应该是这样:“这个房间里的所有人都注意了!”这个地址不能被路由器转发。

三、127.0.0.1

本机地址,主要用于测试。用汉语表示,就是“我自己”。在Windows系统中,这个地址有一个别名“Localhost”。寻址这样一个地址,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。

二、127.0.0.1、0.0.0.0和本机IP地址的区别和使用

一、表面上的区别如下:

首先假设本机有多个网卡:eth0 :192.168.0.1 eth1:192.168.1.1 lo: 127.0.0.1

0.0.0.0 不能ping通,代表本机所有的IP地址;

监听127.0.0.1,创建Socket,那么用本机地址建立tcp连接不成功,反过来也是如此;也就是,监听时采用的地址为192.168.0.1,就只能用192.168.0.1进行连接。 而监听0.0.0.0创建Socket,那么无论使用127.0.0.1或本机ip都可以建立tcp连接,也就是不论通过127.0.0.1或192.168.0.1、192.168.1.1都能连接成功。 0.0.0.0建立tcp连接的时候也可以通过绑定IP_ADDR_ANY来实现。

那么问题来了,还回地址必须是127.0.0.1么?

答案:不是必须!IPv4 的环回地址是保留地址之一 127.0.0.1。尽管只使用 127.0.0.1 这一个地址,但地址 127.0.0.0 到 127.255.255.255 均予以保留。此地址块中的任何地址都将环回到本地主机中。此地址块中的任何地址都绝不会出现在任何网络中。

可以做一个简单的测试,用ssh root@127.2.3.4 然后登录看看是不是还是本机?不用修改ip,随意一个此范围内长度ip地址均可以ping通,并且通过ssh登录到本机。

二、事实上处理的区别,如下图:

他们是在数据链路层区别开的,路径很清楚,就不详述了。

0 人点赞