iperf3 유틸리티를 이용한 장치간 네트워크 Throughput 측정하기

반응형

    1. 개요

    iperf3이라는 유틸리티를 이용하여 장치간 네트워크 트래픽에 대한 Throughput을 측정할 수 있습니다. Throughput은 보통 장치의 네트워킹 성능을 측정하거나 네트워크의 품질을 판단하는데 사용됩니다.

     

    본 글에서는 리눅스 시스템(우분투 16.04) 상에서 iperf3 유틸리티를 이용하여 두 장치간 네트워크 Throughput을 측정하는 방법을 소개합니다.

     

    2. 장치(PC 등) 별 네트워크 인터페이스 주소 설정

    두 장치 사이에서 교환되는 네트워크 트래픽에 대한 성능을 측정하므로 2개의 리눅스 장치를 사용합니다.

     

    장치1에서 다음 명령으로 IPv4 및 IPv6 주소를 설정합니다. 원할 경우 MAC 주소도 설정할 수 있습니다. 여기서는 네트워크 인터페이스 이름으로 eth0을 사용하고 임의의 IPv4/IPv6 주소를 사용했지만, 시스템에 맞게 다른 값을 사용하면 됩니다.

    ip link set dev eth0 down
    ip link set dev eth0 address 00:01:02:03:04:05
    ip link set dev eth0 up
    ifconfig eth0 add 1090::8:800:200C:4185/64
    ifconfig eth0 192.168.1.5

     

    장치2에서 다음 명령으로 IPv4 및 IPv6 주소를 설정합니다. 원할 경우 MAC 주소도 설정할 수 있습니다. 여기서는 네트워크 인터페이스 이름으로 eth0을 사용하고 임의의 IPv4/IPv6 주소를 사용했지만, 시스템에 맞게 다른 값을 사용하면 됩니다.

    ip link set dev eth0 down
    ip link set dev eth0 address 00:01:02:03:04:06
    ip link set dev eth0 up
    ifconfig eth0 add 1090::8:800:200C:4186/64
    ifconfig eth0 192.168.1.6

     

    3. Ping/Ping6 유틸리티를 이용한 장치간 통신 확인

    두 장치간 네트워크 Throughput을 측정하기 위해서는, 기본적으로 두 장치간 IP 통신이 가능해야 하므로, Ping/Ping6 유틸리티를 이용하여 장치간 IP 통신이 가능한지 확인합니다.

     

    장치1에서 다음 명령으로 IPv4 통신 가능 여부를 확인합니다.

    ping 192.168.1.6

     

    또한 장치1에서 다음 명령으로 IPv6 통신 가능 여부를 확인합니다.

    ping6 -I eth0 1090::8:800:200C:4186

     

    위 명령들로 두 장치간의 IPv4/IPv6 통신 여부가 확인되면 iperf3를 이용하여 네트워크 Throughput을 측정할 수 있습니다.

     

     

     

    4. iperf3 유틸리티를 이용한 장치간 IPv4 Throughput 측정

    장치 2에서 다음을 실행합니다.

    iperf3 -s -i 1

    각 옵션의 의미는 다음과 같습니다.

    • -s : 서버로 동작
    • -i 1 : 1초 단위로 Throughput 측정 및 출력

     

    장치 1에서 다음 명령으로 IPv4 TCP Throughput을 측정합니다.

    iperf3 -c 192.168.1.6 -i 1 -t 30

    각 옵션의 의미는 다음과 같습니다.

    • -c 192.168.1.6 : 클라이언트로 동작하며, 192.168.1.6 주소를 갖는 서버에 접속하여 측정
    • -i 1 : 1초 단위로 Throughput 측정 및 출력
    • -t 30 : 30초간 측정

     

    UDP Throughput을 측정할 경우에는 다음과 같이 "-u -b <Bandwidth>" 옵션을 추가로 사용합니다. 이 때 Bandwidth는 네트워크 인터페이스 성능 및 네트워크 용량을 감안하여 적당한 값을 사용합니다.

    iperf3 -c 192.168.1.6 -i 1 -t 30 -u -b 100M

     

    5. iperf3 유틸리티를 이용한 장치간 IPv6 Throughput 측정

    장치 2에서 다음을 실행합니다.

    iperf3 -s -i 1

    각 옵션의 의미는 다음과 같습니다.

    • -s : 서버로 동작
    • -i 1 : 1초 단위로 Throughput 측정 및 출력

     

    장치 1에서 다음 명령으로 IPv6 TCP Throughput을 측정합니다.

    iperf3 -c 1090::8:800:200C:4186 -i 1 -t 30

    각 옵션의 의미는 다음과 같습니다.

    • -c 1090::8:800:200C:4186 : 클라이언트로 동작하며, 1090::8:800:200C:4186 주소를 갖는 서버에 접속하여 측정
    • -i 1 : 1초 단위로 Throughput 측정 및 출력
    • -t 30 : 30초간 측정

     

    UDP Throughput을 측정할 경우에는 다음과 같이 "-u -b <Bandwidth>" 옵션을 추가로 사용합니다. 이 때 Bandwidth는 네트워크 인터페이스 성능 및 네트워크 용량을 감안하여 적당한 값을 사용합니다.

    iperf3 -c 1090::8:800:200C:4186 -i 1 -t 30 -u -b 100M

    파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

     

    댓글

    Designed by JB FACTORY