Uso de iPerf para probar la velocidad y el ancho de banda de la red (rendimiento)

IPerf es una herramienta de código abierto diseñada para probar el ancho de banda de la red entre dos nodos de red. El iPerf permite generar tráfico / carga TCP y UDP entre dos hosts. Puede usar iPerf para medir rápidamente el ancho de banda máximo de la red (rendimiento) entre un servidor y un cliente, realizar pruebas de estrés del canal de comunicación del ISP, enrutador, puerta de enlace de red (firewall), su red Ethernet o Wi-Fi.

En este artículo, le mostraremos cómo instalar y usar el iPerf herramienta para comprobar el rendimiento de la red en Ventanas y Linux CentOS (hay versiones de iPerf para Android, MacOS, RouterOS de MikroTik y otras plataformas).

Versiones de iPerf: iPerf2 vs iPerf3

IPerf es una herramienta multiplataforma y no requiere instalación, simplemente cópiela y ejecútela en dos dispositivos, entre los cuales desea probar el rendimiento de la red.

IPerf funciona en modo servidor-cliente. En el primer dispositivo, el iPerf se inicia en modo servidor (está esperando el tráfico del cliente iPerf). En la segunda computadora, el iPerf se inicia en modo cliente, genera tráfico TCP o UDP y mide la velocidad máxima de transferencia de datos.

Actualmente hay dos ramas independientes de iPerf que se desarrollan en paralelo: iPerf2 y iPerf3. La funcionalidad de estas herramientas es en su mayoría compatible, pero utilizan diferentes puertos de red de forma predeterminada. En iPerf1 / 2 es 5001, en iPerf3 es 5201.

  • iPerf2 se usa preferiblemente para subprocesos paralelos, pruebas bidireccionales, y esta versión es oficialmente compatible con el sistema operativo Windows;
  • iPerf3 tiene una mejor implementación de las pruebas UDP de alta velocidad. El código IPerf3 es significativamente más pequeño y está mejor optimizado.

Las diferencias restantes no son tan significativas, por lo que no es necesario utilizar una versión específica de iPerf (incluso los parámetros de la CLI son los mismos). En este artículo usaremos el iperf3.

El iPerf3 no es oficialmente compatible con la plataforma Windows, pero funciona bastante bien. No noté ningún error obvio. Puede enviar su informe de error a https://github.com/esnet/iperf.

¿Cómo instalar iPerf en Windows?

Tú puedes descargar iPerf 3.1.3 para Windows desde el siguiente enlace https://iperf.fr/iperf-download.php.  No necesita instalar la herramienta, basta con descargar el archivo iPerf y extraerlo a un directorio local en la unidad. Solo hay dos archivos en el archivo: cygwin1.dll y iperf3.exe.

descargar iperf3 para windows 10 x64

Hay varias implementaciones de iPerf GUI para Windows. Por ejemplo, Iperf3-Cygwin-GUI o jperf.

El jperf está escrito en Java (para ejecutar jperf, la VM de Java debe estar instalada en la computadora). Además de la forma gráfica de la interfaz CLI, Jperf puede crear gráficos de ancho de banda del canal de comunicación en tiempo real.

Para usarlo, simplemente especifique la dirección del servidor iPerf y ejecute el escaneo.

jPerf - aplicación java

Hay un separado iPerfAutomate módulo en la Galería de scripts de PowerShell que se puede usar para obtener métricas de rendimiento de la red de sus scripts de PowerShell. Puede instalar el módulo con el comando: Install-Module -Name iPerfAutomate

Instalación de iPerf en CentOS Linux

En CentOS 8, el paquete iperf3 se incluye en el AppStream repositorio base (en CentOS 7 puede encontrar iperf3 en el repositorio EPEL). Puede instalarlo con el comando dnf (yum):

# dnf install iperf3

En las distribuciones Debian / Ubuntu, puede instalar iperf3 con el comando:

sudo apt install iperf3

instalar iperf3 en linux centos a través de yum o dnf

Si desea utilizar su instancia de Linux como servidor iperf3, debe abrir los puertos TCP / UDP 5201 en firewalld (iptables):

# firewall-cmd --permanent --add-port=5201/udp
# firewall-cmd --permanent --add-port=5201/tcp
# firewall-cmd --reload

Uso del comando iPerf para medir la velocidad / ancho de banda de la red

Veamos algunos ejemplos del uso de iPerf para probar el rendimiento de la red. En este ejemplo, usaremos un host Linux CentOS como servidor iPerf. Ejecute la herramienta iPerf3 en modo servidor:

# iperf3 –s

El servidor iPerf se está ejecutando, está esperando conexiones en el puerto 5201 TCP.

Server listening on 5201.

Insinuación. Los argumentos de iPerf distinguen entre mayúsculas y minúsculas.

iperf3: ejecuta el servidor de escucha en linux. 5201 puerto

Dependiendo de la configuración del firewall entre el cliente y el servidor, puede cambiar el puerto de escucha usando el argumento -pag [port_number]. Puede ejecutar el servidor iPerf con un tamaño de ventana TCP grande y en un puerto TCP diferente. Usa el comando:

# iperf3 -s -w 32768 –p 5200

  • -w 32768 – establezca el tamaño de las ventanas de TCP en 32 kB (de forma predeterminada, es de aproximadamente 8 kB)
  • –P 5200 – el puerto en el que iPerf está esperando conexiones (les recuerdo que iperf2 escucha por defecto en el puerto 5001 y el iperf3 en 5201).

Estoy usando una computadora con Windows 10 instalado como cliente iPerf. Ejecute el símbolo del sistema y vaya al directorio con el ejecutable de iPerf:
cd c:toolsiperf
Para ejecutar una prueba de ancho de banda de red desde el cliente, especifique la dirección del servidor iPerf (o el nombre DNS):
iperf3.exe -c 192.168.1.200
Si inició el servidor iPerf con un tamaño de ventana TCP aumentado, puede usar el siguiente comando para obtener la carga máxima de red:

iperf3.exe -c 192.168.1.200 -P 8 -t 30 -w 32768

  • -c 192.168.1.200 – Dirección IP del servidor iPerf;
  • -w 32768 – aumentar el tamaño de la ventana TCP;
  • -t 30 – es el tiempo en segundos para realizar la prueba (por defecto, es 10 segundos);
  • -P 8 – es el número de subprocesos paralelos (flujos) para obtener la carga máxima del canal;

generar la carga máxima de red con iperf

En mi ejemplo, la prueba duró 30 segundos. En el informe final, nos interesan los valores de la Banda ancha columna listada en la última [SUM] línea. En este caso, el ancho de banda de red promedio entre dos hosts es 85,9 Mbit / s. Se transfirieron 307 MB de datos (Transferir columna) con la velocidad simétrica (emisor = receptor).

Utilizando la -F argumento, puede cambiar el formato de velocidad (bits, kilobits o megabits). En las pruebas continuas, cuando tenga que estimar el rendimiento durante varios minutos (horas), puede establecer el período de tiempo para mostrar los resultados intermedios utilizando el -I opción.

obtenga el ancho de banda máximo de la red con la herramienta iperf

Puede ejecutar iPerf en modo inverso (el servidor envía datos y el cliente acepta). Usuario el –R opción en el cliente para esto.

De forma predeterminada, la utilidad genera tráfico TCP, si necesita verificar el ancho de banda de su red para paquetes UDP, debe usar el –U opción. En este caso, debe iniciar el servidor iPerf con el comando: iperf3 -s –u).

Si necesita probar el ancho de banda de su proveedor de servicios de Internet, puede utilizar uno de los servidores públicos de iPerf (la lista de servidores públicos de iPerf está disponible aquí):

iperf3 -c iperf.scottlinux.com

Si necesita medir la velocidad máxima de la red en ambas direcciones (en modo dúplex), utilice el -D opción en el cliente:

iperf3.exe -c IP -P 8 -t 30 -w 32768 –d

ancho de banda de la red

Durante la prueba de red con iPerf, puede monitorear la tabla de rendimiento de su conexión de red a través del Administrador de tareas.

Es importante tener en cuenta que, durante la prueba, iPerf utiliza todas ancho de banda disponible del canal de comunicación entre el cliente y el servidor, lo que puede afectar negativamente a las aplicaciones productivas y a los usuarios.

rendimiento de Ethernet

Puede mostrar la lista completa de opciones de la siguiente manera:

iperf3 –help

Iperf es una utilidad de red conveniente y fácil de usar que le ayuda a medir el rendimiento de la conexión de red y la velocidad máxima de transferencia de datos entre dos dispositivos.

 

Artículos Interesantes