What does mdev
mean in ping output (last row below)?
me@callisto ~ % ping -c 1 example.org
PING example.org (192.0.43.10) 56(84) bytes of data.
64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_seq=1 ttl=245 time=119 ms
--- example.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 119.242/119.242/119.242/0.000 ms
答案1
It's the standard deviation, essentially an average of how far each ping RTT is from the mean RTT. The higher mdev
is, the more variable the RTT is (over time).
With a high RTT variability, you will have speed issues with bulk transfers (they will take longer than is strictly speaking necessary, as the variability will eventually cause the sender to wait for ACKs) and you will have middling to poor VoIP quality.
答案2
From the source code [1]:
tsum += triptime;
tsum2 += (long long)triptime * (long long)triptime
and,
tsum /= nreceived + nrepeats;
tsum2 /= nreceived + nrepeats;
tmdev = llsqrt(tsum2 - tsum * tsum);
we can conclude that:
mdev = SQRT(SUM(RTT*RTT) / N – (SUM(RTT)/N)^2)
which is another formula for calculating the standard deviation (see [2]). This matches Vatine's answer above.
- http://www.skbuff.net/iputils
- http://www.brainkart.com/article/Calculation-of-Standard-Deviation_39437/ under Calculation of Standard Deviation for ungrouped data -> Direct Method
答案3
It's the standard deviation - not sure why the label mdev
has been used for it.
答案4
mdev is like jitter in telecom terminology, for example in VoIP it doesn't by greater 30 ms between endpoints https://www.ciscopress.com/articles/article.asp?p=357102