什么是127.0.0.1
什么是 ping
TCP发数据和ping的区别
为什么断网了还能 ping 通 127.0.0.1
ping回环地址和ping本机地址有什么区别
127.0.0.1 和 localhost 以及 0.0.0.0 有区别吗
总结
你女神爱不爱你 ,你问她,她可能不会告诉你。
但网通不通 ,你 ping 一下就知道了。
可能看到标题,你就知道答案了,但是你了解背后的原因吗?
那如果把 127.0.0.1 换成 0.0.0.0 或 localhost 会怎么样呢?你知道这几个IP有什么区别吗?
以前面试的时候就遇到过这个问题,大家看个动图了解下面试官和我当时的场景,求当时我的心里阴影面积。
话不多说,我们直接开车。
拔掉网线,断网。
断开wifi
网线一拔,恩怨去了
然后在控制台输入ping 127.0.0.1。
$ ping 127.0.0.1
— 127.0.0.1 ping test
说明,拔了网线,ping 127.0.0.1 是能ping通的 。
其实这篇文章看到这里,标题前半个问题已经被回答了。但是我们可以再想深一点。
为什么断网了还能 ping 通 127.0.0.1 呢?
这能说明你不用交网费就能上网吗?
不能。
首先我们需要进入基础科普环节。
不懂的同学看了就懂了,懂的看了就当查漏补缺吧。
什么是127.0.0.1
首先,这是个 IPV4 地址。
IPV4 地址有 32 位,一个字节有 8 位,共 4 个字节。
其中127 开头的都属于回环地址 ,也是 IPV4 的特殊地址,没什么道理,就是人为规定的。
而127.0.0.1是众多 回环地址中的一个。之所以不是 127.0.0.2 ,而是 127.0.0.1,是因为源码里就是这么定义的,也没什么道理。
/* Address to loopback in software to local host. */
#define INADDR_LOOPBACK 0x7f000001 /* 127.0.0.1 */
回环地址
IPv4 的地址是 32 位的,2的32次方,大概是40+亿。地球光人口就76亿了,40亿IP这点量,塞牙缝都不够 ,实际上IP也确实用完 了。
所以就有了IPV6, IPv6 的地址是 128 位的,大概是2的128次方≈10的38次方 。据说地球的沙子数量大概是 10的23次方 ,所以IPV6的IP可以认为用不完。
IPV4以8位一组,每组之间用 . 号隔开。