Я радостно пинговал в сети, когда вдруг:
Pinging X with 32 bytes of data: Reply from .235: bytes=32 time=1444ms TTL=41 Reply from .235: bytes=32 time=1767ms TTL=41 Reply from .235: bytes=32 time=1531ms TTL=41 Reply from .235: bytes=32 time=-1198187ms TTL=41 Ping statistics for .235: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1444ms, Maximum = -1198187ms, Average = 1073443462ms
Негативное время для ответа. Я проверил wirehark, и у него были те же значения:
Time delta from previous displayed frame: -1198.187867000 seconds
Time since reference or first frame: -1179.935038000 seconds
Я не менял время машины при пинге. Это было сделано в моей локальной сети дома, с виртуальной машины XP в Windows 7. Поэтому я виню виртуальную машину (виртуальный бокс). Но мне было интересно, могло ли это странное поведение (для меня) быть причиной, или кто-то из вас видел это раньше. Спасибо, до свидания.
Это похоже на сочетание проблемы с драйвером виртуализации и целочисленного переполнения со знаком / без знака. Среднее время 1073443462 x 4 слишком близко к 2 ^ 32, чтобы это не было проблемой целочисленного переполнения -> 1073443462 * 4 - 1444-1767-1531 - 2 ^ 32 = -1198190 ... что довольно близко к -1198187. Может быть, у меня нет математических расчетов или произошла ошибка округления.