断网后,是否能够ping通127.0.0.1?

1,096 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情

引言

说起这个问题很搞笑,其实也是挺有意思的。是这么回事,公司突然断网了,有人突然来了一句,断网了,能不能ping通127.0.0.1呢?大家就实验起来了!

image.png

结果显而易见,如上图,我们是能够ping通的!

那么问题来了,这里面的原理究竟是什么?大家懂吗?

127.0.0.1是个什么

他是一个IPV4地址,一共4个字节,每个字节8位。

在这其中127开头的是我们的回环地址,也就是我们IPV4中的特殊地址。这就是乌龟的屁股——规定

当然,在你现在经常看到的IPV6也存在回环地址,IPV6中是以16为一组,每组中间用:隔开。如果是0的话,就省略。

也就是说,IPV4下的回环地址127.0.0.1,在IPV6中对应的是::1,中间定的0全部省略。

这里会有人问了,为什么不是7个连续的冒号,而是两个呢?这是因为在IPV6中规定,只允许出现一次连续的两个冒号。

断网了,为什么仍然能够ping通127.0.0.1呢

其实这里很简单

当我们发出的目标IP是外网IP的时候,会通过真正的网卡发出信息

当我们发出的目标IP是内网IP的时候,则会选择本地网卡进行消息的发送

本地网卡其实不是真正的网卡,就是一个假网卡,他会把数据推到一个叫做input_pkt_queue的链表中,这个链表适合所有网卡共享的,上面携带发根本机的各种消息,消息被发送到这个链表后,就会触发一个软中断。

好了,今天的关于断网能否ping通127.0.0.1就讲到这,欢迎大家留言交流

也欢迎大家关注我的公众号《coder练习生》