Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Vietnanka 25. 12. 2021, 10:32:59
-
čistě ze zajímavosti, proč (linuxový) ping neukazuje v odpovědích time pro -s 1 až 7
icmp_seq=1 ttl=54 time=19.3 ms # -s 8
icmp_seq=1 ttl=54 #-s 7
-
Odhadem, nespolehlivost přiřazení příchozí odpovědi k odpovídajícímu dotazu?
-
Do packetu se musí vejít "timestamp", z kterého se po návratu odečte ten čas.
Pokud je packet příliš malý (viz kód), čas se nepočítá (timing = 0).
// iputils-20180629, ping.c
if (datalen >= sizeof(struct timeval)) /* can we time transfer */
timing = 1;
U mě je tedy sizeof(struct timeval) rovno 16, takže ping -s 16 čas ukazuje, ale ping -s 15 už ne.
-
8B potrebujes na ulozeni presneho timestampu (4B je jenom s rozlisenim sekund).
A jestli se to dela takto, tak si muzes pohrat s payloadem na routru, aby vykazoval nizsi nebo vyssi ping :-)