The FlowPing is an application which allow user to perform variety of network throughput and stress tests. Our application utilize UDP(User Datagram Protocol). Our application implements similar interface as in ICMP ping aplication and in addition allow user to perform stress test such as in iPerf application. Very importat feature of our application is possibility to operate with variable traffic rate and variable packet size. This feature allow user to measure network dynamic behavior in reaction on traffic amount change in tested network.
----------------------------------------------------------------------------------------------- | Section| Parameter | Def. value | Meaning | ----------------------------------------------------------------------------------------------- | Common: | | [-?] Usage (Print this table) | | [-A] Raise priority to maximum in passive mode (RT if possible) | | [-D] Print timestamps in ping output | | [-e] Print current RX Bitrate (RX and TX on SERVER) | | [-f filename] Store ping output in specified file | | [-p port] [2424] Port number | | [-q] Silent (suppress ping output to STDOUT) | | [-v] Print version | | [-X] Asymetric mode (TX Payload is limited to 32B) | | Server: | | [-S] Run as server | | Client: | | [-a] Busy-loop mode! (100% CPU usage), more accurate bitrate | | [-b kbit/s] BitRate (Lower limit) | | [-B kbit/s] BitRate (Upper limit) | | [-c count] [unlimited] Send specified number of packets | | [-C] Output to CSV [;;;;;] | | [-d] Set source interface | | [-E] Print current TX bitrate | | [-F filename] Send FileName to server (overide server settings) | | [-h hostname] [localhost] Server hostname or IP address | | [-H] Consider headers (Use frame size instead payload size) | | [-i seconds] [1] Interval between packets (Upper limit) | | [-I seconds] [1] Interval between packets (Lower limit) | | [-P] Packet size change from 32B to 1472B | | [-Q] linux ping output compatibility | | [-s size] [64] Payload size in Bytes | | [-t seconds] [10] T1 interval specification (for i,I,b,B,P params) | | [-T seconds] [10] T2 interval specification (for i,I,b,B,P params) | | [-R seconds] [T3=T2] T3 interval specification (for i,I,b,B,P params) | | [-u filename] Read Interval and BitRate definitions from file | | [-U] Fill packets with data from named pipe at /tmp/flowping | | [-w seconds] [unlimited] Run test for specified time | | [-W] Precompute packet intervals, Busy-loop mode, | | delayed output file writes | -----------------------------------------------------------------------------------------------
------------------------------------------------- | Time[s] | BitRate[kbit/s] | PacketSize[B]* | ------------------------------------------------- | 0* | 128 | 14* | | 15 | 128 | 64 | | 30 | 256 | 64 | | 30 | 64 | 2500* | ------------------------------------------------- Table 1: Test description file example* Its necessary to start with zero time.
./flowping -h example.net -b 256 -B 512 -t 30 -R 60 -T 90 -w 180 -s 500
./flowping -h example.net -i 0.015625 -B 0.0078125 -t 30 -R 60 -T 90 -w 180 -s 500
./flowping -h example.net -w 200 -u TestDescriptionFile.dat
------------------------------------------------- | Time[s] | BitRate[kbit/s] | PacketSize[B] | ------------------------------------------------- | 0* | 128 | 64 | | 15 | 128 | 64 | | 30 | 256 | 64 | | 30 | 64 | 500 | | 45 | 64 | 500 | | 60 | 256 | 24 | | 60 | 512 | 24 | | 75 | 256 | 24 | | 90 | 256 | 24 | | 105 | 128 | 24 | | 120 | 256 | 24 | | 135 | 256 | 64 | | 135 | 640 | 1472 | | 150 | 640 | 1472 | | 150 | 512 | 1000 | | 165 | 128 | 1000 | | 180 | 128 | 1000 | ------------------------------------------------- Table 2: Test description file describing test on Image 3
C_TimeStamp;C_Direction;C_PacketSize;C_From;C_Sequence;C_RTT;C_Delta;C_RX_Rate;C_To;C_TX_Rate; 1407138077.467533;rx;64;localhost;1;0.24;2.000;256.00; 1407138077.467291;tx;64;;1;;2.000;;localhost;256.00;;; 1407138077.469551;rx;64;localhost;2;0.11;2.018;253.72; 1407138077.469445;tx;64;;2;;2.141;;localhost;239.14;;; 1407138077.471631;rx;64;localhost;3;0.10;2.080;246.15;C_TimeStamp - Timestamp of packet was sent/received
S_TimeStamp;S_PacketSize;S_From;S_Sequence;S_TTL;S_Delta;S_RX_Rate;S_TX_Rate; 1407138077.467359;64;127.0.0.1;1;xx;200.348;2.56;2.56; 1407138077.469515;64;127.0.0.1;2;xx;2.156;237.48;237.48; 1407138077.471598;64;127.0.0.1;3;xx;2.083;245.80;245.80; 1407138077.473602;64;127.0.0.1;4;xx;2.004;255.49;255.49; 1407138077.475610;64;127.0.0.1;5;xx;2.008;254.98;254.98;S_TimeStamp - Timestamp of packet was received
Version 1.5.0-devel adds new features.
New features:
- new stats module
- modified build structure with single makefile
- improved platform detection
- realtime stats
- JSON output
Version 1.4.1 LICENCE CHANGE.
Licence:
- GNU GPLv3 since version 1.4.1
Version 1.4.0e adds new features.
New features:
- traffic generator is completely redesigned
- zero bitrate support in complex profiles (via test description file)
Version 1.3.2 bug fix release.
BugFix:
- minor bug fixes
- AntiAsim mode fixed (-X on client side)
Version 1.3.1 bug fix release.
BugFix:
- minor bug fixes
- test profile is repeated when profile data are exhausted
Version 1.3.0 adds new features
New features:
- run multiple clients vs. one server port
Version 1.2.6 bug fix release.
BugFix:
- fixed bug in 32b version with -W parameter and long tests
- fixed bug with program termination with signals
- added longer timeout after end of test
Version 1.2.5 bug fix release.
BugFix:
- when using parameters [-u] and [-W] together it was not posible to generate variable flow in previous 32 bit versions
Version 1.2.4 bug fix release.
BugFix:
- [-H] mode fix, reported speed on server was wrong
- [-H] mode fix, generated traffic rate was wrong when reading test description from file
Version 1.2.3 bug fix release.
BugFix:
- minor bug fixes
Version 1.2.0 adds new features and fixes several issues.
New features:
- Output in CSV format [-C]
- Possibility to precompute packet intervals before test start. [-W]
- Delayed file writes - all output is stored into file after test is finished. [-W]
- Asymetric mode is implemented also in client. [-X]
BugFix:
- Output formating
Version 1.1.10 was first public release.
Author: Ondrej Vondrous, KTT, CVUT
Email: ondrej.vondrous@fel.cvut.cz
Copyright (C) 2016: Department of Telecommunication Engineering, FEE, CTU in Prague
License: GNU GPLv3
FlowPing is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
FlowPing is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details
You should have received a copy of the GNU General Public License
along with FlowPing. If not, see http://www.gnu.org/licenses/
Author: Ondrej Vondrous, KTT, CVUT
Email: ondrej.vondrous@fel.cvut.cz
Copyright: Department of Telecommunication Engineering, FEE, CTU in Prague
License: Creative Commons 3.0 BY-NC-SA
FlowPing is free software: you can redistribute it and/or modify it under the terms of the Creative Commons BY-NC-SA License v 3.0.
FlowPing is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.
You should have received a copy of the Creative Commons 3.0 BY-NC-SA License along with FlowPing.
If not, see http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode