ping命令用于向确认网络连接性的目标主机发出IP数据包,并检查数据包是否到达目标主机并收到回应的数据包。ping命令使用ICMP(Internet Control Message Protocol)或UDP,确认主机之间的网络连接性及简单衡量网络性能(网络吞吐量)。

ping命令使用场景

确认和目标主机之间的网络连接性简单衡量网络性能

ping命令能过执行成功,基本可以判断和目标主机之间的网络连接性没有问题,还可以通过显示的统计数据,简单衡量网络性能。

当发生错误,可初步判断为发生了某种网络故障。然而需要注意的是,尽管ping命令会让我们从ICMP数据包的回应内容中了解一些错误的原因,但实际上应该进行进一步的检查。例如要确定是网卡还是路由器的设定等。

另外,根据路由和其他主机的情况,ICMP可能有意识地被拒绝或丢弃。需要注意的是,这些只是从执行ping命令的主机上观察到的,而不是从整个网络角度。例如,sys-blog.net拒绝ping命令的请求,当执行ping命令时显示如下(Request time out).

ping命令使用方法

使用ping命令的最简单方法是指定目标主机的名称或IP地址。

上面的执行结果显示,对www.exmaple.com的ping命令的成功。接下来确认一下显示的内容。

(1)显示目标主机,这是在参数中指定的目标主机名称及IP地址。另外”32字节”是表示发送的ICMP数据包的大小。 ping命令发送的数据包默认大小是32字节,如果需要改变数据包大小使用 “-l”选项,最大可指定 65500字节。

(2)显示了ping命令的执行情况。在这里向目标主机发送了4次数据包并收到回应的数据包,并显示了每次的状态。 发送次数可使用 “-n” 选项进行指定,或者使用 “-t” 选项直到强制终止(Ctrl + C)持续发送。

(3)显示统计结果。发送数据包的总数及接收到回应数据包总数,并显示丢失丢失率。在这里,损失率为0%,因为在4次尝试中没有发送或接收失败。

(4)最后显示的是,RTT(Round Trip Times)。RTT(往返时间)是网络中的一个重要性能指标,指数据包发送到目标主机并收到回应数据包所需的时间(既网络吞吐量)。

网络的吞吐量可以从统计数据的显示中估计出来。 需关注 “最小” 和 “最大” 时间,根据不同网络环境,会有相当大的差异,例如,临近的主机之间是1ms以下,但与国外的主机通信时,则是数百或数千ms。

ping命令确认网络吞吐量

下面是使用ping命令确认互联网上的网站的例子。

使用ping命令发送60000字节的数据包,平均RTT是572ms。由此计算的网络宽带约如下(无视数据包的head部分)。

网络吞吐量 ≒ (60000 x 2) ÷ 0.572 ≒ 0.2Mbytes/s

ping命令选项

ping命令有较多的选项,和其他命令一样记住所有选项比较困难。在Windows上可以执行 “ping /?” 命令查看所有选项。


介绍了使用ping命令确认网络连通性的方法。