Como administrador de una red es importante saber a que velocidad circulan los datos en nuestra red, pudiendo optimizar la red o detectar cuellos de botella.
Para ésta tarea hay varias herramientas, en éste artículo me centraré en el uso de Iperf [Wiki], una herramienta gratuita de tipo cliente-servidor para medir el ancho de banda entre dos nodos. Se trata de una herramienta de consola que mide el tráfico TCP y UDP, pero se ha desarrollado una interfaz gráfica (GUI) en java, llamada JPerf, cuyo uso veremos más adelante.
Introducción a IPerf
Al tratarse de una arquitectura cliente-servidor, esta herramienta hay que instalarla en los dos nodos en los que se realizará la prueba. Es multiplataforma y opensource, pero en este tutorial usaré dos máquina con GNU/Linux, al final encontraréis como usarlo en Windows.
Instalar IPerf:
Código
apt-get install iperf
Configurar IPerf
En el equipo que hará de servidor hay que ponerlo en modo escucha y en el que se conectará habrá que indicarle la IP del nodo servidor:
Servidor:
Código
iperf -s
Cliente:
Código
iperf -c <ip_servidor>
Después de conectarnos al cliente se realizará la prueba y saldrá el resultado en MB/segundo.
Se disponen de muchas más opciones para realizar el testeo.
Para el cliente:
-b, --bandwidth #[KM]
for UDP, bandwidth to send at in bits/sec (default 1 Mbit/sec,
implies -u)
-c, --client
Ejecutarse en modo cliente y conectarse a un servidor
-d, --dualtest
Se realiza un test bidireccional
-n, --num
#[KM] Número de paquetes a transmitir
-r, --tradeoff
Test bidireccional individual
-t, --time
# Tiempo en segundo de transferencia (por defecto 10 segundos)
-F, --fileinput
Configurar un fichero como datos de transferencia
-I, --stdin
Configurar entrada de datos por consola como datos de transferencia
-L, --listenport #
Puerto para recibir los tests bidireccionales
-P, --parallel
# Número de procesos paralelos
-T, --ttl
# time-to-live, para multicast (por defecto 1)
Miscellaneous:
-h, --help
Muestra la ayuda del programa
-v, --version
Muestra la versión actual
[KM] Indica las opciones que soporta, una K para kilo o M mega.
A continuación vamos a ver algunos ejemplos de uso de los siguientes parámetros.
Formato de Datos:
Mediante el parámetro -f podemos indicarle a la aplicación en que formato debe mostrarnos los datos transferidos. Se usará para: bits(b), bytes(B), kilobits(k), kilobytes(K), megabits(m), megabytes(M), gigabits(g) ó gigabytes(G).
Cliente:
Código
iperf -c 192.168.1.100 -f G
Servidor:
Código
iperf -s
Test Bi-Direccional:
Por defecto, solo se mide el tráfico proveniente del cliente, pero si usamos el parámetro -r en el servidor, el testeo se realizará en los dos nodos.
Cliente:
Código
iperf -c 192.168.1.100 -r
Servidor:
Código
iperf -s
Si se quiere medir de forma simultanea, hay que usar -d y si se quiere medir de forma secuencial, es con el parámetro -r
Cliente:
Código
iperf -c 192.168.1.100 -d
Servidor:
Código
iperf -s
Tamaño de los Datagramas:
Se puede especificar el tamaño que tendrán los datagramas, mediante el parámetro -w y un valor comprendido entre 2 y 65,535 bytes.
Cliente:
Código
iperf -c 192.168.1.100 -w 2000
Servidor:
Código
iperf -s -w 4000
Tiempo, puerto e interval:
Al igual que el comando "ping" permite indicar un tiempo mediante -t, un intervalo mediante -i y un puerto mediante -p
Cliente:
Código
iperf -c 192.168.1.100 -p 1337 -t 15 -i 3
Servidor:
Código
iperf -s -p 1337
Hay muchos más parámetros que nos pueden facilitar las tareas, el resto lo dejo en vuestras manos.
Introducción a JPerf
Como ya he dicho anteriormente, JPerf es una GUI para IPerf. Lo primero que haremos será descargarla desde la página oficial del proyecto (http://code.google.com/p/xjperf/downloads/list).
Al estar hecho en Java, también necesitaremos el VM de Java. En Windows tendremos que ejecutar un .exe y en Linux o Mac, un .sh mediante consola y con permisos de ejecución.
Configurar JPerf
Al tratarse de una interfaz gráfica, suele ser bastante intuitivo, por lo que no se necesitarán muchas instrucciones.
Como podéis ver, los parámetros son los mismos, y lo único que hace, es mostrar mediante una GUI los resultados obtenidos.
En esta última prueba, la he realizado desde un nodo con Windows XP conectandome a un servidor Linux. Os dejo juguetear con esta aplicación.
Documentación y Enlaces externos:
_Compilar Iperf en Windows con Cygwin.
_Man Pages para IPerf | Mirror
_Documentación Extendida del IPerf