Tutoriales y Manuales
Entradas Mensuales
-
▼
2024
(Total:
1090
)
-
▼
diciembre
(Total:
42
)
- iperf para medir la velocidad y el ancho de banda ...
- EE. UU. se plantea prohibir los routers chinos TP-...
- Seagate presenta el Exos M, un disco duro de 30 TB...
- Kali Linux 2024.4: la distro especializada en segu...
- Comparativa OPNSense Vs PFSense
- Fallos comunes en las impresoras de inyección de t...
- Google presenta Trillium, el poderoso chip de IA q...
- España tiene la conexión a Internet más rápida del...
- Desmantelado por Europol el Servicio de mensajería...
- Encuentran el spyware Pegasus en teléfonos de usua...
- DDoSecrets presenta un motor de búsqueda masivo co...
- Raspberry Pi 500, la potencia de la SBC en un teclado
- Novedades del Linux Manjaro 24.2 Yonada
- OpenAI lanza Sora, su revolucionario generador de ...
- En España la CNMC ha sufrido un grave hackeo que h...
- Diagnóstico de problemas para GPUs NVIDIA
- SpeedStep, EIST, PowerNow!, Turbo Core, Turbo Boos...
- Cómo poner la voz de los Minions en Waze
- Actualizaciones de seguridad críticas para Django
- Cómo recuperar mensajes eliminados de WhatsApp y r...
- Grok, la IA de X (Twitter), ahora se puede usar gr...
- ¿Qué es un HDMI dummy o fantasma? ¿Para qué sirve?
- Un ciberataque al Colegio de Veterinarios comprome...
- Ciberataque expone datos de usuarios personales de...
- Comando tcpdump de Linux: cómo analizar paquetes e...
- Campaña Phishing con "archivos dañados de Word"
- Cómo eliminar anuncios en Windows con Winaero Tweaker
- Microsoft anuncia un nuevo editor de video: fusion...
- Vulnerabilidad crítica en Veeam Service Provider C...
- Ransomware FOG activo en América Latina
- ¿Qué es una centralita virtual?
- SafeLine: un WAF de código abierto
- Intel presenta nueva generación de tarjetas gráfic...
- AnimeFenix cierra mientras que GogoAnime y Anitaku...
- Kali Linux vs Parrot OS vs BlackArch
- Se puede acceder a la webcam de algunos portátiles...
- OFGB, la app para quitar todos los anuncios de Win...
- HandBrake 1.9: nueva versión del transcodificador...
- OpenWrt One, disponible el primer router oficial p...
- La Raspberry Pi Compute Module 5 aterriza para dar...
- AEAT (Agencia Tributaria) de España víctima del gr...
- Meta planea instalar un cable submarino de fibra ó...
- ► septiembre (Total: 50 )
-
▼
diciembre
(Total:
42
)
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
iperf3 es la última versión del popular programa iperf para medir el ancho de banda entre dos o más equipos en red local o Internet . Es...
-
A finales del mes de agosto hablábamos de que los legisladores estadounidense habían solicitado la investigación de TP-Link . Y así, ya ten...
iperf para medir la velocidad y el ancho de banda una red
iperf3 es la última versión del popular programa iperf para medir el ancho de banda entre dos o más equipos en red local o Internet. Esta nueva versión iperf3 no es compatible con el antiguo iperf2, por tanto, debemos actualizar tanto el servidor como el cliente si queremos hacer uso de este nuevo programa. Esta herramienta permite ajustar varios parámetros de manera muy avanzada, relacionado con los protocolos TCP, UDP y SCTP, por supuesto, es compatible tanto con redes IPv4 como IPv6. Iperf3 ha sufrido una gran cantidad de mejoras que permiten exprimir aún más el rendimiento real de la red local, por tanto, es ideal para realizar las pruebas de rendimiento de equipos Multigigabit e incluso 10G.
iPerf es una herramienta diseñada para medir el ancho de banda (bandwidth) entre dos hosts a través de la red. Se trata de una herramienta muy sencilla y a la vez potente que permite generar tráfico / carga TCP o UDP entre dos nodos. Podrías usarla para medir el ancho de banda máximo de la red entre un cliente y un servidor. Puede utilizarse para hacer pruebas de estrés de la red Ethernet, Wi-Fi, o de tu ISP.
Para medir el rendimiento que obtenemos en las pruebas LAN-LAN, LAN-WAN y también pruebas WiFi 6. Hemos comprobado que se comporta mucho mejor que iperf2 en cuanto sobrepasamos la velocidad de 1Gbps, por tanto, cuando hacemos uso de routers, switches o puntos de acceso WiFi 6, hacemos uso de este programa que nos brinda una medición más exacta de la velocidad que conseguimos.
En este tutorial os vamos a enseñar cómo utilizar este programa tan interesante para medir la velocidad real entre dos equipos, independientemente de si están conectados en la red local LAN o en Internet, ya que al hacer uso de los protocolos TCP y UDP, podremos abrir un puerto en el servidor para que uno o varios clientes se comuniquen directamente, y poder comprobar la velocidad real.
La importancia de medir velocidades LAN-LAN
Estamos acostumbrados a medir la velocidad en Internet, pero no podemos olvidarnos de la velocidad de comunicación entre ordenadores. Aunque en un entorno doméstico esto quizá no sea demasiado importante, en un entorno empresarial donde la comunicación en red entre ordenadores es crucial, sí lo es.
La medición de velocidad entre ordenadores es fundamental para evaluar y optimizar el rendimiento de una red. En este ámbito, herramientas como iperf3 tienen un papel esencial para proporcionar información precisa de la transferencia de datos entre sistemas.
Hay varios aspectos muy importantes que hay que tener en cuenta para entender la importancia de medir la velocidad LAN-LAN. En primer lugar, permite evaluar el rendimiento real de la conexión, identificando posibles cuellos de botella o limitaciones que podrían afectar al rendimiento del sistema. Algo muy importante en entornos empresariales donde la velocidad de transferencia de datos puede ser un aspecto crítico en el funcionamiento de aplicaciones y de la productividad.
Además, medir la velocidad entre ordenadores con herramientas como iperf3 facilita la detección de posibles problemas de congestión o interferencias en la red. Al obtener datos específicos de transmisión de datos, los administradores de red pueden evaluar y tomar decisiones más eficientes para una mejor gestión de la red y garantizar un flujo eficiente de datos.
Otro aspecto importante a tener en cuenta sobre la importancia de medir velocidades entre ordenadores es tener en todo momento la garantía de la estabilidad de la red. La medición constante de la velocidad permitirá identificar patrones y variaciones de velocidad a lo largo del tiempo, lo que es esencial para garantizar una conectividad eficiente, fluida y estable.
iPerf2 vs iPerf3, ¿Cuál es la diferencia?
Ha habido diferentes versiones de esta herramienta en los últimos años. Empezó con ttcp del National Laboratory for Applied Network Research (NLANR), y después fue desarrollado iPerf (iPerf 2). iPerf3 is una nueva implementación hecha desde cero con el objetivo de tener una versión con código más simple, más pequeño y una librería de la funcionalidad para que pueda ser usada por otros programas. La funcionalidad entre iPerf2 y IPerf3 es principalmente compatible, sin embargo, deberías saber que usan puertos distintos por defecto. En Iperf2, el puerto por defecto es el 5001, y en iPerf3, el 5201.
iPerf3 añade funcionalidades adicionales, como informes de retransmisiones TCP, y el modo verbose da mucha información de uso de CPU… etc. Además, tiene una mejor implementación para realizar pruebas UDP. Finalmente, el código de Iperf3 es más pequeño y está optimizado.
En las pruebas hechas en este post, vamos a utilizar iPerf3.
Principales características de iperf3
iperf3 es un programa completamente renovado, que nada tiene que ver con iperf2, ya que no son compatibles entre ellos. iperf3 hereda lo mejor de iperf2, e incorpora características nuevas para permitirnos realizar mediciones a velocidades Multigigabit sin problemas. Está desarrollado principalmente por ESnet / Laboratorio Nacional Lawrence Berkeley, y publicado bajo una licencia BSD de tres cláusulas.
Para cada prueba que realicemos, nos informará del ancho de banda de subida y descarga, de la pérdida de paquetes y de otros parámetros. Este viene rediseñado de la versión original, la cual se desarrolló en NLANR/DAST. Iperf3, se trata de una implementación desde cero, con un objetivo, ser la base de código más pequeña y simple, y ser una versión de biblioteca, la cual se puede usar en otros programas.
Este también incorpora diferentes características, las cuales podemos encontrar en otras herramientas como nuttcp y netperf, las cuales no estaban en el iperf inicial. Estos incluyen modos de copia cero y una salida JSON, pero de forma opcional. En todo caso, debemos tener en cuenta, que iperf3 no es compatible con sus versiones anteriores.
Estas herramientas realizan mediciones activas, de forma que determinan el ancho de banda que una red puede alcanzar como máximo. También nos permite ajustar diferentes parámetros en relación al tiempo, los búferes y los protocolos. Este nos informará para cada prueba, del rendimiento medido, las pérdidas y otros parámetros.
Respecto a los protocolos TCP y SCTP, es capaz de medir el ancho de banda, informar del tamaño de MTU (Maximum Transfer Unit) y del MSS (Maximum Segment Size), además, también soporta para configurar el tamaño de ventana TCP a través del buffer del socket. En cuanto a UDP, el cliente puede crear diferentes flujos de datos UDP, permite medir la pérdida de paquetes, el jitter (fluctuación del retardo), e incluso soporta Multicast. El cliente permite establecer múltiples conexiones simultáneas con el servidor, además, el servidor es capaz de recibir múltiples conexiones simultáneas de varios orígenes diferentes. Por supuesto, podremos ejecutarlo durante un tiempo determinado, o definiendo una cantidad de datos a enviar determinados.
Otras características importantes de iperf3, es la posibilidad de mostrar periódicamente el estado de la conexión, el ancho de banda hasta el momento, el jitter, la pérdida de paquetes etc. También podremos hacer funcionar el servidor iperf como demonio en el sistema operativo. Otras novedades incorporadas, es la posibilidad de ignorar TCP Slowstart del propio protocolo TCP, fijar el ancho de banda para UDP o TCP, establecer una etiqueta de flujo para IPv6, configurar el algoritmo de control de congestión, posibilidad de sacar toda la información en formato JSON, e incluso podremos realizar test de lectura y escritura directamente en el disco duro.
Este nuevo programa iperf3 tiene licencia BSD, eso significa que es código abierto y multiplataforma, es compatible con sistemas operativos Windows, Linux, Android, MacOS X, FreeBSD, OpenBSD, NetBSD, VxWorks, Solaris y muchos otros. En todo caso, si no es compatible con las versión que usamos en un determinado sistema, siempre es posible encontrar los binarios, que son proporcionados por la comunidad. En definitiva, las características más importantes de iperf3 son las siguientes:
- Compatible con TCP, UDP y SCTP
- Mide ancho de banda, MSS/MTU y permite configurar la ventana TCP en el sistema operativo.
- Multiplataforma, compatible con Windows, Linux, Android, MacOS X, FreeBSD, OpenBSD, NetBSD y más.
- Permite realizar múltiples conexiones simultáneas
- Permite hacer los test de velocidad en sentido descarga y subida
- Se puede configurar un tiempo específico o transferir una determinada cantidad de datos
- Proporciona información de ancho de banda, jitter etc.
- Permite funcionar como proceso en el sistema operativo.
- Incorpora funciones avanzadas como ignorar el TCP slowstart, configurar el algoritmo de control de congestión y más.
Tal y como habéis visto, iperf3 supone un antes y un después en la medición del ancho de banda en red local e Internet, ahora os vamos a enseñar a descargarlo y utilizarlo en vuestros equipos.
Rendimiento de iperf3
Esta herramienta que se utiliza para realizar mediciones de rendimiento de diferentes datos, puede afectar al rendimiento del sistema. Al igual que todas las herramientas que podemos utilizar, tiene un impacto en el rendimiento general ya que consume recursos. Lo primero que debemos ver en cuanto a estos recursos, es que esta herramienta consume tanto procesador, como memoria y capacidad de red. Por lo cual, si lo ejecutamos en una máquina que es más limitada en estos aspectos, los tiempos de respuesta pueden tener algunas variaciones.
Por otro lado, cuando esta se ejecuta en una red de producción puede generar un tráfico intenso. Esto afectará a las demás aplicaciones y usuarios que se encuentren en red en estos momentos. Todo se puede acrecentar un poco si la configuración no es la más adecuada, donde iperf3 puede inundar la red con tráfico innecesario. Provocando problemas de congestión en la red y una degradación de rendimiento. Iperf3 puede generar paquetes de tamaño variable, lo cual no siempre se refleja en el tráfico de la red real. Lo que puede dar resultados diferentes o poco precisos al no representar la experiencia real de los usuarios que se encuentran en red.
Entonces estamos ante una herramienta muy útil para solucionar problemas de optimización en la red, pero debemos tener cuidado ya que es algo que puede tener un impacto negativo en el rendimiento de todo el sistema. Afectando a la productividad que a su vez afecta a diferentes sectores de la producción, como a la experiencia de los usuarios con efectos parecidos sobre la actividad. Debemos tener en cuenta la capacidad del sistema, la configuración de la herramienta de iperf3, así como considerar todos los factores previamente a darle uso. Ya que las consecuencias pueden ser notorias, más en los efectos sobre terceros que sobre iperf3 como tal.
Desventajas de iperf3
Iperf3 es una herramienta popular para medir el rendimiento de la red, pero también presenta algunas desventajas, así que vamos a analizarlas para que las tengas claras antes de comenzar a utilizarla:
- Conocimientos mínimos: Usar iperf3 no es tan fácil como otro tipo de programas, y para poder ejecutarlo necesitaremos ciertos conocimientos sobre informática y este tipo de herramientas, por lo que, de no tenerlas, habrá que comenzar a ver tutoriales como el de hoy.
- Interfaz gráfica: Al igual que muchos programas similares a este, no tiene una interfaz gráfica, y todo irá a través de líneas de comandos, por lo que será mucho más complicado para gente inexperta, así como visualmente menos atractivo.
- Configuración manual: Iperf3 en la mayoría de casos requiere configuración manual de parámetros, lo que puede ser tedioso y propenso a errores, especialmente en pruebas complejas.
- Protocolos limitados: Pese a que admite muchos protocolos, no cuenta con todos, y algunos como soporte para IPv6 o multiplexión de flujos no los tiene, por lo que tendremos que tenerlo en cuenta dependiendo de nuestras necesidades.
- Dependencia de recursos: Si ejecutamos este programa en una máquina con un hardware limitado, los resultados podrían verse afectados, debido a la necesidad de ciertos recursos para su buen funcionamiento.
- Escalabilidad: Aunque Iperf3 es excelente para pruebas en pequeña escala, puede ser menos eficiente en pruebas de gran escala que involucran múltiples flujos y conexiones simultáneas, ya que puede requerir más configuración y recursos.
- Sin historial: Iperf3 no guarda automáticamente un historial de pruebas o resultados, lo que puede ser inconveniente para el seguimiento de rendimiento, sobre todo si necesitamos, en algún momento dato, un dato anterior.
Estas serían algunas contras del programa, aunque si realmente necesitas usarlo, seguro que acabas solventándolas de una forma u otra, ya que no son tan importantes como para impedir su instalación, la cual veremos ahora.
Descarga e instalación de iperf3
Este programa continúa su desarrollo, en la web oficial de Iperf3 tenéis las últimas versiones disponibles para los diferentes sistemas operativos. Una vez descargado, tendremos que descomprimir el archivo ZIP y ya podremos ejecutarlo, pero en este caso no tenemos una interfaz gráfica de usuario ni tampoco un script ejecutable, debemos ejecutarlo a través de la línea de comandos, ya sea en Windows o en Linux/MacOS.
Es muy probable que, en los próximos meses, algún desarrollador lance una interfaz gráfica de usuario para iperf3. Este programa para comprobar el rendimiento real de la red local cableada e inalámbrica es el más utilizado actualmente, porque está disponible para todos los sistemas operativos al ser multiplataforma, algo que ya ocurría anteriormente con iperf2 que lo hemos estado usando durante años. Gracias a la interfaz gráfica de usuario de iperf2 llamada jperf, podíamos ver de manera gráfica el rendimiento de los diferentes hilos TCP y UDP, además, se mostraba en tiempo real. Este programa de interfaz gráfica de usuario no dejaba ser una interfaz gráfica basada en Java que obtenía la información directamente del propio programa iperf2.
Lo más normal es que próximamente, algún desarrollador también lance una interfaz gráfica de usuario similar, donde realmente el funcionamiento del programa no cambie, y solamente muestre en tiempo real la velocidad de transferencia. Otro punto a favor si se incorpora una interfaz gráfica de usuario, es que no tendremos que preocuparnos por aprendernos los diferentes argumentos que podemos utilizar con este programa, actualmente deberemos aprendernos los argumentos mínimos para su buen funcionamiento, sin embargo, con interfaz gráfica de usuario tan solo tendremos que rellenar diferentes casillas como la dirección IP de destino, puerto de destino, si queremos enviar múltiples flujos TCP paralelos etc.
Cómo usar Iperf
Iperf debe ser instalado en ambos computadores entre los cuales esté haciendo pruebas de conexión. Si usted está utilizando un sistema operativo basado en Linux o Unix en su computador personal, entonces será capaz de instalar Iperf en su máquina local. Sin embargo, si usted está probando el rendimiento en, lo mejor es que utilice otro servidor como el otro extremo de la conexión, ya que su ISP local puede imponer restricciones de red que podrían afectar los resultados de sus pruebas.
Instalar Iperf
Debian y Ubuntu
Puede usar apt-get para instalar Iperf en Debian y Ubuntu:
apt-get install iperf
CentOS
Los repositorios de CentOS no tienen Iperf por defecto. Debe usar el repositorio EPEL, que es un repositorio usado para instalar paquetes de software de terceros en sistemas basados en RedHat como RHEL y CentOS.
Para habilitar el repositorio EPEL en su servidor CentOS siga nuestro tutorial. Una vez terminados los pasos en la guía, use yum para instalar Iperf:
yum update
yum install iperf
Fedora
Para instalar Iperf en su servidor Fedora ejecute:
yum update
yum install iperf
Arch Linux
Para instalar Iperf en su servidor Arch Linux ejecute:
pacman -S iperf
Gento
Usando Portage, instale Iperf en su distro de Gentoo:
emerge iperf
Si todavía no ha ejecutado emerge --sync puede que necesite hacerlo antes de que se le permita instalar el paquete de Iperf. Adicionalmente, por defecto deberá sustituir cada comando iperf con /usr/bin/iperf3. Esta ruta puede variar según la versión de instalación de Iperf.
Ejecución de iperf3 en Windows, Linux y macOS
Una vez que hayamos descomprimido el ZIP descargado, entramos en el símbolo del sistema (cmd) o en el terminal de Linux, nos movemos con el comando «cd» por los diferentes directorios, y cuando ya estemos en el directorio de iperf3, debemos ejecutarlo en modo servidor en un PC, y en modo cliente en otro PC:
iperf3.exe
./iperf3
Por supuesto, al ejecutarlo nos saldrá la ayuda de iperf, ya que no hemos puesto ningún argumento.
Funcionamiento y primer test de velocidad
El funcionamiento de iperf3 es muy sencillo, lo primero que debemos tener claro es que es un programa que se ejecuta a través de la línea de comandos, y tenemos diferentes argumentos para configurar su comportamiento. Al estar ante un programa cliente-servidor, es necesario hacer funcionar dos iperf3, uno en un PC como servidor, y otro iperf como cliente para comprobar la velocidad desde el cliente hasta el servidor.
Para arrancar el iperf3 en modo servidor:
iperf3.exe -s
./iperf3 -s
Para arrancar el iperf3 en modo cliente con ciertas opciones que posteriormente os explicaremos:
iperf3.exe -c IP -P 50 -f g -t 5
Tal y como habéis visto, este programa funciona perfectamente en redes 10G, exprimiendo al máximo las conexiones cableadas para conseguir velocidades ultrarrápidas sin ningún problema. Con iperf2 teníamos problemas para superar las velocidades de 1.5Gbps, con el programa antiguo teníamos que configurar la ventana TCP en Windows y otros parámetros avanzados para poder conseguir más velocidad. Gracias a iperf3, no tendremos que hacer nada porque es mucho más eficiente y es capaz de exprimir la velocidad del enlace al máximo, incluso si utilizamos enlaces de 25G e incluso 40G podremos hacerlo.
Una vez que ya sabemos realizar una prueba de rendimiento básica con iperf3, os vamos a enseñar todas las opciones disponibles en este programa.
Ejemplo cliente:
Ejemplo servidor:
Opciones de configuración generales: para cliente y servidor
Los siguientes argumentos se pueden introducir después de la ejecución del propio programa, de la siguiente forma: «iperf3 -argumentos» y no importa el orden a la hora de introducir los argumentos.
- -p puerto: podremos elegir el puerto a utilizar, ya sea TCP o UDP, este puerto debe ser exactamente tanto en el servidor como en todos los clientes.
- –cport puerto: esta opción nos permite especificar el puerto en el lado del cliente, solo para iperf 3.1 o superior.
- -f formato: podremos elegir la unidad de medición que nos aparecerá a la hora de ver la velocidad.
- k: Kbits
- K: Kbytes/s
- m: Mbits
- M: MBytes/s
- g: Gbps
- G: GBytes/s
- -i intervalo: intervalo de tiempo medido en segundos donde iperf3 nos mostrará toda la información de ancho de banda, jitter y pérdida de paquetes. Por defecto es 0.
- -F nombre_archivo: en el cliente es el archivo leído y escrito en la red local, en lugar de usar información aleatoria. En el servidor es lo leído desde la red y escrito a un archivo.
- -B host: permite realizar un binding a una tarjeta e red en concreto, ideal por si tenemos múltiples interfaces.
- -V: salida con todos los detalles (verbose)
- -J: salida en formato JSON
- –logfile archivo: envía la salida a un archivo de registro (solo en iperf 3.1)
- –d: debug
- -v: version del programa
- -h: lanza la ayuda del programa
Opciones de configuración solo para el servidor
Los siguientes argumentos se pueden introducir después de la ejecución del propio programa, de la siguiente forma: «iperf3 -argumentos» y no importa el orden a la hora de introducir los argumentos. Estos argumentos solamente se pueden usar en el servidor iperf3.
- -s: arranca iperf en modo servidor.
- -D: arranca el programa en segundo plano como demonio.
- -I: escribe un archivo con el ID del proceso, ideal para usarlo con -D (demonio).
A continuación, podéis ver algunos ejemplos.
Podemos ejecutar el servidor iperf3 de manera predeterminada, automáticamente hará uso del protocolo TCP en puerto 5201.
Podemos ejecutar el servidor iperf3 con TCP y el puerto 5000 de la siguiente forma:
./iperf3 -s -p 5000
Opciones de configuración solo para el cliente
Los siguientes argumentos se pueden introducir después de la ejecución del propio programa, de la siguiente forma: «iperf3 -argumentos» y no importa el orden a la hora de introducir los argumentos. Estos argumentos solamente se pueden usar en el cliente iperf3.
- -c direccion_IP: arranca iperf en modo cliente para conectarnos a un servidor, debemos definir la dirección IP justo después.
- –sctp: utiliza este protocolo SCTP en lugar de TCP (por defecto).
- -u: utiliza el protocolo UDP en lugar de TCP (por defecto).
- -b ancho_de_banda: permite definir un ancho de banda en N bits/sec, por defecto es 1MB/s en UDP e ilimitado en TCP. Si utilizamos el argumento -P para enviar múltiples flujos de datos, este ancho de banda se aplica a cada uno de ellos.
- -t tiempo: en segundos para transmitir información a la máxima velocidad. Por defecto son 10 segundos, pero podremos poner lo que queramos.
- -n número: número de datos a transmitir, en lugar de utilizar tiempo (-t) usamos datos.
- -k paquetes: número de paquetes a transmitir, en lugar de usar tiempo (-t) o datos (-n).
- -l (L minúscula): longitud del buffer leído o escrito.
- -P número: número de flujos de datos simultáneos, recomendable poner 5 o superior para exprimir la red al máximo.
- -R: el tráfico de iperf normalmente va desde el cliente hasta el servidor, si ponemos este argumento, el tráfico irá desde el servidor hasta el cliente.
- -w tamaño: permite especificar el tamaño de ventana de TCP
- -M mss: permite configurar el MSS de TCP
- -N: configura la opción no-delay de TCP.
- -4: utilizamos redes IPv4.
- -6: utilizamos redes IPv6.
- -S: tipo de servicio para los paquetes salientes.
- -L etiqueta: permite configurar la etiqueta de flujo para redes IPv6.
- -Z: utiliza el método zero-copy, reduce muchísimo el uso de CPU por parte del programa.
- -O segundos: omite los primeros X segundos del test, para evitar problemas con el TCP slowstart y que nos proporcione una medida sin la ráfaga del principio.
- -T título: permite poner un título delante de cada cadena
- -C algoritmo: permite configurar el algoritmo de congestión, solamente en Linux con iperf 3.0 y en FreeBSD con iperf 3.1
A continuación, podéis ver algunos ejemplos.
Podemos ejecutar el cliente iperf3 con algunos argumentos muy interesantes:
iperf3.exe -c 192.168.1.10 -P 50 -p 5000 -f g -t 5
- -c 192.168.1.10: actúa en modo cliente con la IP definida.
- -P 50: mandamos un total de 50 conexiones TCP
- -p 5000: hacemos uso del puerto 5000, el por defecto es 5201
- -f g: mostramos la velocidad en Gbps
- -t 5: lanzamos el test durante 5 segundos.
Comandos básicos que deberías saber
Máquina Servidor
iperf3 -s -D
iperf3 -s -p 5003
iperf3 -s -D --logfile /var/log/iperf.log --timestamps
iperf3 -s -V
Máquina Cliente
iperf3 -c <SERVER IP> -i 2 -t 30
iperf3 -c <SERVER IP> -r -i 1 -t 30
iperf3 -c <SERVER IP> -i 1 -t 20 -w 32768 -P 4
Opciones generales:
-f, --format
[kmKM] formato en el cual informar: Kbits, Mbits, KBytes, MBytes
-h, --help
mostrar una sinopsis de ayuda
-i, --interval n
pausar n segundos entre informes periódicos de ancho de banda
-l, --len n[KM]
establecer extensión del buffer de lectura/escritura en n (el valor predeterminado es 8 KB)
-m, --print_mss
imprimir tamaño de segmento máximo de TCP (MTU - encabezado de TCP/IP)
-o, --output <nombre de archivo>
generar el informe o el mensaje de error de este archivo específico
-p, --port n
establecer el puerto del servidor para escuchar o conectar en n (el valor predeterminado es 5001)
-u, --udp
usar UDP en lugar de TCP
-w, --window n[KM]
tamaño de ventana de TCP (tamaño de buffer de conector)
-B, --bind <host>
vincular a <host>, una dirección multidifusión o una interfaz
-C, --compatibility
para el uso con versiones más antiguas sin enviar mensajes adicionales
-M, --mss n
establecer tamaño máximo de segmento de TCP (MTU: 40 bytes)
-N, --nodelay
establecer TCP sin retraso, lo que deshabilita el algoritmo de Nagle
-v, --version
mostrar información de versión y salir
-V, --IPv6Version
establecer el dominio como IPv6
-x, --reportexclude
[CDMSV] excluir informes de C(conexión) D(datos) M(multidifusión) S(ajustes)
V(servidor)
-y, --reportstyle C|c
si se establece en C o c, los resultados del informe tendrán formato CSV (valores separados por comas)
Opciones específicas del servidor:
-s, --server
ejecutar en el modo de servidor
-U, --single_udp
ejecutar en modo UDP de subproceso único
-D, --daemon
ejecutar el servidor como demonio
Opciones específicas de cliente:
-b, --bandwidth n[KM]
establecer el ancho de banda objetivo en n bits/s (valor predeterminado de 1 Mbit/s).
Este ajuste necesita UDP (-u).
-c, --client <host>
ejecutar en el modo de cliente, lo que conecta a <host>
-d, --dualtest
realizar simultáneamente una prueba bidireccional
-n, --num n[KM]
número de bytes que se debe transmitir (en lugar de -t)
-r, --tradeoff
realizar una prueba bidireccional de manera individual
-t, --time n
tiempo en segundos para transmitir (el valor predeterminado es 10 s)
-F, --fileinput <nombre>
ingresar los datos que se deben transmitir desde un archivo
-I, --stdin
ingresar los datos que se deben transmitir desde stdin
-L, --listenport n
puerto para volver a recibir pruebas bidireccionales
-P, --parallel n
número de subprocesos de clientes paralelos que se deben ejecutar
-T, --ttl n
período de disponibilidad para la multidifusión (el valor predeterminado es 1)
-Z, --linux-congestion <algoritmo>
establecer algoritmo de control de congestión de TCP (solo Linux)
Para más información ejecutaremos la opción -h
Usage: iperf [-s|-c host] [options]
iperf [-h|–help] [-v|–version]
Client/Server:
-f -i -l -m -p -u -w -B -C -M -N -V |
–format –interval –len –print_mss –port –udp –window –bind –compatibility –mss –nodelay –IPv6Version |
[kmKM] # #[KM] # #[KM] # |
format to report: Kbits, Mbits, KBytes, MBytes seconds between periodic bandwidth reports length of buffer to read or write (default 8 KB) print TCP maximum segment size (MTU – TCP/IP header) server port to listen on/connect to use UDP rather than TCP TCP window size (socket buffer size) bind to “host”, an interface or multicast address for use with older versions does not sent extra msgs set TCP maximum segment size (MTU – 40 bytes) set TCP no delay, disabling Nagle’s Algorithm Set the domain to IPv6 |
Server specific:
-s -U -D |
–server –single_udp –daemon |
|
run in server mode run in single threaded UDP mode run the server as a daemon |
Client specific:
-b -c -d -n -r -t -F -I -L -P -T |
–bandwidth –client –dualtest –num –tradeoff –time –fileinput –stdin –listenport –parallel –ttl |
#[KM] “host” #[KM] # # |
for UDP, bandwidth to send at in bits/sec (default 1 Mbit/sec, implies -u) run in client mode, connecting to “host” Do a bidirectional test simultaneously number of bytes to transmit (instead of -t) Do a bidirectional test individually time in seconds to transmit for (default 10 secs) input the data to be transmitted from a file input the data to be transmitted from stdin port to recieve bidirectional tests back on number of parallel client threads to run time-to-live, for multicast (default 1) |
Miscellaneous:
-h -v |
–help –version |
print this message and quit print version information and quit |
Versiones anteriores
Como hemos mencionado al inicio de la entrada, iperf3 no es compatible con sus versiones anteriores. En el caso de iperf2, ya no está siendo desarrollado por los administradores originales. Pero desde 2014, otro desarrollador se está encargando de corregir sus errores, mejorar las funcionalidades y generar nuevas versiones de iperf2. Ambas herramientas, se siguen desarrollando de forma continua y activa, pero independientemente.
Tal y como habéis visto, este programa iperf3 es muy sencillo porque nos permite ejecutar un iperf con interfaz gráfica de usuario, sin necesidad de introducir complicados comandos y argumentos. Con esta herramienta, podremos dar el primer paso para determinar la funcionalidad y velocidad de una red. Al ser un servicio de línea de comandos y código abierto, realiza las mediciones de rendimiento de forma estandarizada, sin importar la red. Por eso, iperf es una de las herramientas más populares para estas tareas.
Fuentes:
https://www.redeszone.net/tutoriales/redes-cable/iperf3-medir-velocidad-lan-wifi-internet/
https://oastic.com/es/posts/how-to-test-bandwith-with-iperf/
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.