在运行 ping 命令(Linux)的时候,里面有一项输出叫 mdev,如下所示:


093707745.png


   mdev是什么意思呢? ping 的手册中并没有提到。我们不妨看一下 ping 的源代码

   ping_common.c :
   tsum += triptime;
   tsum2 += (long long)triptime * (long long)triptime

   以及
   tsum /= nreceived + nrepeats;
   tsum2 /= nreceived + nrepeats;
   tmdev = llsqrt(tsum2 – tsum * tsum);

   所以我们可以得出:
   mdev = SQRT(SUM(RTT*RTT) / N – (SUM(RTT)/N)^2)


   也即这个平均偏差的公式:

094730221.png


   所以 mdev 就是 Mean Deviation 的缩写,它表示这些 ICMP 包的 RTT 偏离平均值的程度,这个值越大说明网速越不稳定。不同的操作系统,可能名称不同,比如MAC下叫做stddev,而Windows下没这行统计数据。在Linux系统中,看上图,有个参数对比,加数据包大小的时候就没有了这一行统计了。

   ping命令也一般用于网络连通性的测试,当然也不能作为网络衡量的唯一标准咯。

(文 / Internet