Banner 1

IPerf. Midiendo ancho de banda entre dos hosts.

Para la evaluación de rendimientos en las comunicaciones en nuestra red local y posterior optimización de los parámetros, disponemos de multitud de herramientas multiplataforma. Una de ellas es IPerf.
Con IPerf podemos medir el ancho de banda y rendimiento de una conexión entre dos host. Se trata, pues, de una herramienta cliente-servidor.
NOTA: Ya tenéis la segunda parte de este artículo: Jperf. El frontend gráfico de iperf. Rendimiento de la red.
Actualizado en enlace descarga para Windows.

Podemos descargar Iperf desde aquí. Y para win32 y otras plataformas desde aquí.
Al tratarse de una herramienta cliente-servidor, tendremos que ejecutar Iperf en dos máquinas. Una hará de Servidor y otra de Cliente.
IPerf como servidor.
La forma más básica de ejecución como servidor es:
>iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
————————————————————

En este momento IPerf se encuentra a la “escucha” en le puerto 5001.
IPerf como cliente.
En la máquina cliente IPerf, de la forma más sencilla lo ejecutamos de esta manera:
>iperf -c 192.168.1.250
————————————————————
Client connecting to 192.168.1.250, TCP port 5001
TCP window size: 63.0 KByte (default)
————————————————————

Conectamos con el servidor (192.168.1.250) y se envian una serie de paquetes para calcular el ancho de banda en la conexión. El resultado es el siguiente:
>iperf -c 192.168.1.250
————————————————————
Client connecting to 192.168.1.250, TCP port 5001
TCP window size: 63.0 KByte (default)
————————————————————
[844] local 192.168.1.30 port 3545 connected with 192.168.1.250 port 5001
[ ID] Interval Transfer Bandwidth
[844] 0.0-10.0 sec 113 MBytes 94.8 Mbits/sec

94.8 Mbits/sec en una red a 100 Mbits.
Claramente vemos el rendimiento de la conexión.
Configurando IPerf.
Podemos configurar tanto el cliente como el servidor para personalizar un poco las mediciones.

Como servidor.
A parte de la opción -s que deja a IPref a la escucha, podemos usar:
  • -D como servicio
  • -R remover servicio
  • -u recibir datagramas UDP en vez de TCP por defecto.
  • -P x número de conexiones simultáneas
  • -m muestra MTU (depende del sistema operativo )
  • -w specifica el tamaño de Ventana (TCP window size). Muy útil para ir calculando nuestro tamaño de ventana más óptimo según las mediciones de ancho de banda.
  • -f[bkmBKB] mostrar resultados en bits/s, kilobits/s, megabytes/s, Bytes/s, KiloBytes/s, MegaBytes/s (s=segundos). Tanto en cliente como servidor:
>iperf -c 192.168.1.250 -f B
————————————————————
Client connecting to 192.168.1.250, TCP port 5001
TCP window size: 64512 Byte (default)
————————————————————
[844] local 192.168.1.30 port 3591 connected with 192.168.1.250 port 5001
[ ID] Interval Transfer Bandwidth
[844] 0.0-10.0 sec 118792192 Bytes 11860687 Bytes/sec

Como cliente.
Lo más básico es -c IP pero podemos establecer otras opciones, las más importantes:
  • -f[bkmBKB] (igual que lo comentado como servidor)
  • -w (lo mismio que para servidor)
  • -m muestra MTU (depende del sistema operativo)
  • -T ttl especifica valor TTL
  • -i segundos especifica un intervalo, medido en segundos, en el cual se volverá a realizar la medición.
  • -t segundos tiempo duración transmisión. Hace más fiable la medida.
>iperf -c 192.168.1.250 -t 60
————————————————————
Client connecting to 192.168.1.250, TCP port 5001
TCP window size: 63.0 KByte (default)
————————————————————
[844] local 192.168.1.30 port 3670 connected with 192.168.1.250 port 5001
[ ID] Interval Transfer Bandwidth
[844] 0.0-60.0 sec 669 MBytes 93.5 Mbits/sec

  • -p especifica puerto en el que escucha el servidor
  • -u envio de UDP en vez de TCP por defecto. Podemos medir también pérdida de paquetes:
cliente:
>iperf -c 192.168.1.250 -u -f MB -t 60
————————————————————
Client connecting to 192.168.1.250, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 0.06 MByte (default)
————————————————————
[844] local 192.168.1.30 port 3745 connected with 192.168.1.250 port 5001
[ ID] Interval Transfer Bandwidth
[844] 0.0-60.0 sec 7.50 MBytes 0.12 MBytes/sec
[844] Server Report:
[844] 0.0-60.0 sec 7.06 MBytes 0.12 MBytes/sec 0.000 ms 314/ 5351 (5.9%)
[844] Sent 5351 datagrams

respuesta servidor:
>iperf -s -u -f MB -i1
————————————————————
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 0.01 MByte (default)
————————————————————
[1964] local 192.168.1.250 port 5001 connected with 192.168.1.30 port 3744
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[1964] 0.0- 1.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 544436086/ 89 (6.
1e+008%)
[1964] 1.0- 2.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 2.0- 3.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 3.0- 4.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 4.0- 5.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 5.0- 6.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 6.0- 7.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 7.0- 8.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 8.0- 9.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 9.0-10.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 0.0-10.0 sec 1.25 MBytes 0.12 MBytes/sec 0.000 ms 0/ 893 (0%)
[1964] local 192.168.1.250 port 5001 connected with 192.168.1.30 port 3745
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[1964] 0.0- 1.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 1.0- 2.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 2.0- 3.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 3.0- 4.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 4.0- 5.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 5.0- 6.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 6.0- 7.0 sec 0.12 MBytes 0.12 MBytes/sec 0.136 ms 0/ 89 (0%)
[1964] 7.0- 8.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 8.0- 9.0 sec 0.12 MBytes 0.12 MBytes/sec 0.020 ms 0/ 89 (0%)
[1964] 9.0-10.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 10.0-11.0 sec 0.12 MBytes 0.12 MBytes/sec 0.062 ms 0/ 89 (0%)
[1964] 11.0-12.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 12.0-13.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 13.0-14.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 14.0-15.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 15.0-16.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 16.0-17.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 17.0-18.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 18.0-19.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 19.0-20.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[1964] 20.0-21.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 21.0-22.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 22.0-23.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 23.0-24.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 24.0-25.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 25.0-26.0 sec 0.12 MBytes 0.12 MBytes/sec 1.108 ms 0/ 89 (0%)
[1964] 26.0-27.0 sec 0.12 MBytes 0.12 MBytes/sec 0.004 ms 0/ 89 (0%)
[1964] 27.0-28.0 sec 0.13 MBytes 0.13 MBytes/sec 0.840 ms 0/ 90 (0%)
[1964] 28.0-29.0 sec 0.12 MBytes 0.12 MBytes/sec 0.003 ms 0/ 89 (0%)
[1964] 29.0-30.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 30.0-31.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 31.0-32.0 sec 0.12 MBytes 0.12 MBytes/sec 1.986 ms 0/ 89 (0%)
[1964] 32.0-33.0 sec 0.12 MBytes 0.12 MBytes/sec 0.006 ms 0/ 89 (0%)
[1964] 33.0-34.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 34.0-35.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 35.0-36.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 36.0-37.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 37.0-38.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 38.0-39.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 39.0-40.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[1964] 40.0-41.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 41.0-42.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 42.0-43.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 43.0-44.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 44.0-45.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 45.0-46.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 46.0-47.0 sec 0.00 MBytes 0.00 MBytes/sec 0.000 ms 0/ 1 (0%)
[1964] 47.0-48.0 sec 0.00 MBytes 0.00 MBytes/sec 0.000 ms 0/ 0 (-1.$%)
[1964] 48.0-49.0 sec 0.00 MBytes 0.00 MBytes/sec 0.000 ms 0/ 0 (-1.$%)
[1964] 49.0-50.0 sec 0.11 MBytes 0.11 MBytes/sec 3.386 ms 277/ 355 (78%)
[1964] 50.0-51.0 sec 0.12 MBytes 0.12 MBytes/sec 0.011 ms 0/ 89 (0%)
[1964] 51.0-52.0 sec 0.13 MBytes 0.13 MBytes/sec 0.000 ms 0/ 90 (0%)
[1964] 52.0-53.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 53.0-54.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 54.0-55.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 55.0-56.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 56.0-57.0 sec 0.12 MBytes 0.12 MBytes/sec 0.000 ms 0/ 89 (0%)
[1964] 57.0-58.0 sec 0.07 MBytes 0.07 MBytes/sec 2.658 ms 37/ 90 (41%)
[1964] 58.0-59.0 sec 0.12 MBytes 0.12 MBytes/sec 0.009 ms 0/ 89 (0%)
[1964] 0.0-60.0 sec 7.06 MBytes 0.12 MBytes/sec 0.000 ms 314/ 5351 (5.9%)


Fuente:https://seguridadyredes.wordpress.com/2008/06/18/iperf-midiendo-ancho-de-banda-entre-dos-hosts/

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay