Iperf2 vs Iperf3 – Medición del rendimiento de la red

Iperf es una herramienta de medición y optimización del rendimiento de la red.

La aplicación iperf es un programa multiplataforma que puede proporcionar métricas estándar del rendimiento de la red. Iperf consta de un cliente y un servidor que pueden generar un flujo de datos para evaluar el rendimiento entre dos puntos finales en una o ambas direcciones.

iperf2

Una salida típica de iperf incluye un informe de tiempo sellado de la cantidad de datos transportados y el rendimiento medido.

Iperf2

Iperf2 es una herramienta de medición del rendimiento y la capacidad de respuesta de la red compatible con TCP y UDP. Uno de sus objetivos es mantener el código base de iperf funcionando en varias plataformas y sistemas operativos.

Se trata de una arquitectura multihilo que crece en proporción al número de CPU o núcleos de un sistema con el que puede obtener e informar del rendimiento de la red utilizando estrategias de alto y bajo impacto.

Características de Iperf2

  • Admite intervalos de informe más pequeños (100 us o más, configure –enable-fast sampling para obtener una salida de tiempo de intervalo de alta precisión).
  • Soporta SO_RCVTIMEOUT para servidores de informes independientemente de que no haya paquete
  • Soporta SO_SNDTIMEO al enviar para que las escrituras de socket no se bloqueen más allá de -t o -i
  • Admite SO_TIMESTAMP para las marcas de tiempo de los paquetes a nivel del núcleo.
  • Admite latencia de fin/fin en formato medio/minuto/máximo/desviación estándar (UDP) (se requiere -e) (suponiendo que los relojes del cliente y del servidor estén sincronizados, por ejemplo, con el protocolo de tiempo de precisión a OCXO por oscilador Spectracom).
  • Admite flujos limitados a nivel TCP (mediante -b) utilizando un token bucket simplificado.
  • Admite paquetes por segundo (UDP) sobre pps como unidades, (por ejemplo, -b 1000pps)
  • Mostrar PPS en los informes de cliente y servidor (UDP) (se requiere -e)
  • Admite programadores en tiempo real como opciones de la línea de comandos (–real-time o -z, si se dispone de los derechos de usuario adecuados).
  • Visualizar el tiempo de bucle objetivo en la cabecera inicial del cliente (UDP)
  • Añadir soporte local de enlaces ipv6 (p.ej. iperf -c fe80::d03a:d127:75d2:4112%eno1)
  • Carga útil UDP ipv6 por defecto 1450 bytes por una trama ethernet por carga útil.
  • Admite tráfico isócrono (mediante –isochronous) y ráfaga de tramas con tráfico de velocidad binaria variable (vbr) e id de trama.
  • La compatibilidad multidifusión SSM para v4 y v6 utiliza -H o -ssm-host, es decir, iperf -s -B ff1e::1 -u -V -H fc00::4
  • Histogramas de latencia para paquetes y tramas (por ejemplo, –udp-histogram=10u.200000, 0.03, 99.97)
  • Soporte para inicios de entrega temporizados por –txstart-time .Soporte para inicios de entrega temporizados por –txstart-time <unix.epoch time>.
  • Soporte para clientes que aumentan la IP de destino con -P a través de –incr-dstip
  • Se ofrece soporte para variar la carga utilizando la distribución normal de los registros en torno a la media y la desviación estándar (por -b ,),Se ofrece soporte para variar la carga utilizando la distribución normal de los registros en torno a la media y la desviación estándar (por -b <media>,<desviación estándar>),
  • Honor -T (ttl) para unicast y multicast
  • UDP utiliza un número de secuencia de 64 bits (aunque todavía funciona con 2.0.5 que utiliza un número de secuencia de 32b).

Sistemas operativos compatibles con Iperf2

  • Linux, Windows 10, Windows 7, Windows XP, macOS, Android y algunos descodificadores OS.

Descargar Iperf2

Iperf2 Windows v2.1.8

Iperf2 Linux v2.1.8

Iperf3

La aplicación Iperf3 es una reescritura de iperf desde cero para crear una base de código más pequeña y sencilla.

iPerf3 es una herramienta para medir el máximo ancho de banda posible en una red IP en tiempo real. Permite ajustar con precisión varios tiempos, búferes y protocolos (TCP, UDP, SCTP con IPv4 e IPv6). Y también proporcionará informes de ancho de banda, pérdidas y otras métricas para cada prueba.

Características de Iperf3

  • TCP y SCTP (Mide el ancho de banda, Informa del tamaño de MSS/MTU y del tamaño de lectura observado, Soporta el tamaño de ventana TCP sobre el buffer del socket).
  • UDP (el cliente puede crear un flujo UDP a partir de un ancho de banda especificado, medir la pérdida de paquetes, medir la fluctuación del retardo, capacidad de multidifusión)
  • Tanto el cliente como el servidor pueden tener varias conexiones simultáneas (opción -P).
  • El servidor gestiona múltiples conexiones, en lugar de detenerse tras una única prueba.
  • Puede ejecutarse durante un tiempo especificado (opción -t), en lugar de cualquier cantidad de datos a transferir (opción -n o -k).
  • Informes periódicos de impresión, ancho de banda medio, jitter y pérdidas a intervalos específicos (opción-i).
  • Ejecutar el servidor como demonio (opción -D)
  • Utilice flujos representativos para comprobar cómo afecta la compresión de la capa de enlace al ancho de banda alcanzable (opción -F).
  • Un servidor recibe un cliente simultáneamente (iPerf3) y varios clientes simultáneamente (iPerf2)
  • Ignora el inicio lento de TCP (opción -O).
  • Establece el ancho de banda objetivo para UDP y (nuevo) TCP (opción -b).
  • Establecer etiqueta de flujo IPv6 (opción -L)
  • Establecer el algoritmo de control de congestión (-opción -C)
  • Utilizar SCTP en lugar de TCP (opción –sctp)
  • La salida está en formato JSON (opción -J).
  • Prueba de lectura de disco (servidor: iperf3 -s / cliente: iperf3 -c testhost -i1 -F nombrearchivo)
  • Prueba de escritura en disco (servidor: iperf3 -s -F nombrearchivo / cliente: iperf3 -c testhost -i1)

Sistemas operativos compatibles con Iperf3

  • Windows, Linux, Android, macOS X, FreeBSD, OpenBSD, NetBSD, VxWorks, Solaris

Descargar Iperf3

Iperf3 Windows 64bit v3.1.3

Iperf3 Windows 32bit v3.1.3

Iperf3 Linux v3.1.3

Iperf2 vs Iperf3

RecomendadosIperf 2Iperf 3
Tipos de tráfico
Tráfico TCPYY
Tráfico UDPYY
Tráfico SCTPNY
IPv4YY
IPv6YY
Tráfico de multidifusión (incluido SSM)YN
Sólo conexión TCPYN
Comprobaciones de capa 2YN
Opciones de salida
Formato humanoYY
Salida JSONNY
CSV (solo básico)YN
Ocultar direcciones IP en la salida (solo v4)YN
Informes de servidor del lado clienteNY
Perfiles de tráfico
Limitación de la velocidad de cola justaYY
Limitación de la velocidad de escrituraYY
Limitación de velocidad de lectura (TCP)YN
EstallaYY
TCP/UDP isócrono (vídeo)YN
Invertir rolesYY
Tráfico bidireccionalYY
Dúplex completo mismo socketYN
Rebote TCP con carga(s) de trabajo opcional(es)YN
Tráfico de ciclo de trabajo bajo con estadísticas del lado del servidorYN
TCP_NOTSENT_LOWAT con select() (usando la opción –tcp-write-prefetch)YN
TCP cerca de la congestión (experimental)YN
Métricas
RendimientoYY
Capacidad de respuesta por segundo (RPS)YN
Paquetes UDP (total/perdidos)YY
Fluctuación UDPYY
Latencias de paquetes UDPYN
 Latencias de trama/ráfaga TCP/UDPYN
Latencias de escritura a lectura TCPYN
Alimentación de red (latencia/rendimiento)YN
InP – Bytes en colas (ley de Little)YN
TCP CWNDYN
Reintentos de TCPYY
TCP RTTYY
Enviar histogramas de retardo de escritura lateralYN
Paquetes UDP por segundoYN
Histogramas de latenciaYN
Tiempos de conexión TCPYN
Respuesta TCP por intervaloYN
Suma solo de salidaYN
Otro
Diseño multiprocesoYN
Técnica paralela -PHilosProcesos
Programación en tiempo realYN
-t Soporte para servidorYN
Soporte de interfaz virtual TAP (solo recepción) a través de –tap-devYN
Afinidad de CPUNY
Cero copiaNY
Etiquetas de flujo IPv6NY
–Omitir la opción (omitir las primeras muestras por vez en segundos)NY
Incr dst ip opción con -PYN
Incr dst ip opción con -PYN
Opción de puerto incr dst con -PYN
Opción de puerto SRC Incr con -PYN
Enlace de dispositivo o interfazYY
Enlace de puerto de origenYN
Hora de inicio programada de txYN
Retrasar la hora de inicio de txYN
Contraseña de usuarioNY
Permitir clavesY (sólo TCP)N
UDP sin estadoYN
Marco de Python (asincio)Y (flujos)N
Prueba de WiFi a través de 100GYN/D
Escalado a 1000+ subprocesosYN/D

Artículos más recientes