How to run iperf, iperf2, iperf3 TCP UDP server and client on DL and UL
I am going to explain how to run iperf2, iperf3 TCP UDP server and client on mobile devices and PCs or test equipment which we also called CallBox. The iperf tool performs active measurements to determine the maximum achievable bandwidth on IP networks. You can tun its various parameters related to timing, protocols, and buffers which you can find at the end of the blog. When you run iperf it generates reports of measured throughput, loss, and other parameters.
Definition
Box: IP traffic generator or CallBox like CMW500
UE: Mobile device or soft phone
How to run iperf3 TCP DL
Commands: UE(server side): iperf3 -s -i1 p5001 Box(Client): iperf3 -c <IP address of server> -p5001 -t <time in seconds>
You can also run with -R option. You can run server on the box and run client on the device.
Box(server side): iperf3 -s -i1 p5001 UE(Client): iperf3 -c <IP address of server> - R -p5001 -t <time in seconds>
iperf3 TCP UL
Box: iperf3 -s -i1 -p5002 UE(Client): iperf3 -c <IP address of server> p5002 -t 15000
UDP Downlink iperf3
UE (server): iperf2 -s -i1 -p5001 Box(client): iperf2 -c <IP address of server> -u -i1 -b100M -p5001 -t<time in seconds>
UDP Uplink iperf3
Box (server): iperf2 -s -u -i1 -u -p5001 UE(client): iperf2 -c <IP address of server> -u -i1 -b100M -p5001 -t<time in seconds>
iperf2 TCP DL
UE(server): iperf2 -s -i1 -p5001 Box(client): iperf2 -c <IP address of server> -p5001 -t
iperf2 TCP UL
Box(server): iperf2 -s -i1 -p5002 UE(client): iperf2 -c <IP address of server> -p5002 -t
UDP DL iperf2
UE (server): iperf2 -s -u -i1 -p5001 Box(client): iperf2 -c <IP address of server> -u -i1 -b100M -p5001 -t<time in seconds>
UDP UL iperf2
Box (server): iperf2 -s -u -i1 -u -p5001 UE(client): iperf2 -c <IP address of server> -u -i1 -b100M -p5001 -t<time in seconds>
iperf2, iperf3 TCP UDP server and client options
Usage: iperf [-s|-c host] [options] iperf [-h|--help] [-v|--version]
Server or Client:
-p, --port # server port to listen on/connect to. -f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes. -i, --interval # seconds between periodic bandwidth reports. -F, --file name xmit/recv the specified file. -B, --bind <host> bind to a specific interface. -V, --verbose more detailed output. -J, --json output in JSON format. --logfile f send output to a log file. -d, --debug emit debugging output. -v, --version show version information and quit. -h, --help show this message and quit.
Server specific:
-s, --server run in server mode. -D, --daemon run the server as a daemon. -I, --pidfile file write PID file. -1, --one-off handle one client connection then exit.
Client specific:
-c, --client <host> run in client mode, connecting to <host>. -u, --udp use UDP rather than TCP -b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited). (default 1 Mbit/sec for UDP, unlimited for TCP). (optional slash and packet count for burst mode). -t, --time # time in seconds to transmit for (default 10 secs). -n, --bytes #[KMG] number of bytes to transmit (instead of -t). -k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n). -l, --len #[KMG] length of buffer to read or write. (default 128 KB for TCP, 8 KB for UDP).
–cport <port> bind to a specific client port (TCP and UDP, default: ephemeral port).
-P, –parallel # number of parallel client streams to run.
-R, –reverse run in reverse mode (server sends, client receives).
-w, –window #[KMG] set window size / socket buffer size.
-M, –set-mss # set TCP/SCTP maximum segment size (MTU – 40 bytes).
-N, –no-delay set TCP/SCTP no delay, disabling Nagle’s Algorithm.
-4, –version4 only use IPv4.
-6, –version6 only use IPv6.
-S, –tos N set the IP ‘type of service’.
-Z, –zerocopy use a ‘zero copy’ method of sending data.
-O, –omit N omit the first n seconds.
-T, –title str prefix every output line with this string.
–get-server-output get results from server.
–udp-counters-64bit use 64-bit counters in UDP test packets.
Hi there to every , since I am actually keen of reading this website’s post to be updated regularly.
It includes pleasant data.
I blog often and I truly appreciate your content.
This great article has really peaked my interest.
I will bookmark your blog and keep checking for new information about once a week.
I opted in for your Feed as well.