Post on 05-Jul-2015
Investigar un poco más a fondo acerca del comando IPERF
IPerf es una herramienta de software para medir el ancho de banda disponible en
un canal de datos que utilice el Protocolo de Internet (IP), de ahí el nombre
Internet Protocol Bandwith Measurement Tool. IPerf no es la única herramienta de
este tipo, existen infinidad de ellas. Se exhorta al lector a buscar otras
herramientas que enriquezcan el abanico disponible y que nos permitan contar
con puntos de comparación entre las mismas.
IPerf mide el máximo desempeño del ancho de banda TCP/UDP permitiéndonos
ajustar diversos parámetros y características tanto TCP como UDP. Los resultados
que IPerf entrega son: ancho de banda, retraso en la transmisión, jitter y pérdida
de datagramas.
¿Dónde consigo IPerf?
Lo primero que haremos es conseguir el programa. IPerf está disponible para
distintas plataformas, entre ellas Linux y Microsoft\copyright Windows(c).
Para Linux, puedes descargar el fuente (archivo.tar.gz) de la siguiente liga y
compilarlo por tu cuenta:
http://sourceforge.net/projects/iperf/
Si cuentas con un gestor de repositorios Linux, lo cual es muy común hoy en día,
puedes ejecutar el siguiente comando en distribuciones Debian y Ubuntu:
# apt-get install iperf
Para usuarios Windows existe una herramienta basada en Java (kperf) o el
ejecutable (MS-DOS). En el siguiente sitio enconrarás el ejecutable Win32, así
como versiones para Solaris Sun y MacOS X.
http://www.noc.ucf.edu/Tools/Iperf/
¿Cómo utilizar IPerf?
IPerf establece una conexión cliente-servidor entre dos hosts, es decir, en cada
extremo del canal se coloca un host. Uno de estos actuará como servidor IPerf y el
otro, en consecuencia, será el cliente.
Al iniciar el host servidor, se abrirá un socket TCP o UDP, según se haya definido,
y estará a la espera de conexiones en el puerto 5001 (default) o en cualquier otro
que nosotros especifiquemos. Abajo se muestra el comando que utilizamos para
realizar esta operación.
# iperf -s------------------------------------------------------------Server listening on TCP port 5001TCP window size: 8.00 KByte (default)------------------------------------------------------------
Una vez que el servidor se encuentre listo, es tiempo de ejecutar el cliente en el
host que se encuentra al otro extremo del canal, indicándole la dirección IP del
servidor al que debe conectarse. Lo anterior se logra con el siguiente comando:
# iperf -c IP_servidor------------------------------------------------------------Client connecting to IP_servidor, TCP port 5001TCP window size: 8.00 KByte (default)------------------------------------------------------------[ 3] local IP_cliente port 33427 connected with IP_servidor port 5001[ ID] Interval Transfer Bandwidth[ 3] 0.0-10.0 sec 9.23 MBytes 7.73 Mbits/sec
Éste es el método mas sencillo para realizar una prueba IPerf y verificar que
hemos instalado correctamente la herramienta en ambos extremos. Con este se
efectuará una prueba de 10 segundos de duración en la que se medirá el ancho
de banda disponible en el canal entre ambos extremos de la prueba.
Si lo suyo no es el modo texto :-S Existe una alternativa :-)
IPerf es altamente funcional, y sus reportes son bien detallados y explicitos, pero
es muy cierto también que los números por si sólos no nos dicen gran cosa, es
necesario contar con gráficas que sinteticen la información y nos faciliten su
interpretación. Podríamos tomar los datos reportados por IPerf y utilizarlos para
graficarlos con matlab, gnuplot, excel, etc; sin embargo, existen, gracias a gente
desinteresada y muy curiosa, interfaces gráficas para IPerf como kperf. Esta
herramienta es un frontend para IPerf sumamente sencillo de utilizar y que resulta
muy útil pues nos entrega reportes gráficos de las pruebas.
PRÁCTICA
En seguida se procede a digitar este comando, pero haciendo el uso de los parámetros que lo acompañan, desde el usuario se hacen estas pruebas:
iperf -c <IP> -p <puerto>, mide al ancho de banda entre el host que este caso sería el equipo con dirección IP 192.168.75.46 y el servidor de iperf con dirección IP 192.168.75.47, corriendo por el puerto 5001 del servidor. Se utiliza el siguiente comando. iperf –c 192.168.75.47 -p 5001
En este ejemplo el equipo con dirección IP 192.168.75.47 hace de servidor, y el equipo con IP 192.168.75.46 se conecta a él para realizar la medición. Como se puede observar el rendimiento del enlace es de: 6.45Mbits/sec
PRÁCTICA QUE REALIZA:
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 envían 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.
Como cliente.
Lo más básico es -c IP pero podemos establecer otras opciones, las más importantes:
-f (igual que lo comentado como servidor) -w (lo mismo 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. -p especifica puerto en el que escucha el servidor -u envío de UDP en vez de TCP por defecto. Podemos medir también
pérdida de paquetes
El siguiente comando especifica un intervalo de tiempo en segundos, en el cual volverá a hacer la medición. Corriendo desde el cliente el comando Iperf –c <IP> -
i <segundos>.iperf –c 192.168.75.47 –i 3 la ip es la del servidor y realizará la medición cada tres (3) segundos por espacio de 10 segundos. Los resultados que se obtuvieron son los siguientes:
Prueba realizada desde y maquina 172.16.22.48 al 172.16.23.23 cada 3 segundos
Prueba realizada desde y maquina 172.16.22.48 al 172.16.23.23 cada 1 segundos
-I = tiempo en segundos para transmitir (por defecto 10 segundos) De forma predeterminada, el cliente Iperf se conecta al servidor Iperf en el
puerto TCP 5001 y el ancho de banda que muestra Iperf es el ancho de banda desde el cliente al servidor
El argumento-i indica el intervalo en segundos entre los informes periódicos de ancho de banda.
Client connecting to 172.16.23.62, TCP port 5001 Tamaño de la ventana TCP 8.0 KBytes (por defecto) El cliente se esta conectando al servidor 172.16.23.62 por el protocolo de
comunicación por el puerto 5001. (puerto universal te plug-and-play ) En estos resultados vemos que la efectividad de transferencia de nuestro
enlace es de 89.0 Mbits/sec en tiempo estimado de 10.0 segundos.
Pantalla de ayuda de iperf.
Ahora adicionamos a este comando el parámetro –M (Determina el tamaño del MTU en Kilobytes o Megabytes) y se obtiene lo siguiente: (Que es –M?). Tamaño máximo de segmento (el argumento m):
El tamaño máximo de segmento (MSS) es la mayor cantidad de datos, en bytes, que un ordenador puede apoyar en un solo segmento, TCP sin fragmentar.
Se puede calcular como sigue:MSS = MTU - TCP / IP de cabeceras deEl protocolo TCP / IP de cabeceras son iguales a 40 bytes.La MTU o Unidad máxima de transmisión es la mayor cantidad de datos que pueden ser transferidos en un marco.
Éstos son algunos de tamaño de MTU predeterminado para diferentes topologías de red:
Ethernet - 1500 bytes: usado en una red LAN.PPPoE - 1492 bytes: utilizado en los enlaces ADSL.Token Ring (16Mb/sec) - 17914 bytes: la vieja tecnología desarrollada por IBM.Dial-up - 576 bytesEn general, un mayor MTU (y SMS) aporta mayor eficiencia de ancho de banda
Explica porque del resultado obtenido.
En la siguiente pantalla se muestra toda la información que ha sido escuchada por el servidor, de acuerdo a los comandos que se le dieron desde el cliente y en donde se ha podido comprobar que la red se encuentra haciendo transferencia en promedio de 8 Mbps y durante 10 segundos. – Que significa ser escuchada por el servidor?
De lo estudiado anteriormente y un ejercicio que hice con tan se pueden configurar parámetros de poder ser escuchado por el servidor que vi aplicándolo al ejecutable y observe como funciona dándome opciones y pidiéndole un tiempo prudente este hace como si me escuchara desde mi equipo y moderando el tiempo de envió con su intervalo de tiempo, esto debe funcionar con dos ordenadores perfectamente, el secreto es hacerme pasar como cliente y se trabaja a la inversa, pues desde la PC ejecutamos lo siguiente: iperf -c 10.0.x.x -t 60 -i 5
Lo que configura la PC como cliente el subrayado de la dirección y le ordena mandar paquetes a la dirección indicada durante un tiempo de 60 segundos, y mostrando el resultado de la medición en intervalos de 5 segundos Para los enlaces largos, basta con acceder a la WRAP adecuada y seguir los mismos pasos. Solamente hay que tener presente entre que dos elementos estamos calculando el ancho de banda, configurar como servidor uno de ellos y en el otro indicar la dirección IP adecuada esta es solo una de las aplicaciones de ser escuchado por el servidor. Para ser mas especifico, Para realizar esta medida, se lanza una instancia de Iperf en modo servidor en una de los host, mientras en uno de los servidores se lanza Iperf, en modo cliente, contra la dirección pública de la casa en la que se está ejecutando el servidor Iperf. Para realizar esto es necesario configurar de forma adecuada. Los datos recogidos en el servidor Iperf son los que dan el ancho de banda.
CONCLUSIONES
Se realizo una practica que permitio ademas de interconectar dos equipos en red conocer y manejar el comando IPERF.
Se logro la interaccion como grupo que nos permitio culminar un buen trabajo final.
BIBLIOGRAFÍA
http://translate.google.com.co/translate?hl=es&sl=en&u=http://openmaniak.com/iperf.php&ei=L6SGTLHTK8HflgeS_6DnDg&sa=X&oi=translate&ct=result&resnum=1&ved=0CCAQ7gEwAA&prev=/search%3Fq%3Diperf%2Btutorial%26hl%3Des