in X-Geek

Linux’s networking stack gets confused

I just saw this unusual response when I pinged my local server:

root@sundowner:/etc/network# ping maestro
PING maestro (192.168.3.1) 56(84) bytes of data.
64 bytes from maestro (192.168.3.1): icmp_seq=1 ttl=64 time=2091 ms
64 bytes from maestro (192.168.3.1): icmp_seq=2 ttl=64 time=2094 ms
64 bytes from maestro (192.168.3.1): icmp_seq=3 ttl=64 time=2077 ms
64 bytes from maestro (192.168.3.1): icmp_seq=4 ttl=64 time=2040 ms
64 bytes from maestro (192.168.3.1): icmp_seq=5 ttl=64 time=2043 ms
64 bytes from maestro (192.168.3.1): icmp_seq=6 ttl=64 time=2051 ms
64 bytes from maestro (192.168.3.1): icmp_seq=7 ttl=64 time=2046 ms
64 bytes from maestro (192.168.3.1): icmp_seq=8 ttl=64 time=1065 ms
64 bytes from maestro (192.168.3.1): icmp_seq=9 ttl=64 time=63.8 ms
64 bytes from maestro (192.168.3.1): icmp_seq=10 ttl=64 time=1.39 ms
64 bytes from maestro (192.168.3.1): icmp_seq=11 ttl=64 time=1.35 ms
64 bytes from maestro (192.168.3.1): icmp_seq=12 ttl=64 time=1.53 ms

The odd thing about this is that the first 8 responses actually returned in less than one second, in spite of ping reporting times over 2000 ms. For the math-impaired out there, 2000 ms equals two seconds.

I don’t know why Linux was reporting a ping response returning in two seconds when it actually returned in less than one second (and most likely a fraction of a second). It’s very strange.