Jedná se o aplikaci, která vznikla za účelem testování zpoždění, ztrátovosti a propustnosti sítí. Aplikace je svým výstupem a částečně i ovládáním podobná standardní aplikaci Ping, která je dostupná v každém operačním systému. Na rozdíl od standardní aplikace Ping nepoužívá pro testování protokol ICMP, ale používá jako transportní protokol UDP a funguje tedy v režimu klient-server. Aplikace dále umožňuje provádět komplexní zátěžové testy sítě. Základní testování má podobný charakter jako testovaní pomocí běžně dostupné aplikace iPerf, ale na rozdíl od ní umožňuje definovat testy s proměnnou velikostí generovaného provozu a výstup je podobný jako v případě aplikace Ping. Výběr přenosového protokolu UDP není náhodný, ale vychází z potřeb vyvíjených algoritmů komunikačního systému, kde je rovněž použit jako transportní protokol UDP. Aplikace dále přidává možnost použití reálných dat pro zátěžové testy sítě. Negeneruje se tedy stále stejný, nebo náhodný obsah paketů, ale použije se například datový soubor jako zdroj obsahu paketů.
Možnosti aplikace:
• Aplikace umí u každého paketu na výstupu zobrazit časovou značku s přesností na nanosekundy.
• Aplikace také umožňuje přímé reportování informací o intervalech mezi pakety a o objemu generovaného a příchozího provozu.
• Aplikace umí generovat proměnný datový tok, dle definice z příkazové řádky nebo definičního souboru testu.
• Aplikace umí rovněž pracovat s proměnnou velikostí paketu, dle definičního souboru testu.
• Aplikace dokáže používat reálná data jako výplň paketů, která jsou aplikaci předávána pojmenovanou rourou.
• Aplikace umožňuje provádět komplexní testy dle definic v definičním souboru. Čímž značně usnadňuje a urychluje testování sítí.
• Aplikace dokáže pracovat v několika režimech plánování času. (pasivní čekání na přidělení procesoru, Aktivní čekání na přidělení procesoru (Bussy Loop), eskalace priorit procesu).
• Aplikace umožňuje také asymetrické testování, kdy server vrací klientovi pouze paket o minimální velikosti.
• Pro testy, kde je objem provozu v řádu desítek či stovek Mbit/s aplikace nabízí možnost zpožděného výpisu průběhu testu do souboru, aby nedošlo k narušení přesnosti generování provozu.
• Výstup aplikace je možné provádět ve formátu CSV (hodnoty oddělené středníkem)
• Aplikace je schopna stabilně generovat datové toky, v uživatelském prostoru, s rychlostí přesahující 100 000 paketů za vteřinu.
Příklady použití (příkazová řádka): Následující příkaz definuje test, kdy budou odesílány pakety na hostitele example.net. Test započne generováním datového provozu o objemu 256 kbit/s (parametr -b) a po 30 vteřinách (parametr -t) dojde k postupnému nárůstu objemu provozu. Po 90 vteřinách (parametr -T) od začátku testu dojde k ustálení objemu provozu na 512 kbit/s (parametr -B). Tento objem provozu bude generován do času testu 120 vteřin (parametr -T) od počátku testu. Poté dojde k opakování průběhu testu. Test bude trvat 180 vteřin (parametr -w) a během testu budou odesílány pakety o velikosti 500B (parametr -s).
./flowping -h example.net -b 256 -B 512 -t 30 –R 60 -T 90 -w 180 -s 500