做后端开发的朋友遇到下图中的情况是很常见的,导致整个问题的可能性非常多,在排查问题的时候我们首先可以通过 ping 命令查看服务器时候还活着,作为第一步检查。

既然要使用 ping 命令,自然也要熟悉这个命令相关的一些知识点,才能加以分析。

ping 命令最简单的用法就是后面跟一个 ip 地址

> ping 8.8.8.8

正在 Ping 8.8.8.8 具有 32 字节的数据:
来自 8.8.8.8 的回复: 字节=32 时间=34ms TTL=114
来自 8.8.8.8 的回复: 字节=32 时间=35ms TTL=114
来自 8.8.8.8 的回复: 字节=32 时间=34ms TTL=114
来自 8.8.8.8 的回复: 字节=32 时间=33ms TTL=114

8.8.8.8 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 33ms,最长 = 35ms,平均 = 34ms
注意在 Window 环境下使用 ping 命令会发送四次报文之后就结束,但是 Linux 下会一直持续不断的发送报文,需要终止的,请使用快捷键 ctrl + c,Mac 同理 。

ping 的运作原理是向目标主机传出一个 ICMP 的请求回显数据包,并等待接收回显回应数据包。程序会按时间和成功响应的次数估算丢失数据包率(丢包率)和数据包往返时间(网络时延,Round-trip delay time)。

ICMP 报文工作在 OSI 七层网络模型中的网络层。

这一层是由操作系统负责的,也就是只要服务器开机且正常运行着,就可以被 ping 通,说明服务器还活着,这个时候你就需要通过其他方式来排查问题了。

OSI 七层模型是计算机网络的内容

universe_king
3.5k 声望716 粉丝