28 de julio de 2005 Examen de Redes de Datos Soluciones Plan 97 • • • • Las hojas se escriben de un solo lado y preguntas separadas se responden en hojas separadas. Letra clara y legible. Respuesta concisa. Nombre, número de cédula y número de pregunta en cada hoja. Duración 2 horas. Pregunta 1 a) Explique cómo se realiza la fragmentación a nivel del protocolo IP. Se dispone de una red con la topología de la Figura 1, donde el router A realiza balanceo de carga entre los routers B y C (un paquete IP para cada router) cuando el destino está en LAN 6. Se supone que hay conexiones TCP entre el Host A y el Host B y que la LAN 3 dispone de una MTU de 514 y el resto de las LAN’s una MTU de 1500. Host A LAN 1 Router A LAN 2 b) ¿Dónde cree que sería conveniente realizar fragmentación?. Justifique su respuesta. LAN 3 Router C c) Analice las ventajas y desventajas de las siguientes alternativas para volver a armar el paquete IP: i) Rearmarlo en el destino ii) Rearmarlo en un router intermedio. Para este último caso ¿Qué router intermedio elegiría? Router B LAN 4 LAN 5 Router D Nota: Suponer que los paquetes del host B al host A son solamente reconocimientos (largo menor a 514 bytes). LAN 6 Host B Figura 1 Respuesta a Pregunta 1 a) La fragmentación IP ocurre cuando un router “encamina” paquetes desde una red de una determinada MTU, impuesta por la capa de enlace utilizada, a otra de una MTU menor. Visto de otra manera, en caso de que el largo del paquete IP original sea mayor que la MTU de la siguiente red de transito, se va a necesitar fragmentar. La fragmentación hace uso de los siguientes campos del encabezado IP: Bandera MF, Identification y Fragment Offset. Cada fragmento tiene el mismo valor de Identification que oficia de Identificador del paquete, con este identificador podemos darnos cuenta de a que paquete IP pertenecen los fragmentos. El flag o bandera MF (More Fragments) indica si todavía existen más fragmentos por enviar correspondientes al mismo paquete IP. Esta flag esta “levantada o encendida” en todos los fragmentos salvo el último. Pero aún hace falta algo más para poder recuperar el paquete IP original, para esto último se usa el encabezado Fragment Offset. 1/6 (sigue al dorso) De alguna manera debemos conocer el orden en que tenemos que colocar los fragmentos para reensamblar el paquete IP original. El Fragment Offset informa el offset o desplazamiento desde el inicio de la carga útil o payload del paquete original. b) La fragmentación debe hacerse en el router A dado que es el router que posee interfaces con diferentes tamaños de MTU. Por más que este router este realizando balanceo (es decir un paquete IP con siguiente salto el router C y otro paquete IP con siguiente salto el router B), sólo en el caso de transitar la LAN3 es que debo fragmentar. c) i) La ventaja de rearmarlo en el destino es que el Host B tiene disponibles todos los fragmentos por lo que es capaz de re-ensamblar el paquete IP, como desventaja aparece el overhead o sobrecarga generado por los encabezados IP de cada fragmento. Además de que el Host B tiene que permitir o ser capaz de re-ensamblar los paquetes IP. Otra gran desventaja es si se pierde un fragmento IP, TCP va a dar un timeout y se va a retransmitir el segmento original entero, no hay forma de solo transmitir el fragmento faltante ya que son funciones de diferentes capas. ii) Para el caso de re-armarlo en un router intermedio tiene como ventaja que la fragmentación es transparente al Host destino, como desventaja es que dependiendo de dónde se realice podría ocurrir otra fragmentación más en el camino al destino. Para poder realizar el re-ensamblado en un router intermedio, el router debe disponer de la funcionalidad. La tarea de re-ensamblado no es sencilla y consume recursos adicionales además de agregar retardo o delay a la comunicación. De emplearse esta estrategia en la topología de la figura se aconsejaría re-ensamblar en el router B ya que ve todos los fragmentos y esta más cerca de donde ocurre la fragmentación disminuyendo el efecto del overhead de los encabezados de cada fragmento. Pregunta 2 Se dispone de la red de la figura 1, con los siguientes datos adicionales sobre la numeración de las redes (Tabla 1) y las interfaces de los enrutadores (Tabla 2). Red LAN 1 LAN 2 LAN 3 LAN 4 LAN 5 LAN 6 Tabla 1 Numeración 10.0.0.0/26 10.0.0.64/26 10.0.0.128/25 10.0.2.0/24 10.0.1.128/25 10.0.1.0/25 Costo 10 10 15 10 10 10 Router A 10.0.0.1 10.0.0.65 10.0.0.129 Tabla 2 Router B Router C 10.0.0.254 10.0.0.126 10.0.1.254 10.0.2.254 Router D 10.0.2.1 10.0.1.129 10.0.1.1 a) Detalle las tablas de ruteo que deben tener los routers A, B, C y D para poder alcanzar todas las redes. Elija los caminos que minimicen el costo indicado en la tabla 1. b) ¿Es posible minimizar la cantidad de entradas en las tablas de ruteo detalladas en la parte a)? c) Explicar el algoritmo de búsqueda de entradas en la tabla de ruteo IP. Detalle para el caso del router B, cómo se realiza la búsqueda cuando la IP de destino es 10.0.2.195. d) Para las redes de las LAN’s 2 y 5 escriba las máscaras correspondientes (en formato decimal separado por puntos), el rango de direcciones de red y las direcciones de broadcast de las mismas. Respuesta a Pregunta 2 a) Las tablas de ruteo quedan: 2/6 Router A Router B Destino Próximo Salto Costo 10.0.0.0/26 Directamente Conectado -10.0.0.64/26 Directamente Conectado -10.0.0.128/25 Directamente Conectado -10.0.1.0/25 10.0.0.126 20 10.0.1.128/25 10.0.0.254 15 10.0.2.0/24 10.0.0.126 10 Router C Destino Próximo Salto Costo 10.0.0.0/26 10.0.0.129 15 10.0.0.64/26 10.0.0.129 15 10.0.0.128/25 Directamente Conectado -10.0.1.0/25 10.0.1.129 10 10.0.1.128/25 Directamente Conectado -10.0.2.0/24 10.0.1.129 10 Router D Destino Próximo Salto Costo 10.0.0.0/26 10.0.0.65 10 10.0.0.64/26 Directamente Conectado -10.0.0.128/25 10.0.0.65 10 10.0.1.0/25 10.0.2.1 10 10.0.1.128/25 10.0.2.1 10 10.0.2.0/24 Directamente Conectado -- Destino Próximo Salto Costo 10.0.0.0/26 10.0.2.254 10 10.0.0.64/26 10.0.2.254 20 10.0.0.128/25 10.0.1.254 10 10.0.1.0/25 Directamente Conectado -10.0.1.128/25 Directamente Conectado -10.0.2.0/24 Directamente Conectado -- b) Únicamente se puede sumarizar en las tablas de ruteo de los routers B, C y D. Las tablas de ruteo sumarizadas quedarían: Router B Router C Destino Próximo Salto Costo 10.0.0.0/25 10.0.0.129 15 10.0.0.128/25 Directamente Conectado -10.0.1.0/25 10.0.1.129 10 10.0.1.128/25 Directamente Conectado -10.0.2.0/24 10.0.1.129 10 Destino Próximo Salto Costo 10.0.0.0/26 10.0.0.65 10 10.0.0.64/26 Directamente Conectado -10.0.0.128/25 10.0.0.65 10 10.0.1.0/24 10.0.2.1 10 10.0.2.0/24 Directamente Conectado -- Router D Destino Próximo Salto Costo 10.0.0.0/25 10.0.2.254 10 10.0.0.128/25 10.0.1.254 10 10.0.1.0/25 Directamente Conectado -10.0.1.128/25 Directamente Conectado -10.0.2.0/24 Directamente Conectado -c) La búsqueda de una ruta en la tabla de ruteo se basa en que la tabla se encuentra ordenada de los prefijos más especificos a los menos especificos o sea de las máscaras más largas (con más 1’s) a las más cortas. El procedimiento de búsqueda consiste en realizar la operación lógica AND entre la dirección a la que se requiere llegar y la mascara de cada entrada en la tabla, para así verificar si los prefijos de red coinciden. En nuestro caso si queremos encontrar la ruta para la dirección IP 10.0.2.195 en el router B que tiene la tabla de ruteo mostrada en la parte b). Primero se realiza el AND con la mascara /25 que es la más específica. Entonces obtenemos 10.0.2.128, prefijo que se compara con la primer entrada en la tabla, se puede ver que no coinciden, entonces pasa a mirar la siguiente entrada que tampoco coincide. Se sigue así hasta la entrada con máscara /24, para la cual se obtiene 10.0.2.0 que en este caso coincide con la entrada de la tabla, por lo que debemos encaminar el paquete hacia el próximo salto 10.0.1.129. En caso que no hubiera ninguna coincidencia el paquete es descartado. d) Los valores solicitados para cada LAN son: LAN 2 Mascara: Rango: Broadcast: 3/6 10.0.0.64/26 255.255.255.192 10.0.0.65 – 10.0.0.126 10.0.0.127 LAN 5 Mascara: Rango: Broadcast: 10.0.1.128/25 255.255.255.128 10.0.1.129 – 10.0.1.254 10.0.1.255 Pregunta 3 Un equipo conectado a una red de área local tipo Ethernet, recibe una trama. Explique: a) ¿Qué verificaciones realiza la sub-capa MAC para determinar que la trama es valida?. ¿Qué direcciones MAC de destino de la trama serán aceptadas como destinadas a dicha máquina? b) Suponiendo que la trama es válida y destinada a una dirección MAC del equipo, la capa MAC enviará a la capa de red el contenido de la trama. ¿Qué verificaciones realiza la capa de red y por qué motivo o motivos podría descartar el paquete sin pasarlo a la capa de transporte? c) Si la capa de red decide pasar la carga del paquete a la capa de transporte, ¿en qué se basa para decidir si se lo debe entregar a TCP o a UDP?. Respuesta a Pregunta 3 a) i) La capa MAC debe chequear que la suma de comprobación sea correcta. Chequeará también que el largo de la trama sea mayor o igual que el mínimo permitido por la norma (64 bytes en el caso de 802.3), que no sea mayor que el máximo, y si se está utilizando encapsulación LLC, que el largo coincida con el valor en el campo “largo”. ii) Las direcciones MAC destino aceptadas, asumiendo que no está trabajando en modo promiscuo, son: la dirección propia, que trae grabada la propia tarjeta (o la que haya sido configurada como propia), la dirección de Broadcast, y las direcciones de múlticast que haya sido configurada para “escuchar”. b) Asumiendo una capa de red IP, las comprobaciones que se realizan (y en caso de no verificar ocasionan el descarte del paquete son): suma de comprobación de la cabecera, que la versión sea la correcta, que la dirección IP destino sea una de las direcciones configuradas en el equipo, una de las direcciones de broadcast de una de las interfaces a las cuales está conectado, o una de las direcciones de múlticast que alguna aplicación haya solicitado recibir, y que tenga una capa 4 capaz de recibir el protocolo indicado en el campo “Protocolo”. c) Se basa en el valor del campo “Protocol” en el encabezado IP. Pregunta 4 a) ¿Cuál es la función de los mecanismos de balde con goteo y balde con fichas? Explique las principales características y parámetros que definen el comportamiento de cada uno. Se tiene una fuente de tráfico F1. A la salida de dicha fuente hay un balde B1 con las siguientes características: • B1: Balde con fichas, inicialmente lleno • Velocidad de caída de fichas 16 kbits/seg • Capacidad 12000 bytes El tráfico de la fuente F1 tiene el comportamiento indicado en la figura 2 4/6 Figura 2 b) Indicar en una gráfica equivalente a la de la figura 2, cómo es el tráfico a la salida de B1, indicando las coordenadas de los puntos relevantes. c) Al sistema de la parte b), se le desea agregar una limitación de 24 kbits/seg en la velocidad máxima de salida. Indique qué dispositivo se podría agregar a la salida del balde B1. Calcule los posibles parámetros del dispositivo a utilizar, para que no se pierdan datos. Para los parámetros elegidos indique, con una gráfica, cómo es el tráfico a la salida del dispositivo agregado, indicando las coordenadas de los puntos relevantes. Nota: 1 byte = 8 bits, 1kbit = 1000 bits. Respuesta a Pregunta 4 a) La función de los baldes con goteo y baldes con fichas es el control del congestionamiento en las redes. Ambos son mecanismos que apuntan a conformar el tráfico, de manera de evitar comportamientos indeseables del mismo, tales como las ráfagas. Permiten, mediante ciertos parámetros, ajustar el tráfico de acuerdo a las características de la red. Balde con goteo: Este mecanismo permite ajustar el tráfico de manera que la tasa de salida del mismo sea uniforme, y manteniendo un valor constante, independientemente de la entrada de tráfico. A medida que los datos van arribando al balde se acumulan el mismo y el tráfico a la salida tendrá una tasa constante ρ, siempre que existan datos en el balde, o 0 cuando el balde este vacío. A su vez, el balde tiene una capacidad de almacenamiento de datos C (que podrá medirse por ejemplo en bytes, o paquetes) que una vez que se vea sobrepasada se comenzaran a perder datos. A medida que los datos van llegando, todos aquellos que no pueden ser procesados inmediatamente (que se hará a tasa ρ), se van a ir almacenando, hasta que se alcance la capacidad C, en ese momento todos los demás datos que arriben se pierden. Balde con fichas: Este mecanismo tiene un comportamiento más flexible que el anterior, ya que si bien impone limitaciones sobre la velocidad de salida de tráfico, sus reglas de comportamiento permiten que se den ráfagas, de acuerdo a los parámetros de diseño. En estos baldes se van generando fichas a una tasa constante ρ, las que se van acumulando en el balde. El balde tiene una capacidad de almacenamiento de fichas, C, y una vez que dicha capacidad se ve sobrepasada, las fichas se descartan. Cada vez que un nuevo dato llega al balde, el mismo podrá ser procesado, solamente si hay fichas en el balde. En caso que el balde este vació, se podría optar por una política de descartar todos los datos nuevos que arriben, o de almacenarlos. En los momentos en que no estén llegando datos al balde, se irán acumulado fichas en el mismo. Esto es lo que permite que se procesen ráfagas, ya que en el momento que comienzan a llegar datos, si el balde esta lleno, aunque la tasa de arribo de datos sea mayor que ρ, la salida será igual a la entrada, mientras queden fichas en el balde. En cada balde se deberá definir qué es lo que permite transmitir cada ficha, podrían ser paquetes, o bytes por ejemplo. b) En la figura 3, se pude apreciar como queda la salida del balde B1. c) El dispositivo que se podría agregar es un balde con goteo (B2), con ρ=24 kbits/seg. Dicho balde deberá tener una capacidad de 6 kbytes, como mínimo, para que no se pierdan datos en ningún momento. Este valor sale de observar que en el período de tiempo [0s – 6 s], dado que la tasa de entrada supera los 24 kbits/seg, se almacenaran 6kbytes de datos en el balde, que se irán procesando luego. En la figura 3 se puede apreciar la salida del balde B2. 5/6 Figura 3 6/6