You are on page 1of 10

INSTRUCTIVO IPERF

Iperf es una herramienta para medir el ancho de banda y la calidad de un


enlace de red. Jperf es asociado con iperf para tener una interfaz grfica escrita en
Java.
El enlace a certificar est delimitado por dos cliente Iperf.
Para determinar la calidad de un enlace este puede ser determinado bajo las
siguientes mtricas.

Latencia (tiempo de respuesta o RTT): Puede ser medirse usando el comando


PING.
Jitter (variacin en la latencia): puede medirse con Iperf ejecutando prueba
con UDP.
Perdida de datagrama: Puede medirse con Iperf ejecutando prueba con UDP.

El ancho de banda es medido mediante pruebas con TCP.


La diferencia entre TCP (Protocolo de control de transmisin) y UDP (protocolo de
datagrama de usuario) es que TCP utiliza procesos para verificar que los paquetes sean
enviados correctamente al receptor mientras que con UDP los paquetes son enviados
sin realizar verificacin pero con la ventaja de ser ms veloz que TCP. Iperf utiliza las
distintas capacidades de TCP y UDP para entregar datos estadsticos acerca de los
enlaces.
Iperf puede ser instalado fcilmente en cualquier sistema basado en UNIX/Linux o
Microsoft Windows, cumpliendo un equipo la funcin de servidor, y otro de cliente.

A continuacin 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, tambin es posible usar dos computadoras con Windows o dos con Linux.

Argumentos de Iperf

I.

Por defecto

Por defecto, en Iperf se conecta al Puerto 5001 y el ancho de banda mostrado por
Iperf es de cliente al servido.

Servidor
#iperf s
-----------------------------------------------------------Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 33453

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

II.

Medicin del ancho kde banda bidireccional (argumento r)


En la medicin bidireccional, el servidor se conecta de vuelta con el cliente
permitiendo la medicin bidireccional del ancho de banda.
Esta medicin se realiza en forma secuencial.

Servidor
#iperf -s
-----------------------------------------------------------Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 54355
[ ID] Interval Transfer Bandwidth
[852] 0.0-10.1 sec 1.15 MBytes 956 Kbits/sec
-----------------------------------------------------------Client connecting to 10.6.2.5, TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[824] local 10.1.1.1 port 1646 connected with 10.6.2.5 port 5001
[ ID] Interval Transfer Bandwidth
[824] 0.0-10.0 sec 73.3 MBytes 61.4 Mbits/sec

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
[ 4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 1640
[ 4] 0.0-10.1 sec 74.2 MBytes 61.7 Mbits/sec

III.

Medicin simultanea de ancho de banda en ambas direcciones


(argumento d)
Para medir el ancho de banda en ambas direcciones, se utiliza el argumento d

Servidor
#iperf -s
-----------------------------------------------------------Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 60270
-----------------------------------------------------------Client connecting to 10.6.2.5, TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[800] local 10.1.1.1 port 2643 connected with 10.6.2.5 port 5001
[ ID] Interval Transfer Bandwidth
[800] 0.0-10.0 sec 76.3 MBytes 63.9 Mbits/sec
[852] 0.0-10.1 sec 1.55 MBytes 1.29 Mbits/sec

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 60270 connected with 10.1.1.1 port 5001
[ 4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 2643
[ 4] 0.0-10.0 sec 76.3 MBytes 63.9 Mbits/sec
[ 5] 0.0-10.1 sec 1.55 MBytes 1.29 Mbits/sec

IV.

Tamao de la ventana TCP: (argumento -w)

El tamao de la ventana TCP es la cantidad de datos que pueden ser almacenados


en el buffer durante una conexin sin la validacin por parte del receptor.
El tamao se encuentra dentro del rango de 2 a 65,535 bytes.
En los sistemas Linux, cuando se especifica un tamao de ventana con el
argumento w, el kernel reserva el doble de lo indicado

Servidor
#iperf s w 4000
-----------------------------------------------------------Server listening on TCP port 5001
TCP window size: 3.91 KByte
-----------------------------------------------------------[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 51400
[ ID] Interval Transfer Bandwidth
[852] 0.0-10.1 sec 704 KBytes 570 Kbits/sec

Cliente
#iperf c 10.1.1.1 w 2000
WARNING: TCP window size set to 2000 bytes. A small window size
will give poor performance. See the Iperf documentation.
-----------------------------------------------------------Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 3.91 KByte (WARNING: requested 1.95 KByte)
-----------------------------------------------------------[ 3] local 10.6.2.5 port 51400 connected with 10.1.1.1 port 5001
[ 3] 0.0-10.1 sec 704 KBytes 572 Kbits/sec

V.

Puerto de comunicacin (-p), temporizacin (-t) e intervalo de


Comunicacin (-i):

El puerto de comunicacin 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.
El argumento t especifica la duracin del anlisis en segundos, el default es 10
segundos.

El argumento i indica el intervalo entre reportes de ancho de banda en


segundos.

Servidor
#iperf s p 12000
-----------------------------------------------------------Server listening on TCP port 12000
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[852] local 10.1.1.1 port 12000 connected with 10.6.2.5 port 58316
[ ID] Interval Transfer Bandwidth
[852] 0.0-20.1 sec 3.00 MBytes 1.25 Mbits/sec

Cliente
#iperf c 10.1.1.1 p 12000 i 2
-----------------------------------------------------------Client connecting to 10.1.1.1, TCP port 12000
TCP window size: 16.0 KByte (default)
-----------------------------------------------------------[ 3] local 10.6.2.5 port 58316 connected with 10.1.1.1 port 12000
[ 3] 0.0- 2.0 sec 224 KBytes 918 Kbits/sec
[ 3] 2.0- 4.0 sec 368 KBytes 1.51 Mbits/sec
[ 3] 4.0- 6.0 sec 704 KBytes 2.88 Mbits/sec
[ 3] 6.0- 8.0 sec 280 KBytes 1.15 Mbits/sec
[ 3] 8.0-10.0 sec 208 KBytes 852 Kbits/sec
[ 3] 10.0-12.0 sec 344 KBytes 1.41 Mbits/sec
[ 3] 12.0-14.0 sec 208 KBytes 852 Kbits/sec
[ 3] 14.0-16.0 sec 232 KBytes 950 Kbits/sec
[ 3] 16.0-18.0 sec 232 KBytes 950 Kbits/sec
[ 3] 18.0-20.0 sec 264 KBytes 1.08 Mbits/sec
[ 3] 0.0-20.1 sec 3.00 MBytes 1.25 Mbits/sec

VI.

Anlisis en paralelo (argumento -P)


El argumento P se utiliza para correr pruebas en paralelo

Servidor
#iperf s

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

VII.

Pruebas con UDP: (-u), ajustes de ancho de banda (-b)


Las pruebas utilizando UDP se realizan con el argumento u, estas pruebas
proporcionan informacin importante sobre el jitter y prdida de paquetes. Si
no se especifica el argumento u, Iperf utiliza TCP.
Para mantener una buena calidad en el enlace, la prdida de paquetes no
debe ser mayor a 1%. Una taza de prdida de paquetes alta generar muchas
retransmisiones de segmentos TCP, lo cual afectar el ancho de banda.
El jitter es bsicamente la variacin de la latencia y no depende de este
mismo. Se puede tener un tiempo de respuesta grande y un jitter muy bajo.
El valor del jitter es particularmente importante en enlaces que son usados
para voz sobre IP (VoIP) debido a que un jitter alto puede cortar la llamada.
El argumento b permite utilizar el ancho de banda deseado.

Servidor
#iperf s u i 1
-----------------------------------------------------------Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 8.00 KByte (default)
-----------------------------------------------------------[904] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 32781
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[904] 0.0- 1.0 sec 1.17 MBytes 9.84 Mbits/sec 1.830 ms 0/ 837 (0%)
[904] 1.0- 2.0 sec 1.18 MBytes 9.94 Mbits/sec 1.846 ms 5/ 850 (0.59%)
[904] 2.0- 3.0 sec 1.19 MBytes 9.98 Mbits/sec 1.802 ms 2/ 851 (0.24%)
[904] 3.0- 4.0 sec 1.19 MBytes 10.0 Mbits/sec 1.830 ms 0/ 850 (0%)
[904] 4.0- 5.0 sec 1.19 MBytes 9.98 Mbits/sec 1.846 ms 1/ 850 (0.12%)
[904] 5.0- 6.0 sec 1.19 MBytes 10.0 Mbits/sec 1.806 ms 0/ 851 (0%)
[904] 6.0- 7.0 sec 1.06 MBytes 8.87 Mbits/sec 1.803 ms 1/ 755 (0.13%)
[904] 7.0- 8.0 sec 1.19 MBytes 10.0 Mbits/sec 1.831 ms 0/ 850 (0%)
[904] 8.0- 9.0 sec 1.19 MBytes 10.0 Mbits/sec 1.841 ms 0/ 850 (0%)
[904] 9.0-10.0 sec 1.19 MBytes 10.0 Mbits/sec 1.801 ms 0/ 851 (0%)
[904] 0.0-10.0 sec 11.8 MBytes 9.86 Mbits/sec 2.618 ms 9/ 8409 (0.11%)

Cliente
#iperf c 10.1.1.1-u b 10m
-----------------------------------------------------------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%)

Pruebas con Iperf


Instalacin y Ejecucin
Windows copiar archivo iperf.exe en la raz del disco duro (C:\), en Linux
instalar aplicacin, para ejecutar aplicacin se debe realizar desde una ventana CMD
(Windows) o Terminal (Linux), y ejecutar los comandos directo desde la raz.
C:\Users\Telefonica>
C:\Users\Telefonica>cd\
C:\
Se debe considerar la negociacin de ambos equipos (auto negociacin,
forzado)
Configuracin de LINUX
sudo ethtool eth0 (muestra el estado de la puerta)
sudo ethtool s eth0 autoneg off (baja la auto negociacin)
sudo ethtool s eth0 autoneg on (habilita auto negociacin)
sudo ethtool -s eth0 speed 100 duplex full (fija la puerta en 100 full)
Antes de forzar la tarjeta se debe deshabilitar la auto negociacin

Medicin de Internet
Estas pruebas se realizan en conjunto con personal de configuracin de red,
quienes levantan el servidor a nivel nacional e internacional.
En notebook configurar IP correspondiente.
Servidor Nacional 200.91.15.118
Servidor Internacional 176.52.253.66 MIAMI
Ventana w 256Kb. Puerto p 65000
Pruebas
Cliente
iperf -c 176.52.253.66 -p 65000 -w 256kb -P 3 -t 30 (se puede variar las
puertas P, y el tiempo t)
Servidor
iperf -s -p 65000 -w 256Kb (-w puede ser hasta 809200)
-s=servidor, -c=cliente, -p=puerto, -w=carga, -P=ventana o repeticiones, -t=tiempo, -r=prueba
en ambos sentidos.

Pruebas Punto a Punto


Configurar ambos entremos en el rango de IPs correspondiente, y realizar las
siguientes pruebas.

Servidor
iperf -s -w 256Kb
-----------------------------------------------------------Server listening on TCP port 5001
TCP window size: 256 KByte
------------------------------------------------------------

Cliente
Iperf c ip_destino w 256KB t 30 P 3 r
-----------------------------------------------------------Server listening on TCP port 5001
TCP window size: 256 KByte
----------------------------------------------------------------------------------------------------------------------Client connecting to 192.168.1.2, TCP port 5001
TCP window size: 256 KByte
-----------------------------------------------------------[204] local 192.168.1.1 port 49365 connected with 192.168.1.2 port 5001
[196] local 192.168.1.1 port 49364 connected with 192.168.1.2 port 5001
[176] local 192.168.1.1 port 49363 connected with 192.168.1.2 port 5001
[ ID] Interval
Transfer Bandwidth
[196] 0.0-30.0 sec 726 MBytes 203 Mbits/sec
[204] 0.0-30.0 sec 669 MBytes 187 Mbits/sec
[176] 0.0-30.0 sec 704 MBytes 197 Mbits/sec
[SUM] 0.0-30.0 sec 2.05 GBytes 587 Mbits/sec
[224] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 49273
[144] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 49274
[232] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 49275
[ ID] Interval
Transfer Bandwidth
[144] 0.0-30.0 sec 550 MBytes 154 Mbits/sec
[232] 0.0-30.0 sec 542 MBytes 151 Mbits/sec
[224] 0.0-30.0 sec 529 MBytes 148 Mbits/sec
[SUM] 0.0-30.0 sec 13.6 Gbits 453 Mbits/sec

Subida

Descarga

-s=servidor, -c=cliente, -p=puerto, -w=carga, -P=ventana o repeticiones, -t=tiempo, -r=prueba


en ambos sentidos.

You might also like