Persiguiendo los cuellos de botella de red con iperf3
@ YoVirtualizador | Miércoles, 13 de Octubre de 2021 | 12 minutos de lectura | Actualizado en Miércoles, 13 de Octubre de 2021

Persiguiendo los cuellos de botella de red con iperf3

Persiguiendo los cuellos de botella

He hecho un vídeo en el cual hablo de esto. Está en este artículo por si no lo has visto.

La descarga

La descarga de los binarios de iperf, para todas las plataformas, se puede realizar desde esta web del proyecto donde están los ejecutables para windows, mac, android, y muchas más plataformas.
Es posible que los paquetes para linux estén más actualizados en este sitio que en los repositorios de la distribución. En principio podemos usarlos indistintamente.

Sintaxis

La documentación oficial la podéis consultar en la web del proyecto y es de donde he tirado para documentarlo todo.

Lo primero, es que trabajamos en un modo. Modo servidor, o modo cliente.

Sintaxis Usado en el vídeo Descripción
iperf3 -s Si Iniciar el programa en modo servidor. Pedirá permiso en el firewall.
iperf3 -s -D No Iniciar en modo servidor además como demonio de sistema. Pendiente de ver como se usa.
iperf3 -s -p X No Iniciar en modo servidor escuchando en puerto X. Se puede combinar con -u para escuchar en UDP.
iperf3 -s -F Fichero Si Iniciar el programa en modo servidor. Lo que se recibe se escribe en el fichero Fichero.
iperf3 -c IP Si Modo básico del cliente. Con una IPv4 o IPv6 realiza peticiones al servidor y las va mostrando en pantalla.
iperf3 -c IP -f [bkmgABKMGA] No Muestra los resultados con conversión de unidades de medida, minúsculas en bites y mayúsculas en bytes, también A o a de forma adaptativa por defecto.
iperf3 -c IP -u No Modo de cliente para enviar el tráfico por UDP.
iperf3 -c IP -F Fichero Si Modo cliente leyendo del fichero Fichero. Con una IPv4 o IPv6 y leerá todo o parte del fichero para enviarlo al servidor.

Parámetros adicionales como -w, para el tamaño de la ventana o -b para determinar el ancho de banda podrían ser interesantes pero nos quedan lejos en este momento.
También resulta interesante el parámetro -R que invierte el flujo, produciendo el envío de datos desde el servidor al cliente.
Hay muchísimas más opciones. Podéis verlas en la web del proyecto.

Arquitectura de red

primera captura

La arquitectura es simple.
Tengo 2 equipos de momento, y un tercero, que pertenece a otro segmento de red en casa, que se comunican gracias al router WRT.
En realidad es un viejo router Ar-5387un de Jazztel al que le he puesto un firmware de OpenWRT y me está sirviendo como separación entre mis redes domésticas junto con otros equipos y en este caso, para practicar también con IPv6.
La “pega” es que los puertos ethernet son de 100 Mbps y por lo tanto poco voy a sacar de ahí. Esos enlaces están representados en gris.
El switch de mesa conecta con los equipos a 1 Gbps, por lo tanto los enlaces en negro son bastante más rápidos.
En este caso, podría servir cualquiera de estos:

Enlace Tipo
D-Link DGS-108GL Switch básico de 8 puertos gigabit
D-Link DGS-108 Switch doméstico de 8 puertos gigabit
D-Link DGS-1100-08 Switch profesional/gama de entrada de 8 puertos gigabit con QoS y VLAN

Las pruebas

Pues tal como se puede apreciar en el vídeo las pruebas se realizan entre ambos Windows por las tarjetas de placa y las de USB.

Prueba 1

De las líneas de 100 Mbps, con los adaptadores PCIe Gb de realtek
Cliente en el equipo W11 y servidor W10.

Lado servidor:

PS C:\users\equipo\Downloads> .\iperf3.exe -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.202, port 53191
[  5] local 192.168.1.201 port 5201 connected to 192.168.1.202 port 53192
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  11.1 MBytes  93.4 Mbits/sec
[  5]   1.00-2.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   2.00-3.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   3.00-4.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   4.00-5.00   sec  11.3 MBytes  94.8 Mbits/sec
[  5]   5.00-6.00   sec  11.3 MBytes  95.0 Mbits/sec
[  5]   6.00-7.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   7.00-8.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   8.00-9.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   9.00-10.00  sec  11.3 MBytes  94.9 Mbits/sec
[  5]  10.00-10.03  sec   378 KBytes  92.2 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.03  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.03  sec   113 MBytes  94.8 Mbits/sec                  receiver

Lado cliente:

PS C:\Users\Sistemas\Downloads> .\iperf3.exe -c 192.168.1.201
Connecting to host 192.168.1.201, port 5201
[  4] local 192.168.1.202 port 53192 connected to 192.168.1.201 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.01   sec  11.6 MBytes  96.8 Mbits/sec
[  4]   1.01-2.00   sec  11.2 MBytes  94.9 Mbits/sec
[  4]   2.00-3.00   sec  11.2 MBytes  94.2 Mbits/sec
[  4]   3.00-4.00   sec  11.4 MBytes  95.6 Mbits/sec
[  4]   4.00-5.01   sec  11.4 MBytes  94.9 Mbits/sec
[  4]   5.01-6.00   sec  11.2 MBytes  94.9 Mbits/sec
[  4]   6.00-7.01   sec  11.4 MBytes  94.9 Mbits/sec
[  4]   7.01-8.00   sec  11.2 MBytes  94.9 Mbits/sec
[  4]   8.00-9.01   sec  11.4 MBytes  94.9 Mbits/sec
[  4]   9.01-10.00  sec  11.2 MBytes  94.9 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   113 MBytes  95.1 Mbits/sec                  sender
[  4]   0.00-10.00  sec   113 MBytes  95.1 Mbits/sec                  receiver

iperf Done.

Prueba 2

De las líneas de 1 Gbps, con los adaptadores USB Gb de realtek
Cliente en el equipo W11 y servidor W10.

Lado Servidor:

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 169.254.207.66, port 58307
[  5] local 169.254.161.219 port 5201 connected to 169.254.207.66 port 58308
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  41.6 MBytes   349 Mbits/sec
[  5]   1.00-2.00   sec  42.0 MBytes   352 Mbits/sec
[  5]   2.00-3.00   sec  42.2 MBytes   354 Mbits/sec
[  5]   3.00-4.00   sec  42.3 MBytes   355 Mbits/sec
[  5]   4.00-5.00   sec  42.2 MBytes   354 Mbits/sec
[  5]   5.00-6.00   sec  42.2 MBytes   354 Mbits/sec
[  5]   6.00-7.00   sec  42.3 MBytes   355 Mbits/sec
[  5]   7.00-8.00   sec  42.3 MBytes   355 Mbits/sec
[  5]   8.00-9.00   sec  42.2 MBytes   354 Mbits/sec
[  5]   9.00-10.00  sec  42.3 MBytes   355 Mbits/sec
[  5]  10.00-10.01  sec   583 KBytes   347 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.01  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.01  sec   422 MBytes   354 Mbits/sec                  receiver

Lado cliente:

PS C:\Users\Sistemas\Downloads> .\iperf3.exe -c 169.254.161.219
Connecting to host 169.254.161.219, port 5201
[  4] local 169.254.207.66 port 58308 connected to 169.254.161.219 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  42.2 MBytes   354 Mbits/sec
[  4]   1.00-2.00   sec  42.0 MBytes   352 Mbits/sec
[  4]   2.00-3.00   sec  42.1 MBytes   354 Mbits/sec
[  4]   3.00-4.00   sec  42.4 MBytes   355 Mbits/sec
[  4]   4.00-5.00   sec  42.2 MBytes   354 Mbits/sec
[  4]   5.00-6.00   sec  42.2 MBytes   354 Mbits/sec
[  4]   6.00-7.00   sec  42.2 MBytes   355 Mbits/sec
[  4]   7.00-8.00   sec  42.4 MBytes   355 Mbits/sec
[  4]   8.00-9.00   sec  42.1 MBytes   354 Mbits/sec
[  4]   9.00-10.00  sec  42.2 MBytes   354 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   422 MBytes   354 Mbits/sec                  sender
[  4]   0.00-10.00  sec   422 MBytes   354 Mbits/sec                  receiver

iperf Done.

Prueba 3

De las líneas de 1 Gbps, con los adaptadores PCIe Gb de realtek
Cliente en el equipo W11 y servidor W10.

Lado Servidor:

PS C:\Users\Sistemas\Downloads> .\iperf3.exe -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 169.254.76.145, port 51660
[  5] local 169.254.124.136 port 5201 connected to 169.254.76.145 port 51661
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   108 MBytes   907 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   938 Mbits/sec
[  5]   2.00-3.00   sec   113 MBytes   949 Mbits/sec
[  5]   3.00-4.00   sec   113 MBytes   948 Mbits/sec
[  5]   4.00-5.00   sec   113 MBytes   948 Mbits/sec
[  5]   5.00-6.00   sec   113 MBytes   948 Mbits/sec
[  5]   6.00-7.00   sec   113 MBytes   947 Mbits/sec
[  5]   7.00-8.00   sec   113 MBytes   948 Mbits/sec
[  5]   8.00-9.00   sec   113 MBytes   947 Mbits/sec
[  5]   9.00-10.00  sec   113 MBytes   948 Mbits/sec
[  5]  10.00-10.00  sec   314 KBytes   881 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.00  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec                  receiver

Lado cliente:

PS C:\users\equipo\Downloads> .\iperf3.exe -c 169.254.124.136
Connecting to host 169.254.124.136, port 5201
[  4] local 169.254.76.145 port 51661 connected to 169.254.124.136 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   108 MBytes   909 Mbits/sec
[  4]   1.00-2.00   sec   112 MBytes   938 Mbits/sec
[  4]   2.00-3.00   sec   113 MBytes   949 Mbits/sec
[  4]   3.00-4.00   sec   113 MBytes   948 Mbits/sec
[  4]   4.00-5.00   sec   113 MBytes   948 Mbits/sec
[  4]   5.00-6.00   sec   113 MBytes   948 Mbits/sec
[  4]   6.00-7.00   sec   113 MBytes   947 Mbits/sec
[  4]   7.00-8.00   sec   113 MBytes   947 Mbits/sec
[  4]   8.00-9.00   sec   113 MBytes   948 Mbits/sec
[  4]   9.00-10.00  sec   113 MBytes   947 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec                  sender
[  4]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec                  receiver

iperf Done.

Prueba 4

De las líneas de 100 Mbps, con los adaptadores USB Gb de realtek
Cliente en el equipo W11 y servidor W10.

Lado servidor:

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.203, port 51662
[  5] local 192.168.1.234 port 5201 connected to 192.168.1.203 port 51663
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  10.7 MBytes  89.9 Mbits/sec
[  5]   1.00-2.00   sec  11.3 MBytes  94.8 Mbits/sec
[  5]   2.00-3.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   3.00-4.00   sec  11.3 MBytes  94.8 Mbits/sec
[  5]   4.00-5.00   sec  11.3 MBytes  95.0 Mbits/sec
[  5]   5.00-6.00   sec  11.3 MBytes  94.8 Mbits/sec
[  5]   6.00-7.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   7.00-8.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   8.00-9.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   9.00-10.00  sec  11.3 MBytes  94.9 Mbits/sec
[  5]  10.00-10.02  sec   205 KBytes  89.8 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.02  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.02  sec   113 MBytes  94.4 Mbits/sec                  receiver

Lado cliente:

PS C:\users\equipo\Downloads> .\iperf3.exe -c 192.168.1.234
Connecting to host 192.168.1.234, port 5201
[  4] local 192.168.1.203 port 51663 connected to 192.168.1.234 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  11.0 MBytes  92.1 Mbits/sec
[  4]   1.00-2.00   sec  11.2 MBytes  94.6 Mbits/sec
[  4]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec
[  4]   3.00-4.01   sec  11.5 MBytes  95.7 Mbits/sec
[  4]   4.01-5.00   sec  11.2 MBytes  95.0 Mbits/sec
[  4]   5.00-6.00   sec  11.2 MBytes  94.5 Mbits/sec
[  4]   6.00-7.00   sec  11.2 MBytes  94.3 Mbits/sec
[  4]   7.00-8.01   sec  11.5 MBytes  95.8 Mbits/sec
[  4]   8.01-9.00   sec  11.2 MBytes  94.9 Mbits/sec
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   113 MBytes  94.6 Mbits/sec                  sender
[  4]   0.00-10.00  sec   113 MBytes  94.6 Mbits/sec                  receiver

iperf Done.

Prueba 5 ya solo por curiosidad

De las líneas de 1 Gbps, cruzando los adaptadores PCIe Gb de realtek y USB Gb de realtek.
Esta vez analizo los dos sentidos y me quedo con los logs del lado cliente.

Lado cliente PCIe Gb:

Connecting to host 169.254.207.66, port 5201
[  4] local 169.254.76.145 port 51668 connected to 169.254.207.66 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  40.1 MBytes   336 Mbits/sec
[  4]   1.00-2.00   sec  42.1 MBytes   353 Mbits/sec
[  4]   2.00-3.00   sec  42.1 MBytes   353 Mbits/sec
[  4]   3.00-4.00   sec  42.0 MBytes   352 Mbits/sec
[  4]   4.00-5.00   sec  42.1 MBytes   354 Mbits/sec
[  4]   5.00-6.00   sec  42.1 MBytes   353 Mbits/sec
[  4]   6.00-7.00   sec  42.1 MBytes   353 Mbits/sec
[  4]   7.00-8.00   sec  42.0 MBytes   353 Mbits/sec
[  4]   8.00-9.00   sec  42.1 MBytes   353 Mbits/sec
[  4]   9.00-10.00  sec  42.1 MBytes   353 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   419 MBytes   351 Mbits/sec                  sender
[  4]   0.00-10.00  sec   419 MBytes   351 Mbits/sec                  receiver

iperf Done.

Lado cliente USB Gb:

PS C:\Users\Sistemas\Downloads> .\iperf3.exe -c 169.254.76.145
Connecting to host 169.254.76.145, port 5201
[  4] local 169.254.207.66 port 62508 connected to 169.254.76.145 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  42.9 MBytes   359 Mbits/sec
[  4]   1.00-2.00   sec  42.6 MBytes   358 Mbits/sec
[  4]   2.00-3.00   sec  42.8 MBytes   359 Mbits/sec
[  4]   3.00-4.00   sec  42.8 MBytes   359 Mbits/sec
[  4]   4.00-5.00   sec  42.9 MBytes   359 Mbits/sec
[  4]   5.00-6.00   sec  42.6 MBytes   358 Mbits/sec
[  4]   6.00-7.00   sec  42.6 MBytes   358 Mbits/sec
[  4]   7.00-8.00   sec  42.8 MBytes   358 Mbits/sec
[  4]   8.00-9.00   sec  42.8 MBytes   359 Mbits/sec
[  4]   9.00-10.00  sec  42.6 MBytes   358 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   427 MBytes   358 Mbits/sec                  sender
[  4]   0.00-10.00  sec   427 MBytes   358 Mbits/sec                  receiver

iperf Done.

Resumen, si es que hace falta

Pues tal como se ha podido ver tanto en vídeo como en los logs de este artículo, el tema es que las tarjetas USB no dan lo que prometen y se quedan alrededor de 1/3 del caudal esperado.
La solución entonces pasará por dejar el adaptador de 1Gb de placa base, el PCIe Gb de realtek contra el switch de D-Link, y los adaptadores USB contra el punto de acceso WRT.

Con esto y hemos visto y disipado un cuello de botella en la red. Ahora toca seguir buscando más para afinar más aún.


YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Y sin más, os dejo los enlaces:

Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70

YoVirtualizador blog
Tu podcast y blog de confianza
Actualizacion Alternativas Arm Audacity Backup Bananapi Bcu Blog Bricolaje Bulkcrap Uninstaller Centos Certificados Charlas Clientes Cockpit Comparativa Control Correo Crisis Datacenter Directo Directorio Activo Disco Discos Dns Docker Edicion De Video Escritorios Esxi Esxiarm Evento Fedora Fedora Kde Fibra Foss Fusion Gestion Github Gpo Hack Hiperconvergencia Hipervisor Historia Hosting Housing Hugo Humor Hyper V Instalacion Instalaciones Ios Iperf Iperf3 Kde Kdenlive Licenciamiento Linux Lista De Aplicaciones Lvm Malas Practicas Maquina Virtual Markdown Micro Pc Migracion Mobaxterm Modo Dios Nubes Off Topic Open Source Openssh P2v Parches Particionado Periodismo Phishing Pi Hole Pildoras Player Podcast Powercli Powershell Prensa Procedimientos Prolific Proyecto Puerto Serie Punto De Montaje Raspberry Reciclado Redes Rendimiento Retro Retrocompatibilidad Rfc Rs 232 Saga Samba Seguridad Share Sintaxis Sistema Operativo Sistemas Smb Ssl Subsistemas Sysadmin Telegram Tiempos Troubleshooting Usb Ttl Utilidades Velocidad Ventoy Virtualbox Virtualizacion Virtualizacion Para Todos Vmrc Vmware Vmware Player Website Whitebox Windows Windows 10 Windows 11 Windows Ssh Witebox Workstation X X11forwarding Xcp Ng Xdmcp Youtube Yovirtualizador

© 2019 - 2021 YoVirtualizador

Powered by Hugo with theme Dream.

Política de privacidad aquí.

Política de cookies aquí.

Aviso legal aquí.

Acerca de YoVirtualizador

Acerca de YoVirtualizador

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.

Política de comentarios

Política de comentarios

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

Galletas

Galletas

Política de cookies

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia.