trab.colab.1

13
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

Transcript of trab.colab.1

Page 1: trab.colab.1

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?

Page 2: trab.colab.1

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.

Page 3: trab.colab.1

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.

Page 4: trab.colab.1

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> -

Page 5: trab.colab.1

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

Page 6: trab.colab.1

-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.

Page 7: trab.colab.1

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

Page 8: trab.colab.1

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

Page 9: trab.colab.1

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.

Page 10: trab.colab.1

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.

Page 11: trab.colab.1

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