iperf – 네트워크 성능, 대역폭 측정 도구(Linux, Windows)

안녕하세요.
네트워크 성능과 대역폭을 쉽게 측정할 수 있는 도구인 iperf를 소개합니다.
iperf는 서버-클라이언트 아키텍처에서 실행되며,
이 도구는 서버와 클라이언트 간의 네트워크 대역폭을 측정합니다.
Linux, Windows 및 Android와 같은 다양한 플랫폼을 지원하므로 사용하기 쉽습니다.

1. 다운로드 및 설치
iperf 공식 웹사이트에서 다운로드할 수 있습니다.

https://iperf.fr/iperf-download.php

플랫폼에 맞는 버전을 다운로드하면 됩니다.

Linux는 yum 및 apt를 사용하여 설치할 수도 있습니다.

이 시점에서 서버와 클라이언트 간에 iperf 버전을 통합하는 것이 중요합니다.

Windows에서는 3.X 버전을, Linux에서는 2.X 버전을 사용했는데 제대로 측정되지 않았습니다.

(창 1개
다운로드 페이지에서 실행 파일을 다운로드할 수 있습니다.

(2) 센트OS
epel 리포지토리(yum install epel-release)를 설치한 후 다음 명령으로 설치합니다.

# sudo yum 설치 iperf

(3) 우분투
다음 명령으로 설치할 수 있습니다.

# sudo apt-get 설치 iperf

2. 사용
(1) 사용

# iperf –도움말
사용법: iperf(-s|-c 호스트)(옵션)
iperf (-h|–help) (-v|–버전)

고객 서버:
-f, –format (kmKM) 보고 형식: Kbits, Mbits, KBytes, MBytes
-i, –interval 주기적인 대역폭 보고 사이의 #초
-l, –len #(KM) 읽거나 쓸 버퍼 길이(기본값 8KB)
-m, –print_mss 최대 TCP 세그먼트 크기 인쇄(MTU – TCP/IP 헤더)
-o, –출력 이 지정된 파일에 보고서 또는 오류 메시지를 출력합니다.
-p, –port # 수신/연결할 서버 포트
-u, –udp TCP 대신 UDP 사용
-w, –window #(KM) TCP 창 크기(소켓 버퍼 크기)
-B, –바인드 하게되다 인터페이스 또는 멀티캐스트 주소
-C, –compatibility는 이전 버전과 함께 사용, 추가 메시지를 보내지 않음
-M, –mss # 최대 TCP 세그먼트 크기 설정(MTU – 40바이트)
-N, –nodelay TCP를 지연 없음으로 설정하고 Nagle 알고리즘을 비활성화합니다.
-V, –IPv6Version 도메인을 IPv6으로 설정

서버별:
-s, –server 서버 모드에서 실행
-U, –single_udp 단일 스레드 UDP 모드에서 실행
-D, –daemon 서버를 데몬으로 실행

맞춤형:
-b, UDP의 경우 –bandwidth #(KM), 보낼 대역폭(비트/초)
(기본값 1Mbit/s, -u 의미)
-c, –클라이언트 클라이언트 모드에서 실행하고 연결
-d, –dualtest 동시에 양방향 테스트 실행
-n, –num #(KM) 전송할 바이트 수(-t 대신)
-r, –tradeoff 개별적으로 양방향 테스트 수행
-t, –time # 전송 시간(초)(기본값 10초)
-F, –파일 입력 파일에서 전송할 데이터를 입력합니다.
-I, –stdin stdin에서 전송할 데이터 입력
-L, –listenport # 양방향 테스트를 다시 받을 포트
-P, –parallel # 병렬로 실행할 클라이언트 스레드 수
-T, –ttl # time-to-live, 멀티캐스트용(기본값 1)
-Z, –linux-혼잡 TCP 혼잡 제어 알고리즘 설정(Linux 전용)

다른:
-x, –reportexclude (CDMSV) C(연결) D(데이터) M(멀티캐스트) S(설정) V(서버) 보고서 제외
-y, –reportstyle C 쉼표로 구분된 값으로 보고
-h, –help 이 메시지를 출력하고 종료
-v, –version 버전 정보 출력 및 종료

(KM) 킬로 또는 메가에 대해 K 또는 M 접미사를 사용하는 옵션을 지정합니다.

TCP 창 크기 옵션은 환경 변수로 설정할 수 있습니다.
TCP_WINDOW_SIZE. 대부분의 다른 옵션은 환경 변수를 통해 설정할 수 있습니다.
IPERF_, 예를 들어 나. IPERF_BANDWIDTH.

버그 신고

(2) 주요 옵션

-s : 서버 역할
-c : 클라이언트 역할
-p: 포트 번호(기본값: 5001)
-u : TCP 대신 UDP 사용
-w : TCP 창 크기
-b : UDP 사용 시 대역폭 지정
-t : 측정 시간(초)
-d : 양방향 측정

(3) 예

-서버: #iperf -s
– 클라이언트: #iperf -c