1. 목적
iperf3은 Multicast를 지원하지 않기 때문에 Multicast 테스트를 위해 iperf2를 매뉴얼로 설치한다.
2. 설치
$ sudo wget -O /usr/bin/iperf https://iperf.fr/download/ubuntu/iperf_2.0.9 --2018-01-31 07:35:03-- https://iperf.fr/download/ubuntu/iperf_2.0.9 Resolving iperf.fr (iperf.fr)... 89.84.1.194, 2001:860:de01:1101::2 Connecting to iperf.fr (iperf.fr)|89.84.1.194|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 103912 (101K) Saving to: ‘/usr/bin/iperf’ /usr/bin/iperf 100%[====================================================================================>] 101.48K 126KB/s in 0.8s 2018-01-31 07:35:05 (126 KB/s) - ‘/usr/bin/iperf’ saved [103912/103912]
설치 이후 실행 권한을 부여한다.
3. 사용법
$ iperf --help
Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version]
Client/Server:
-b, --bandwidth #[KMG | pps] bandwidth to send at in bits/sec or packets per second
-e, --enhancedreports use enhanced reporting giving more tcp/udp and traffic information
-f, --format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes
-i, --interval # seconds between periodic bandwidth reports
-l, --len #[KM] length of buffer to read or write (default 8 KB)
-m, --print_mss print TCP maximum segment size (MTU - TCP/IP header)
-o, --output output the report or error message to this specified file
-p, --port # server port to listen on/connect to
-u, --udp use UDP rather than TCP
-w, --window #[KM] TCP window size (socket buffer size)
-z, --realtime request realtime scheduler
-B, --bind bind to , an interface or multicast address
-C, --compatibility for use with older versions does not sent extra msgs
-M, --mss # set TCP maximum segment size (MTU - 40 bytes)
-N, --nodelay set TCP no delay, disabling Nagle's Algorithm
-V, --ipv6_domain Set the domain to IPv6
Server specific:
-s, --server run in server mode
-U, --single_udp run in single threaded UDP mode
-D, --daemon run the server as a daemon
Client specific:
-c, --client run in client mode, connecting to
-d, --dualtest Do a bidirectional test simultaneously
-n, --num #[KM] number of bytes to transmit (instead of -t)
-r, --tradeoff Do a bidirectional test individually
-t, --time # time in seconds to transmit for (default 10 secs)
-B, --bind [ | ] bind src addr(s) from which to originate traffic
-F, --fileinput input the data to be transmitted from a file
-I, --stdin input the data to be transmitted from stdin
-L, --listenport # port to receive bidirectional tests back on
-P, --parallel # number of parallel client threads to run
-T, --ttl # time-to-live, for multicast (default 1)
-Z, --linux-congestion set TCP congestion control algorithm (Linux only)
Miscellaneous:
-x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast) S(settings) V(server) reports
-y, --reportstyle C report as a Comma-Separated Values
-h, --help print this message and quit
-v, --version print version information and quit
[KM] Indicates options that support a K or M suffix for kilo- or mega-
The TCP window size option can be set by the environment variable
TCP_WINDOW_SIZE. Most other options can be set by an environment variable
IPERF_, such as IPERF_BANDWIDTH.
Source at
Report bugs to
4. 서버 모드 실행
$ iperf -s -u -B 228.0.0.4 -i 1 -p 45564 ------------------------------------------------------------ Server listening on UDP port 45564 Binding to local address 228.0.0.4 Joining multicast group 228.0.0.4 Receiving 1470 byte datagrams UDP buffer size: 208 KByte (default) ------------------------------------------------------------
5. 클라이언트 모드 실행
$ iperf -c 228.0.0.4 -u -T 32 -t 10 -i 1 -p 45564 ------------------------------------------------------------ Client connecting to 228.0.0.4, UDP port 45564 Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust) Setting multicast TTL to 32 UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 10.0.10.166 port 53023 connected with 228.0.0.4 port 45564 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 1.0 sec 131 KBytes 1.07 Mbits/sec [ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 2.0- 3.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 3.0- 4.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 4.0- 5.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 5.0- 6.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 6.0- 7.0 sec 129 KBytes 1.06 Mbits/sec [ 3] 7.0- 8.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 8.0- 9.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 9.0-10.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec [ 3] Sent 893 datagrams
6. 서버 모드에서 확인
$ iperf -s -u -B 228.0.0.4 -i 1 -p 45564 ------------------------------------------------------------ Server listening on UDP port 45564 Binding to local address 228.0.0.4 Joining multicast group 228.0.0.4 Receiving 1470 byte datagrams UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 228.0.0.4 port 45564 connected with 10.0.10.166 port 53023 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 3] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec 0.003 ms 0/ 90 (0%) [ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec 0.003 ms 0/ 89 (0%) [ 3] 2.0- 3.0 sec 128 KBytes 1.05 Mbits/sec 0.002 ms 0/ 89 (0%) [ 3] 3.0- 4.0 sec 128 KBytes 1.05 Mbits/sec 0.002 ms 0/ 89 (0%) [ 3] 4.0- 5.0 sec 128 KBytes 1.05 Mbits/sec 0.003 ms 0/ 89 (0%) [ 3] 5.0- 6.0 sec 128 KBytes 1.05 Mbits/sec 0.002 ms 0/ 89 (0%) [ 3] 6.0- 7.0 sec 129 KBytes 1.06 Mbits/sec 0.002 ms 0/ 90 (0%) [ 3] 7.0- 8.0 sec 128 KBytes 1.05 Mbits/sec 0.002 ms 0/ 89 (0%) [ 3] 8.0- 9.0 sec 128 KBytes 1.05 Mbits/sec 0.002 ms 0/ 89 (0%) [ 3] 9.0-10.0 sec 128 KBytes 1.05 Mbits/sec 0.003 ms 0/ 89 (0%) [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.003 ms 0/ 893 (0%)
