Practica2 Qos

Universidad Nacional Autónoma de Nicaragua UNAN-León Facultad de Ciencias y Tecnología. Ing en Telematica. Redes de Are

Views 1,075 Downloads 11 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Nacional Autónoma de Nicaragua UNAN-León

Facultad de Ciencias y Tecnología. Ing en Telematica. Redes de Area Extensa.

Docente:  Msc. Aldo Martínez Tema: • Practica 2. Control de tráfico en Linux. Elaborado por:  Wilber Andrés Manzanarez Narvaez

“A la libertad por la universidad”

1.Organización de la empresa Arranca NetGUI y dibuja la red de la figura 1. Guarda el escenario en una carpeta pero no arranques ninguna máquina aún. IMPORTANTE: Antes de comenzar la práctica, copia el fichero shared.startup en la carpeta donde has almacenado el escenario. Comprueba que después de hacerlo, en dicho directorio existe el fichero netgui.nkp y el fichero shared.startup. Copeo el fichero shared.startup en la carpeta de el escenario y ahí se encuentra el archivo netgui.nkp

Cada alumno deberá asignar las direcciones IP a cada una de las interfaces utilizando las mismas subredes que les muestra el sitio moodle de la asignatura para la práctica 1. Se deben configurar las tablas de encaminamiento para que todos los pcs tengan conectividad entre ellos. Esta empresa va a proporcionar diferentes clases de servicio a 6 usuarios conectados a través de los pcs: pc1, pc2, pc3, pc4, pc5, pc6, véase figura 1.

1. Configura en NetGUI las direcciones IP de cada una de las interfaces y las tablas de encaminamiento de las máquinas de tal forma que todas las máquinas se puedan comunicar con todas. Incluye en la memoria una imagen de la ventana de NetGUI que muestre las direcciones IP configuradas y los nombres de las interfaces (eth0, eth1, etc).

2. Configuración de función policing Utiliza la herramienta tc para garantizar que el tráfico que entra en los routers en la zona de control de tráfico cumple las siguientes caracterı́sticas: El usuario1 desde pc1 desea que la empresa le permita enviar un máximo de 1.5mbit con tamaño de ráfaga 50k. La empresa deberá garantizar los siguientes anchos de banda para el usuario1, descartando el tráfico sobrante: • Flujo 1: 1.2Mbit con ráfaga 50k para el tráfico dirigido al puerto 5001. • Flujo 2: 300kbit con ráfaga 50k para cualquier otro tipo de tráfico. Creo un escript de llamado script-entrada.sh

El usuario2 desde pc2 desea que la empresa le permita enviar un máximo de 1mbit con tamaño de ráfaga 50k. La empresa deberá garantizar los siguientes anchos de banda para el usuario2, descartando el tráfico sobrante: • Flujo 3: 600kbit con ráfaga 50k para el tráfico dirigido al puerto 5001. • Flujo 4: 400kbit con ráfaga 50k para cualquier otro tipo de tráfico.

El usuario3 desde pc3 desea que la empresa le permita enviar un máximo de 500kbit con tamaño de ráfaga 50k. La empresa deberá garantizar los siguientes anchos de banda para el usuario3, descartando el tráfico sobrante: • Flujo 5: 400kbit con ráfaga 50k. Si se supera este ancho de banda, el tráfico quedará clasificado dentro del flujo 6. • Flujo 6: 100kbit con ráfaga 50k.

Creo el script de entrada r2-ingress.sh

Para realizar las pruebas utilizaremos el comando iperf en modo cliente para enviar y en modo servidor para recibir. El comando iperf en modo cliente envı́a tráfico durante 10 segundos. El comando iperf en modo servidor recibe el tráfico y cuando ha terminado de recibirlo envı́a un informe al cliente. A veces este informe no llega al cliente, esto no quiere decir que la prueba este mal. Se podrán visualizar los datos recibidos en el terminal del servidor, ya que este informe lo imprime por pantalla el servidor. Para saber si la prueba ha ido bien habrá que analizar con Wireshark el tráfico capturado. Responde razonadamente las siguientes cuestiones. 1. Realiza el/los script/s que consideres necesarios en los routers de la empresa para garantizar que se cumplen las especificaciones de tráfico de entrada descritas previamente. Incluye el/los script/s en la memoria y explica su funcionamiento.

2. Ejecuta en tu escenario el envio simultáneo de pc1 al pc4 con las siguientes características: 1Mbit dirigido al puerto 5001 100kbit dirigido al puerto 5002 Para realizar esta prueba deberás arrancar 2 clientes y 2 servidores, por este motivo es recomendable utilizar un script en el cliente, para que lance los 2 iperfs en background y que redirija la salida de cada uno de ellos a un fichero diferente para después analizar el resultado. Por ejemplo, el script en el cliente deberı́a tener líneas similares a las siguientes, donde la opción p indica el puerto donde escucha el servidor: #!/bin/bash iperf -u -c -p 5001 -b 1Mbit > f1-clientStats.txt & iperf -u -c -p 5002 -b 100kbit > f2-clientStats.txt & creo el script llamado iperfs-pc1.,sh para que a la hora de de ejecutar el script se guardaran en archivo txt los resultados de los flujos.

Le doy permiso al script sh.

En la máquina servidor, habrá que arrancar 2 servidores en diferente puerto. Por ejemplo para arrancar los servidores: 2iperf -u -s -p 5001 > f1-serverStats.txt & iperf -u -s -p 5002 > f2-serverStats.txt & Ejecuto los servidores iperf en pc4 en el puerto 5001 y 5002 para que se guarden en los diferentes archivos txt.

Para el lado servidor no es necesario que realices un script ya que los servidores no terminan cuando han recibido el tráfico de un cliente y por tanto los arrancaremos una única vez. Si quisieras interrumpir la ejecución de ambos servidores tendrás que ejecutar fg en su consola dos veces para traer cada uno de los procesos a primer plano y a continuación ejecutar Ctrl+C. Pero en general, los dejaremos siempre arrancados, los mismos servidores para todas las pruebas. Si trabajas de esta forma, las estadística del servidor se irán acumulando en sus ficheros, en el ejemplo anterior: f1-serverStats.txt y f2-serverStats.txt. Los valores de la última prueba que hayas realizado se encontrarán al final del mismo. Realiza el envı́o de tráfico descrito y captura el tráfico de salida en la subred 3 (fichero tc-01.cap). Inicio captura de trafico en el router 3 en la interfaz de la red 3 (eth1).

Ejecuto el script del cliente(pc1)

a) Explica el resultado que iperf obtiene en pc4.

Al mostrar los informes de los servidores iperf en los difentes puertos podemos ver que muestra el ancho de de banda enviado y no hay perdidas de paquetes por que el tamaño de envio de los dos flujos estan debajo sobre lo configurado.

b) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo. Explica los resultados. Indica si se descarta tráfico.

3. Ejecuta en tu escenario el envı́o simultáneo de pc1 al pc4 con las siguientes características: 2Mbit dirigido al puerto 5001 1Mbit dirigido al puerto 5002 Edito el scritp y le cambio la cantidad de envío al puerto 5001(2Mbit) y al puerto 5002(1Mbit)

Realiza el envio de tráfico descrito y captura el tráfico de salida en la subred 3 (fichero tc-02.cap). Creo un nueva captura de trafico en r3 (eth1)

Envío el trafico descrito ejecutando el script iperfs-pc1.sh.

a) Explica el resultado que iperf obtiene en pc4.

b) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo. Explica los resultados. Indica si se descarta tráfico.

Se están compartiendo el ancho de banda los dos flujos.

4. Ejecuta en tu escenario el envío ”simultáneo” 1 en 2 pcs diferentes de: Desde el pc1 al pc4 • 2Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 Script de pc1.

Desde el pc2 al pc5 • 1Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 Creo el script para realizar el flujo al puerto 5001 y 5002 en pc2.

Le doy permisos al script.

Ejecuto el servidor iperf en los diferentes puertos(5001.5002) en pc5.

Realiza una captura en la subred 3 (fichero tc-03.cap). Inicio captura de trafico en r3 eth1(subred3)

Inicio el envio simultaneo en pc1-pc3 y pc2→pc4.

a) Explica el resultado que iperf obtiene en pc4.

b) Explica el resultado que iperf obtiene en pc5.

Hubo mas perdidas de paquetes en el puerto 5002 por que tubo menos ancho de banda pero el jitter es casi similar al del puerto 5001.

c) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo de cada una de las fuentes y puertos destino (pc1 y pc2). Explica los resultados. Indica si se descarta tráfico.

Se descarto trafico ya la configuración policing descarta paquete que este arriba del ancho de banda establecido. 5. Ejecuta en tu escenario el envio de 1Mbit desde pc3 a pc6. Realiza una captura en la subred 3 (fichero tc-04.cap). Inicio el servidor iperf en pc6 con iperf -u -s.

Inicio captura de trafico en r3(eth1- subred3)

ejecuto el envió de 1Mbit desde pc3→pc6.

Termino la captura de trafico en r3(eth1)

a) Explica el resultado que iperf obtiene en pc6.

El ancho de banda que describe es de 549 kbits/sec con variacion de 15.735 ms .

b) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo. Explica los resultados. Indica si se descarta tráfico.

Se mantiene en el ancho de banda configurado. 6. Ejecuta en tu escenario el envı́o ”simultáneo” de: Desde el pc2 al pc5 • 1Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 1Mbit desde el pc3 al pc6. Inicio los servidores iperf en pc5(puerto 5001,5002) y pc6.

Inicio el script y el comando iperf en pc2 y pc3.

Realiza una captura en la subred 3 (fichero tc-05.cap). Captura de trafico r3(eth1).

a) Explica el resultado que iperf obtiene en pc5. La variacion de de los paquetes estan similares 15.791 y 15.750, en el puerto 5002 hubo mas perdidas de datos por el ancho de banda era mas bajo en el puerto 5002.

b) Explica el resultado que iperf obtiene en pc6.

A como se mira el ancho de banda de pc3→pc6 es de 549 kbits/sec en la variacion de los paquetes obtuvo un poco mas. c) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo de cada una de las fuentes (pc2 y pc3). Explica los resultados.

Entre los 3 flujos se comparten el ancho de banda en el segundo 2 pc3 obtuvo mas recursos.

3. Token Bucket Filter (TBF) Sigue utilizando los scripts de configuración realizados en la sección 2. 1. Configura TFB en la interfaz de r3 que está unida a r4 para que gestione un ancho de banda de salida de 1Mbit, un tamaño de ráfaga de 10k y una latencia de 1s, escribe dicha configuración en un fichero de script. Incluye en la memoria los comandos que has utilizado para realizar esta configuración y explica su funcionamiento. Creo un script llamado script-tbf-eth1.sh, le agrego ancho de banda de 1Mbit con tamaño de rafaga de 10k latencia de 1s.

Le doy permiso al script.

Ejecuto el script-tbf-eth1

2. Ejecuta en tu escenario el envı́o simultáneo con las siguientes características: Desde el pc1 al pc4 • 2Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 Desde el pc2 al pc5 • 1Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 1Mbit desde el pc3 al pc6.

Inicio los servidores iperf en pc4, pc5 y pc6.

Ejecuto el envio simultaneo.

Capturo trafico en r3(eth1).

Realiza una captura en la subred 3 (fichero tc-06.cap). Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo. Observando los flujos haz una estimación de cuanto tráfico se ha descartado en TBF.

Se le redujo el ancho de banda a 1 Mbit y que cada segundo tienen cambios los flujos 3. Modifica la disciplina de cola para que la latencia sea 20s y realiza la misma prueba anterior almacenado la captura en tc-07.cap (no interrumpas las captura hasta que hayan pasado al menos 35 segundos desde que iniciaste el último iperf). Edito el script para que la latencia sea de 20s.

Inicio el envío simultaneo.

Interrumpo la captura luego de 35s.

Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo. Explica los resultados y las diferencias con las gráficas obtenidas en el punto anterior. Observando los flujos haz una estimación de cuanto tráfico se ha descartado en TBF.

Se mantiene algos mas estable las graficas ya ahora esperan 20 segundos los paquetes por rafagas asta que disminuyen los flujos pc3 alcanza picos mas largo al final. 4. Disciplina de cola PRIO Sigue utilizando el script de configuración realizado en la sección 2. La configuración TBF en el apartado 3 permite gestionar el ancho de banda de salida para que no supere el valor configurado, en nuestro caso 1Mbit. Toma como punto de partida el script del punto 3 de dicho apartado en r3 para que ahora el tráfico limitado a 1Mbit se atienda según diferentes prioridades, configurando una disciplina de cola con prioridad que sea hija de la disciplina TBF. 1. Modifica el script de r3 del apartado 3 punto 3 para que TBF tenga ahora los siguientes parámetros: ancho de banda 1.5Mbit, cubeta 10k y latencia 50ms. Crea esta disciplina de cola hija con prioridad de tal forma que se asignen las siguientes prioridades: Prioridad 1 (más prioritario): tráfico del usuario 1. Prioridad 2 (prioridad intermedia): tráfico del usuario 2. Prioridad 3 (menos prioritario): tráfico del usuario 3.

Edito script.

Ejecuto el script.

Incluye en la memoria los comandos que has utilizado para realizar esta configuración y explica su funcionamiento. El script da un ancho de banda de 1.5 con 10k de cubeta y latencia de 50ms con menor prioridad para pc1(usuario1),segunta priorida para pc2(usurio2) y tercera prioridad para pc3(usuario3) 2. Ejecuta en tu escenario el envió simultáneo con las siguientes características: Desde el pc1 al pc4 • 2Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 Desde el pc2 al pc5 • 1Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 1Mbit desde el pc3 al pc6. Ejecuto captura de trafico en r3(eth1)

Realiza una captura en la subred 3 (fichero tc-08.cap). Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo. Explica los resultados. Indica qué diferencias encuentras con la captura tc-07.cap en relación al orden en el que se envı́an los flujos.

Cada flujo esta compatiendo recurso ya que estan en ejecucion varios flujos y ancho de banda se limita asta que liberan el recurso pc3 utliza todo el ancho de banda. 5. Hierarchical Token Bucket (HTB) Sigue utilizando el script de configuración realizado en la sección 2. Se establecen los siguientes parámetros de calidad dentro del router r3. Configura HTB con ancho de banda 2Mbit para compartir entre todos los flujos con el siguiente patrón: usuario1: HTB 1Mbit como mı́nimo y 1Mbit como máximo. • 900kbit para el tráfico dirigido al puerto 5001. • 100kbit para el tráfico dirigido al puerto 5002. usuario2: HTB 700kbit como mı́nimo y 700kbit como máximo. • 500kbit para el tráfico dirigido al puerto 5001. • 200kbit para el tráfico dirigido al puerto 5002. usuario3: HTB 200kbit como minimo y 200kbit como máximo.

Razona las siguientes cuestiones: 1. Incluye en la memoria el/los script/s que has realizado en r3. Explica su funcionamiento.

Ejecuto el scritp.

2. Ejecuta en tu escenario el envı́o simultáneo con las siguientes características: Desde el pc1 al pc4 • 2Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 script de envio simultaneo al puerto 5001 y puerto 5002.

Realiza una captura en la subred 3 (fichero tc-09.cap). Deja que se capture el tráfico durante 30 segundos desde que se inició la transmisión, aunque el iperf en pc1 haya terminado.

Realizo captura en r3.

a) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark. Explica los resultados. Razona si se ha descartado tráfico en r3.

Si por que htb descarta trafico, b) Indica si hay tráfico después de los 10 segundos desde que se capturó el primer paquete. En caso afirmativo explica por qué. Desde el cliente no, pero en cola en r3 si ya que se le configuro htb, 3. Ejecuta en tu escenario el envı́o ”simultáneo” de: Desde el pc1 al pc4 • 2Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 Desde el pc2 al pc5 • 1Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002

compruebo los scripts de los iperf clientes.

Ejecuto los script.

Realiza una captura en la subred 3 (fichero tc-10.cap). Deja que se capture el tráfico durante 30 segundos desde que se inició la transmisión, aunque los iperf en pc1 y pc2 hayan terminado. Captura de trafico luego de 30 seg.

a) Razona si se ha descartado tráfico en r3. Abria perdida para los paquetes que tienen mayor prioridad y los que tienen menos ancho de banda por que se descartaría.

b) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo de cada una de las fuentes (pc1 y pc2). Explica los resultados.

Como se ve, htb determino un ancho de banda especifico y como el ceil es el mismo que el ancho de banda minimo , se mantiene en su mismo rango de ancho de banda sin subidas. c) Indica si hay tráfico después de los 10 segundos desde que se capturó el primer paquete. En caso afirmativo explica por qué. d ) Indica si afecta a la transmisión del usuario1 el hecho de que esté transmitiendo también el usuario2. 4. Ejecuta en tu escenario el envı́o simultáneo con las siguientes características: Desde el pc1 al pc4 • 2Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 Desde el pc2 al pc5 • 1Mbit dirigido al puerto 5001 • 1Mbit dirigido al puerto 5002 1Mbit desde el pc3 al pc6. Compruebo los script de los clientes iperf.

Inicio el trafico simultaneo.

Realiza una captura en la subred 3 (fichero tc-11.cap). Deja que se capture el tráfico durante 30 segundos desde que se inició la transmisión, aunque los iperf en pc1, pc2 y pc3 hayan terminado. Interrumpo la captura de trafico en r1(eth1).

a) Razona si se ha descartado tráfico en r3 y cuál es el máximo ancho de banda que se ha utilizando durante toda la transmisión. El maximo ancho de banda que se utlizo fue el del flujp de pc1 de 900kbit.

b) Incluye en la memoria la/s gráfica/s IO graphs de Wireshark aplicando los filtros necesarios para que muestre cada flujo de cada una de las fuentes (pc1, pc2 y pc3). Explica los resultados.

c) Indica si hay tráfico después de los 10 segundos desde que se capturó el primer paquete. En caso afirmativo explica por qué. Si hay trafico, por que hay paquetes esperando por toquen ya que el ancho de banda se redujo. 6. Normas de entrega de la parte I Es necesario entregar la siguiente documentación: Memoria en formato pdf donde se explique razonadamente el diseño y la configuración de cada uno de los apartados de este enunciado. Capturas de tráfico dentro de un único fichero capturas-tc.tgz: desde tc-01.cap a tc-11.cap. El fichero netgui.nkp que se encuentra en la carpeta del escenario realizado en NetGUI. La fecha lı́mite de entrega de esta primera práctica es el lunes 18 de noviembre a las 23:59 horas. Para hacer la entrega el alumno debe estar matriculado en el moodle de la asignatura. La entrega se realizará a través del enlace ”Entrega p3” que aparece en el moodle de la asignatura.