Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Networking Iperf
⚠️⚠️⚠️
Please check our page about COVID-19!!
100 Questions and answers about Coronavirus.
⚠️⚠️⚠️
Merci de consulter notre page sur la COVID-19 !!
227 questions et réponses sur le Coronavirus.
Iperf
es una herramienta para medir el ancho de banda y la calidad de un enlace de red. Jperf puede ser
asociado con Iperf para tener una interfaz gráfica escrita en Java.
Finalmente, Iperf puede ser instalado muy fácilmente en cualquier sistema basado en UNIX/Linux o
Microsoft Windows. Un cliente debe tener la función de cliente y otro la de servidor.
A continuación se muestra un diagrama donde Iperf está instalado en dos computadoras, una ejecutando
Linux y la otra Microsoft Windows.
La computadora con Linux es usada como cliente en Iperf y la que ejecuta Windows es el servidor,
también es posible usar dos computadoras con Windows o dos con Linux.
Iperf tests:
-p, -t, -i
Puerto, temporización e intervalo
no Configuración por default -u, -b
Análisis UDP, configuración de ancho de
arg.
Formato de los datos
banda
-b
Ancho de banda bidireccional -m
Visualización del máximo tamaño de
-r
Ancho de banda bidireccional
segmento
-d
simultaneo -M
Ajustes al máximo tamaño de segmento
-w
Tamaño de la ventana de TCP
Análisis en paralelo
-P
Ayuda
-h
Jperf:
no arg.
Configuración por Default
https://openmaniak.com/es/iperf.php 1/12
12/9/21 23:24 IPERF - The Easy Tutorial
-d
Ancho de banda bidireccional simultaneo
-u, -b Análisis por UDP, ajustes de ancho de bandas
Por default, en Iperf el cliente se conecta al servidor en el Puerto TCP 5001 y el ancho de banda mostrado
por Iperf es el ancho de banda del cliente al servidor.
Cliente:
#iperf -c 10.1.1.1
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16384 Byte (default)
------------------------------------------------------------
[ 3] local 10.6.2.5 port 33453 connected with 10.1.1.1 port 5001
[ 3] 0.0-10.2 sec 1.26 MBytes 1.05 Mbits/sec
Servidor:
#iperf -s
------------------------------------------------------------
------------------------------------------------------------
[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 33453
[ ID] Interval Transfer Bandwidth
El argumento –f sirve para mostrar los resultados en el format deseado: bits(b), bytes(B), kilobits(k),
kilobytes(K), megabits(m), megabytes(M), gigabits(g) or gigabytes(G).
Generalmente las mediciones del ancho de banda son mostradas en bits (o Kilobits, etc…) y la cantidad de
datos se muestra en bytes (o Kilobytes, etc…).
Como recordatorio, 1 byte es igual a 8 bits y en las ciencias de la computación, 1 kilo es igual a 1024
(2^10).
Por ejemplo: 100,000,000 bytes no son lo mismo que 100 Mbytes, en realidad son 100,000,000/1024 =
95.37 Mbytes.
Cliente:
#iperf -c 10.1.1.1 -f b
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16384 Byte (default)
------------------------------------------------------------
[ 3] local 10.6.2.5 port 54953 connected with 10.1.1.1 port 5001
[ 3] 0.0-10.2 sec 1359872 Bytes 1064272 bits/sec
Servidor:
#iperf -s
------------------------------------------------------------
------------------------------------------------------------
[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 33453
[ ID] Interval Transfer Bandwidth
Inicio de la página
En un análisis por default solo se mide el ancho de banda en la dirección del cliente al servidor. En la
medición bidireccional, el servidor se conecta de vuelta con el cliente permitiendo la medición bidireccional
del ancho de banda.
https://openmaniak.com/es/iperf.php 2/12
12/9/21 23:24 IPERF - The Easy Tutorial
Si se desea realizar la medición del ancho de banda en ambas direcciones simultáneamente, se utiliza el
argumento –d.
Cliente:
#iperf -c 10.1.1.1 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 10.6.2.5 port 35726 connected with 10.1.1.1 port 5001
[ 5] 0.0-10.0 sec 1.12 MBytes 936 Kbits/sec
Servidor:
#iperf -s
------------------------------------------------------------
------------------------------------------------------------
[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 54355
[ ID] Interval Transfer Bandwidth
------------------------------------------------------------
------------------------------------------------------------
[824] local 10.1.1.1 port 1646 connected with 10.6.2.5 port 5001
[ ID] Interval Transfer Bandwidth
Inicio de la página
Para medir el ancho de banda en ambas direcciones, se utiliza el argumento –d. Si se desea analizar el
ancho de banda en forma secuencial, se usa el argumento –r (ver análisis previo).
Por default, i.e., sin los argumentos –r o –d, solo se mide el ancho de banda del cliente al servidor.
Cliente:
#iperf -c 10.1.1.1 -d
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
Servidor:
#iperf -s
------------------------------------------------------------
------------------------------------------------------------
[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 60270
------------------------------------------------------------
------------------------------------------------------------
[800] local 10.1.1.1 port 2643 connected with 10.6.2.5 port 5001
https://openmaniak.com/es/iperf.php 3/12
12/9/21 23:24 IPERF - The Easy Tutorial
[ ID] Interval Transfer Bandwidth
Inicio de la página
El tamaño de la ventana TCP es la cantidad de datos que pueden ser almacenados en el buffer durante
una conexión sin la validación por parte del receptor.
El tamaño se encuentra dentro del rango de 2 a 65,535 bytes.
En los sitemas Linux, cuando se especifica un tamaño de ventana con el argumento –w, el kernel reserva
el doble de lo indicado.
Cliente:
WARNING: TCP window size set to 2000 bytes. A small window size
------------------------------------------------------------
------------------------------------------------------------
Servidor:
#iperf -s -w 4000
------------------------------------------------------------
------------------------------------------------------------
[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 51400
[ ID] Interval Transfer Bandwidth
Inicio de la página
El puerto de comunicación puede ser cambiado con el argumento –p, este debe estar configurado tanto en
el cliente como en el servidor y debe ser el mismo valor, el puerto TCP por default es el 5001.
Cliente:
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 12000
Servidor:
#iperf -s -p 12000
------------------------------------------------------------
https://openmaniak.com/es/iperf.php 4/12
12/9/21 23:24 IPERF - The Easy Tutorial
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[852] local 10.1.1.1 port 12000 connected with 10.6.2.5 port 58316
Inicio de la página
Las pruebas utilizando UDP se realizan con el argumento –u, estas pruebas proporcionan información
importante sobre el jitter y pérdida de paquetes. Si no se especifica el argumento –u, Iperf utiliza TCP.
Para mantener una buena calidad en el enlace, la pérdida de paquetes no debe ser mayor a 1%. Una taza
de pérdida de paquetes alta generará muchas retransmisiones de segmentos TCP, lo cual afectará el ancho
de banda.
Cliente:
------------------------------------------------------------
Client connecting to 10.1.1.1, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 108 KByte (default)
------------------------------------------------------------
[ 3] local 10.6.2.5 port 32781 connected with 10.1.1.1 port 5001
[ 3] 0.0-10.0 sec 11.8 MBytes 9.89 Mbits/sec
[ 3] Sent 8409 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 11.8 MBytes 9.86 Mbits/sec 2.617 ms 9/ 8409 (0.11%)
Servidor:
#iperf -s -u -i 1
------------------------------------------------------------
------------------------------------------------------------
[904] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 32781
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
Inicio de la página
El tamaño máximo del segmento(MSS) es la mayor cantidad de datos, en bytes, que soporta una
computadora en un solo segmento de TCP sin fragmentar.
Este tamaño puede ser calculado de la siguiente manera:
MSS = MTU – encabezados TCP e IP
Los encabezados TCP e IP tienen un tamaño igual a 40 bytes.
El MTU o unidad máxima de transferencia es la mayor cantidad de datos que puede ser tranferida en una
trama.
A continuación se muestra una lista de unidades máximas de transferencia por default en diferentes
topologías de red:
Ethernet – 1500 bytes: usado en redes de área local
Token Ring (16 Mb/sec) – 17914 bytes: tecnología antigua desarrollada por IBM
https://openmaniak.com/es/iperf.php 5/12
12/9/21 23:24 IPERF - The Easy Tutorial
Generalmente, una MTU (y MSS) proporciona mayor eficiencia del ancho de banda
Cliente:
#iperf -c 10.1.1.1 -m
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.6.2.5 port 41532 connected with 10.1.1.1 port 5001
[ 3] 0.0-10.2 sec 1.27 MBytes 1.04 Mbits/sec
Servidor:
#iperf -s
Inicio de la página
Se utiliza el argumento –M para cambiar el MSS. (Ver la prueba anterior para mayor información acerca
del MSS)
WARNING: attempt to set TCP maximum segment size to 1300, but got 536
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.6.2.5 port 41533 connected with 10.1.1.1 port 5001
[ 3] 0.0-10.1 sec 4.29 MBytes 3.58 Mbits/sec
Servidor:
#iperf -s
Inicio de la página
Cliente:
#iperf -c 10.1.1.1 -P 2
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.6.2.5 port 41534 connected with 10.1.1.1 port 5001
[ 4] local 10.6.2.5 port 41535 connected with 10.1.1.1 port 5001
[ 4] 0.0-10.1 sec 1.35 MBytes 1.12 Mbits/sec
[ 3] 0.0-10.1 sec 1.35 MBytes 1.12 Mbits/sec
[SUM] 0.0-10.1 sec 2.70 MBytes 2.24 Mbits/sec
Servidor:
#iperf -s
Inicio de la página
Ayuda de Iperf:
#iperf -h
https://openmaniak.com/es/iperf.php 6/12
12/9/21 23:24 IPERF - The Easy Tutorial
Uso: iperf [-s|-c cliente] [opciones]
iperf [-h|--ayuda] [-v|--versión]
Cliente/Servidor:
-f --format [kmKM] Formato del reporte: Kbits, Mbits, KBytes, MBytes
-i --interval
#
segundos entre reportes de ancho de banda periódicos
-l --len
#[KM]
longitud del buffer para leer o escribir ( 8 KB por default)
-m --print_mss
imprimir el máximo tamaño de segmento en TCP (MTU - TCP/IP header)
-p --port
#
puerto para conectarse/escuchar
-u --udp
usar UDP en vez de TCP
-w --window
#[KM]
Tamaño de la ventana de TCP (tamaño de buffer del socket)
-B --bind
"host"
amarrar a cliente, interfaz o dirección de multicast
-C --compatibility
para usarse con versiones anteriores, no envía mensajes extras
-M --mss
#
fija el máximo tamaño de segmento de TCP (MTU - 40 bytes)
-N --nodelay
fija TCP sin retardo, deshabilitando el algoritmo de Nagle
-V --IPv6Version fija el dominio a IPv6
- --client
ejecutar en modo de cliente, conectandose a "host"
-r --num
numero de bytes a transmitir (en vez de -t)
-I --stdin
introducir los datos a ser transmitidos desde stdin
#
L --parallel
numero de de hilos paralelos a ejecutar
#
- --ttl time-to-live, paramulticast (por default 1)
P
-
T
Miscelaneos:
-h --help
Imprime este mensaje de ayuda y sale
-v --version Imprime la información de versión y sale
Inicio de la página
JPERF
1. Instalación:
Descargar Jperf.
Linux
Ejecutar iperf.
#cd jperf2.0.0
#./jperf.sh
https://openmaniak.com/es/iperf.php 7/12
12/9/21 23:24 IPERF - The Easy Tutorial
Microsoft Windows
2. Ejemplos:
- Servidor Windows:
https://openmaniak.com/es/iperf.php 8/12
12/9/21 23:24 IPERF - The Easy Tutorial
Inicio de la página
Jperf
- Cliente Linux:
https://openmaniak.com/es/iperf.php 9/12
12/9/21 23:24 IPERF - The Easy Tutorial
- Servidor Windows:
Inicio de la página
Jperf
https://openmaniak.com/es/iperf.php 10/12
12/9/21 23:24 IPERF - The Easy Tutorial
- Servidor Windows:
https://openmaniak.com/es/iperf.php 11/12
12/9/21 23:24 IPERF - The Easy Tutorial
Inicio de la página
Jperf
https://openmaniak.com/es/iperf.php 12/12