Stránka 1 z 1

Měření propustnosti UDP na ethernetu

Napsal: 28 bře 2017, 10:01
od Wolfik
Mám tu zbastlený hardware, co na určitý port a IP adresu valí UDP pakety dat. Na protistraně mám několik funkčních utilitek, co jsou schopny stream zachytit a zpracovat.
Problém je, že když se pokusím změřit datovou propustnost přes známou utilitku iperf, tak ona nezachytí nic.
Ve firewallu je aplikace povolená, ve Wiresharku vidím, že tam udp pakety stále valí. Jak jsem psal, tak v jiných utilitkách udp pakety zachytím a zpracuju.

ZKoušel jsem všemožný verze od iperf 2.xxx po 3.xxx či jeho grafickou nástavu jperf a prd.

Mohl by mi někdo poradit?

Napsal: 28 bře 2017, 10:08
od rnbw
Nabude to nahodou tym, ze je to testovacia utilita a nie meracia? Tzn. testuje spojenie medzi 2 strojmi, na oboch musi byt iperf (klient a server).

Napsal: 28 bře 2017, 11:14
od PixelOrgy
tim to presne je, iperf muze bezet jako klient nebo server, a funguje to jen mezi iperfem.

Co to zkusit pocitat treba pres iptables? Umi logovat kolik paketu spadlo do urcityho pravidla

Napsal: 28 bře 2017, 11:38
od Wolfik
Tím to nebude, protože měření TCP streamu mi funguje. To UDP vím, že mi taky fungovalo, ale na jiných strojích (XP, Linux).
Teď to zkouším na Win7.

Je úplně putna, co je v payloadu...iperf jako client tam přes memset nacvaká 0 a 1, ale může tam být cokoliv. Zkoušel jsem nejdřív nasimulovat iperfí payload a pak jsem zjistil, že na tom nezáleží. Podle mě to počítá jenom ze sum délek paketů/segmentů za časový interval zachycený na nastaveným portu.

Napsal: 28 bře 2017, 11:44
od PixelOrgy
Nikdy jsem to nezkousel, ale mel jsem za to, ze iperf prave nejakej urcitej payload pouziva, aby identifikoval svuj traffic.

Jestli to mas na win7, tak asi iptables nepomuze no, ale WinPcap fungovat bude. Sice je to trosku jak kladivem na komara, ale budiz

Napsal: 28 bře 2017, 12:08
od Wolfik
už jsem na to přišel - vyhrabal jsem starou verzi aplikace, kde mi to fungovalo a fungovalo to i teď...
Ono na obsahu payloadu záleží, ale musí být celý konstantní - každý bajt musí být stejný.
Nechápu, jak ta aplikace může takhle fungovat, že ještě za běhu dělá jakousi "analýzu" payloadu.

Zkrátka předtím jsem posílal payload ve stylu
memset(payload, 0, PAYLOAD_SIZE);
a iperf začal měřit.
Když změním obsah prvních bajtů na různé hodnoty, tak je iperf nezachytí.

...kokotina. V dokumentaci o tom hovno.

Napsal: 28 bře 2017, 12:28
od PixelOrgy
Popravde, tohle dost vysvetluje - zkousel jsi nekdy iperfem testovat vyssi propostnosti, treba na gbit siti? Bez fakt vykonnyho CPU nehrozi

Napsal: 28 bře 2017, 14:56
od Wolfik
Ale tak na co analyzovat obsah payloadu? Jak v případě TCP segmentu tak UDP paketu stačí brát délku payloadu v bajtech, který systém ti musí předat a stačí to pro výpočet datové propustnosti.

Napsal: 28 bře 2017, 14:58
od PixelOrgy
jojo, jasne, ja to myslel ciste jen na sber tech paketu, ale kdyz uz ti jde ten starsi iperf, tak to nema cenu samozrejme