Fórum Root.cz

Hlavní témata => Server => Téma založeno: Hamparle 16. 02. 2021, 00:35:47

Název: Výstup ping v závislosti na -s
Přispěvatel: Hamparle 16. 02. 2021, 00:35:47
Všiml jsem si zvláštní korelace výstupu příkazu ping dle velikosti dat (přes wifi switch. vpřípadě 77 b se nefragmentuje, v případě 9134 na 7 paketů)

Jde o tyto hodnoty:
-real : v případě 1paketového přenosu sedí čas real (22*0.01s), a v případě 7paketového fragmentového přenosu  je delší dle očekávání a selského rozumu
- hodnota ewma v případě fermentovaného je 13ms což je skoro též ipg, zatímco v 1paketovém 1.5ms
-time v "statistics" , v případě fragmentovaného přenosu(už jsem to slovíčko trefil) je 650-865ms, a u 1paketového 200ms (víceméně stejně).  Nevím, co by to mohlo znamenat

Otázky:
- co je hodnota EWMA a proč v první případě 13ms (jako interpacketgap) a v druhém 1ms. Exponential moving average vím co znamená, ale nevím, jaké veličiny v pingu.
- je interpacket gap  je čas mezi  dvěma odesláním(nebo přijetím ,ale konzistenětně) začátku paketu (od slova inter) a nebo "jalový čas" kdy pakety se nepřenáší (od slova gap)?
-co znamená time hodnota ve vypisu?

Dál tyhle 2 věci nějak souvisí?
-v režimu flood dle manuálu se za každý odeslaný request objeví tečka a za každý přijatý reply zmizí. Takže zbylý počet by měl odpovídat packet loss( krát počet paketů).


-parametr pipe by měl odpovídat něčemu jako "zahlcení", když je neodpovězen víc než 1 paket, je to tak (maximální hodnotě během celého měření)? Ta fronta se ale taky zobrazí při -f parametru že?, ale nakonec zmizí?

Kód: [Vybrat]
time sudo ping -f    -c 220 -i 0.01   -s 9134  cíl
PING cíl (192.168.1.111) 9134(9162) bytes of data.

--- cíl ping statistics ---
220 packets transmitted, 220 received, 0% packet loss, time 865ms
rtt min/avg/max/mdev = 6.681/73.309/323.705/95.889 ms, pipe 20, ipg/ewma 13.075/13.721 ms

real    0m3,026s
user    0m0,077s
sys     0m0,133s



##----------------

time sudo ping -f    -c 220 -i 0.01   -s 77  karel-pc
PING cíl(192.168.1.111) 77(105) bytes of data.

--- cíl ping statistics ---
220 packets transmitted, 220 received, 0% packet loss, time 190ms
rtt min/avg/max/mdev = 1.283/2.233/8.255/0.959 ms, ipg/ewma 9.992/1.595 ms

real    0m2,312s
user    0m0,479s
sys     0m1,252s


Název: Re:Výstup ping v závislosti na -s
Přispěvatel: IDontCare 16. 02. 2021, 10:28:46
Na to je idealni podivat se do zdrojaku (https://source.codeaurora.org/external/gigabyte/froyo-gb-dsds-7227/plain/external/ping/ping.c).
Název: Re:Výstup ping v závislosti na -s
Přispěvatel: Hamparle 21. 02. 2021, 21:45:23
Koukán na Zdroják mi jde, ale je to na dlouhé večerní čtení...
Navíc i triviální funkčnost ping (z hlediska kdo to používá) je složitá naprogramovat (když linuxový ping má 30 přepínačů, obsluhuje fronty požadavků icmp atd,)

Pátral jsem po odpovědi,ale toto nesouhlasí (https://unix.stackexchange.com/questions/362890/ping-statistics-time-meaning) s mým zjištěním.
Citace
he time statistic is the total time spent sending and receiving echo packets, including the delay between each packet:
-z stránky výše to odpovídá (3 pingy po sekundě ... time 1998 ms)

Ale u mě:
pingám 10 sekund po sekundě a výsledek? 14ms? <<<(33.650/41.289/52.156/6.718 ms)
nebo : sudo ping  -i 0.08   -s 9909  ....  někdy500ms někdy 800 a vůbec to nezáleží na délce pingání ...   <<< ( 9.262/17.893/32.435/5.886 ms)




Ale když už jsme u toho zdrojáku, co je tohle za  "slang"? To rozdělování jednoho floatu do dvou argumentů pro printf. Jaký to má význam ?  Když by stačilo %.3f ?
Kód: [Vybrat]
printf(_("%sipg/ewma %d.%03d/%d.%03d ms"),
       comma,

 ipg / 1000, ipg % 1000,                       # ipg celá část, ipg desetinná část
 rts->rtt / 8000, (rts->rtt / 8) % 1000    #ewma celá část, ewmadesetinná část

);