Testeando el ancho de banda disponible entre máquinas con Iperf

Si alguna vez necesitamos una herramienta para medir anchos de banda o bien sea para comprobar una configuración óptima de nuestra red o entre delegaciones podremos utilizar la utilidad Iperf que mediante una conexión cliente-servidor nos podrá mostrar información de gran interés!

Web oficial: http://sourceforge.net/projects/iperf/

Y si necesitamos una versión Windows (compilada con Cygwin) podremos bajarla de AKI.

 

Con ‘iperf.exe -s’ comenzará en modo servidor a la espera de la conexión de un cliente,

 

Con ‘iperf.exe -c DIRECCIÓN_IP -t120 -r’ podremos conectar este equipo cliente al que ejecuta el iperf en modo servidor durante 2 minutos de conexión y monitorizaremos tanto el tráfico saliente cómo el entrante.

Con la opción -f cambiaremos el formato de salida a: bits(b), bytes(B), kilobits(k), kilobytes(K), megabits(m), megabytes(M), gigabits(g) o gigabytes(G).

Con la opción -d generará tráfico bidireccional de forma simultánea.

Con -w mandaremos el tamaño TCP (entre 2 y65,535 bytes).

Con -p cambiaremos el puerto, por defecto 5001.

Con -i modificaremos el intervalo para que nos muestre el informe.

Con -u los tests serán con UDP.

Con -b limitaremos a un ancho de banda.

Con -m obtendremos el Tamaño Máximo de Segmento (MSS), que es la mayor cantidad de datos que un ordenador/dispositivo soporta en un solo segmento, sin fragmentar. MSS = MTU – cabecera TCP y cabecera IP. Cabecera TCP y cabecera IP = 40 bytes. Ejemplos de MTU: Ethernet LAN:1500 bytes, PPPoE: 1492 bytes (ADSL), Token Ring o 16Mb/sec: 17914 bytes y Dial-up: 576 bytes

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]
“host”

#

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]

#
“name”

#
#
#

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