0.0.0.0和127.0.0.1的区别

建议参考下面两篇文章一起学习:1、Flask run 运行环境、调试器、重载器_小刘学安卓的博客-CSDN博客 

中“使服务器外部可见”部分

2、透彻!127.0.0.1和0.0.0.0之间的区别总算听明白了!_小刘学安卓的博客-CSDN博客

1. 总结

1) 0.0.0.0:它表示的是这样一个集合:所有不清楚的主机和目的网络

2) 255.255.255.255:限制广播地址,这个地址不能被路由器转发

3) 127.0.0.1:本机地址,在Windows系统中,这个地址有一个别名“Localhost”

2. 0.0.0.0 与 127.0.0.1的区别

1) 0.0.0.0

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

2) 255.255.255.255

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

3) 127.0.0.1

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

3. 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,那么用本机地址(指的是192.168.0.1和192.168.1.1)建立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 均予以保留。此地址块中的任何地址都将回环到本地主机中。此地址块中的任何地址都绝不会出现在任何网络中

4. 本地示例


 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值