侧边栏壁纸
  • 累计撰写 47 篇文章
  • 累计创建 22 个标签
  • 累计收到 27 条评论

目 录CONTENT

文章目录

Linux中127.0.0.1和0.0.0.0和::的区别

vchopin
2022-04-27 / 2 评论 / 0 点赞 / 303 阅读 / 989 字

网络地址区别

127.0.0.1

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

所有网络号为127的地址都被称之为回环地址,所以回环地址不等于127.0.0.1,它们是包含关系,即回环地址包含127.0.0.1。

由于我们计算机本地大多将127.0.0.1指向了localhost,所以也经常用localhost指代127.0.0.1。

0.0.0.0

严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律送进去。

主要用于服务器端,通过0.0.0.0匹配所有服务器IP,如果进程监听0.0.0.0那么客户端访问服务器任何一个可达IP(多网卡状态下)都可以使用此进程。个人电脑未配置IP时表示本机地址,路由器中则表示默认路由

简单来说,该地址表示网络中的“我自己”,如果电脑没有接入网络,那就等于127.0.0.1的效果

::

表示全0的IPV6地址,和IPV4的0.0.0.0一样,表示匹配多个IPV6地址。

用双冒号“::”表示一组0或多组连续的0,但只能出现一次,每项数字前导的0可以省略,省略后前导数字仍是0则继续。

总结

127.0.0.1 是一个环回地址,表示单机“本机”。0.0.0.0才是真正表示“本网络中的本机”,::是0.0.0.0的ipv6写法

在实际应用中:一般我们在服务端绑定端口的时候可以选择绑定到0.0.0.0,这样我的服务访问方就可以通过我的多个ip地址访问我的服务。

比如:我有一台服务器,一个外网地址A,一个内网地址B,如果我绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问我的应用。但是如果我只绑定了内网地址,那么通过外网地址就不能访问。所以如果绑定0.0.0.0,也有一定安全隐患,对于只需要内网访问的服务,可以只绑定内网地址。

参考

  1. http://www.blogjava.net/jb2011/archive/2020/03/03/435204.html
  2. https://www.jianshu.com/p/579bb07d8841
0
  • 0
  • 2

评论区