EXAMEN DE REDES. SEGUNDO PARCIAL. JUNIO 2011. SOLUCIÓN TEORÍA Pregunta 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 D D C C B C A A C A B A C C B D B A C B C D A A C C D D Pregunta 2.1: En IPv6 los equipos (o más concretamente las interfaces) pueden autoconfigurarse. Para ello fijan los últimos 64 bits de su dirección de red a partir de su dirección de enlace EUI-64 y solicitan al router de la red el prefijo de 64 correspondiente. Uniendo dicho prefijo con su dirección de enlace obtienen una dirección única ya que se supone que la parte correspondiente a la dirección de enlace es única. En el caso de que el equipo no disponga de una dirección EUI-64 sino de una EUI-48 xiste un procedimiento que permite ‘extender’ la dirección EUI-48 a una EUI-64, que será la utilizada por IPv6. Pregunta 2.2: a.- Se trata de la respuesta de un servidor DNS a una consulta. Se ha preguntado por el nombre de la máquina con IP 147.156.222.65 b.- Pregunta 147.156.222.23 y responde 147.156.200.250 y el servidor está en el puerto 53 c.- El servidor DNS ha respondido a una pregunta de un dominio del cual tiene la responsabilidad o autoridad d.- En este orden: dirección IPv4, dirección IPv6, Servidor de Nombres, Apuntador a un nombre de máquina Redes Laboratorio final 1 EXAMEN DE REDES. SEGUNDO PARCIAL. JUNIO 2011. SOLUCIÓN LABORATORIO L.1-1 D L.1-2 D L.1-3 C Nota: Aunque se da por válida la opción C por ser la que más se aproxima a la respuesta correcta no es estrictamente correcta, ya que sólo se comprueban los sockets que están por debajo de ese valor que hayan sido incluidos en el conjunto a comprobar. Por tanto esta respuesta se considera extra y el examen se puntúa en base a nueve preguntas en vez de diez. L.1-4 C L.1-5 D L.1-6 B L.1-7 C L.1-8 C L.1-9 C L.1-10 B Pregunta L.2 1. La función sirve para aceptar nuevas conexiones de clientes 2. La variable cod puede valer: -1: si se ha producido algún error en la llamada a la función select 0: si se ha agotado el timeout sin que haya ocurrido ninguna modificación en los descriptores incluidos en &conjunto >0: si algún socket ha sufrido modificaciones. El valor indica el número de sockets que han sufrido modificaciones de forma simultánea, ya que basta que uno de ellos se modifique para que se salga de la función 3. El vector cola contiene el conjunto de valores correspondientes a los sockets de los clientes conectados en cada momento, valores que han sido devueltos en las sucesivas invocaciones a la función accept. 4. En el momento en que se inicia el programa el primer socket asignado, que el que pone el puerto en modo listen, recibe el descriptor 3. Los sockets asignados a clientes reciben descriptores consecutivos en orden ascendente a partir de este. Los elementos del vector cola van acumulando los valores de sockets correspondientes a los clientes activos. Cuando un cliente se desconecta el resto de clientes es desplazado una posición, para evitar que queden huecos. Sin embargo cada cliente mantiene su socket ya que es lo que identifica su conexión. Evento a) Se conecta Juan b) Se conecta Pepe c) Se conecta María d) Se desconecta Pepe e) Se conecta Jose Cola(0) 4 (Juan) 4 (Juan) 4 (Juan) 4 (Juan) 4 (Juan) Cola(1) 5 (Pepe) 5 (Pepe) 6 (María) 6 (María) Cola(2) 6 (María) 5 (Jose) Redes Laboratorio final 2 EXAMEN DE REDES. SEGUNDO PARCIAL. JUNIO 2011. SOLUCIÓN PROBLEMAS Problema 1: Aunque no se dice explícitamente en el enunciado se sobreentiende que la transferencia del fichero se realiza utilizando TCP, con todas las características que dicho protocolo ofrece en cuanto a control de congestión, transporte fiable de los datos, etc. Atendiendo exclusivamente a la tasa de error la red Ethernet conseguiría un rendimiento de 100 Mb/s x (10010)/100 = 90 Mb/s mientras que el de la interfaz inalámbrica sería de 54 Mb/s x (100-8) / 100 = 49,7 Mb/s. Puesto que en Ethernet no se confirma a nivel de enlace la recepción de las tramas los errores del nivel físico se traducirán en pérdidas a nivel TCP, pérdidas que provocan un reinicio del proceso de slow-start y consiguientemente una continua reducción de la ventana de congestión, truncando la posibilidad de establecer un pipeline eficiente en el flujo de datos transmitidos por TCP. Por tanto el rendimiento útil puede llegar a ser bastante inferior a los 90 Mb/s teóricos. En cambio la red inalámbrica, aunque con un rendimiento en principio inferior que Ethernet, reenvía a nivel de enlace todas las tramas perdidas o erróneas. Gracias a esto el nivel TCP no detecta pérdidas, aun cuando el nivel físico no sea fiable. En ausencia de otras limitaciones, y si consideramos despreciable el tiempo empleado en las confirmaciones a nivel de enlace, que será bastante pequeño, el rendimiento se puede aproximar bastante al teórico de 49,7 Mb/s. La merma de rendimiento en la conexión Ethernet debido al reinicio del slow-start ependerá del RTT, o más concretamente de la relación entre el RTT y el tiempo de emisión de una trama por la interfaz. En nuestro caso nos dicen que los segmentos son de 1024 bytes por lo que el tiempo de emisión de una trama en ethernet será de: 1024 x 8 /100000000 = 0,000082 = 82 s que es 610 veces menor que el RTT. Con una diferencia tan grande es previsible que el reinicio del slow-start merme de forma dramática el rendimiento. Vamos a intentar a continuación estimar cuantitativamente el rendimiento que se podrá obtener para la conexión TCP en los dos casos planteados. En el caso de la interfaz inalámbrica ya hemos comentado que los errores del nivel físico solo se traducen en una merma del 8% en el caudal útil debido a los reenvíos que necesariamente ha de realizar el nivel de enlace. En principio para un RTT de 50 ms el caudal máximo que puede transmitir TCP sin utilizar un factor de escala es de: 64 KBytes * 1024 Bytes/Kbyte * 8 bits/Byte / 0,05 s = 10,5 Mb/s Por tanto para poder garantizar la ocupación de un canal de 49,7 Mb/s necesitaremos un factor de escala como mínimo de 8x (10,5 x 8 = 80,4 Mb/s). En el caso de la interfaz Ethernet, puesto que falla una de cada diez tramas enviadas tendremos una evolución del slow-start en la que una vez estabilizada la situación habrá un umbral de peligro de entre dos y tres segmentos, por lo que tendremos de forma cíclica la siguiente evolución: Se envía SEGn 50 ms Se envían SEG n+1 y n+2 50 ms Se envían SEG n+3, n+4 y n+5 50 ms Se envían SEG n+6, n+7, n+8 y n+9 50 ms Falla SEG n+9 Se reenvía SEGn+9 Redes Laboratorio final 1 50 ms Se envían SEG n+10 y n+11 …y así sucesivamente En este ciclo se envían diez segmentos, de los cuales nueve son útiles, cada 200 ms. Esto supone un caudal útil de 1024 * 9 * 8 / 0,2 = 368,6 Kb/s. Estrictamente hablando a los 200 ms anteriores habría que añadir el tiempo necesario para emitir las diez tramas por la interfaz Fast Ethernet, pero puesto que el tiempo por trama es de 82 s estamos hablando de añadir en total 0,7 ms, que podemos ignorar frente a los 200 ms de los cuatro RTT. Se confirma pues en el cálculo cuantitativo el efecto fundamental que los errores del nivel físico tienen en el rendimiento de la red Ethernet. En cuanto a características específicas de TCP que ayuden a obtener un rendimiento óptimo podemos comentar dos: Factor de escala: como ya hemos comentado en el caso de la interfaz inalámbrica el uso de un factor de escala es fundamental si queremos aprovechar su rendimiento al máximo. En cambio en el caso de la interfaz Ethernet esta opción no aporta ventajas debido a la tasa de errores. SACK: en el caso de la interfaz Ethernet el acuse de recibo selectivo permitiría evitar el reenvío de segmentos correctamente recibidos después de un segmento erróneo. En el caso de la interfaz inalámbrica esta opción no aportaría ventajas ya que se supone que no se pierde ningún segmento por congestión y los que se pierden por errores debido al medio físico son retransmitidos por el nivel de enlace. Errores más frecuentes Algunos alumnos calcularon el rendimiento de Ethernet ignorando el efecto del slow-start, es decir suponiendo que la merma de rendimiento debida a los errores se limitaba al 10% del caudal total debido a las retransmisiones que tenían que realizarse. Algunos alumnos supusieron que el hecho de que en Ethernet el nivel de enlace no reenvíe las tramas defectuosas podía llevar a una situación en la que el fichero transferido no fuera una copia fiel del original. Esto se considera un error conceptual grave ya que supone no haber comprendido el principio básico de funcionamiento de TCP, que es ofrecer un servicio fiable de transporte de los datos a la aplicación, aún en el caso de que los niveles inferiores (el de enlace en este caso) no ofrezcan un servicio fiable. Problema 2: Posible solución (hay más posibles respuestas válidas) a.- Supuestamente la conexión https proporciona un canal seguro de comunicaciones sobre SSL o TLS. Así esta conexión permitirá (no en ese mismo orden): intercambiar / negociar parámetros entre cliente y servidor para elegir y seguir la comunicación como nivel de seguridad o métodos de encriptado autenticación de ambos extremos intercambio de una clave segura de sesión encriptado con la clave de sesión anterior envío de certificado digital del servidor a cliente para que cifre con la clave pública del servidor el resto de la comunicación envío de password encriptado comprobación e integridad de datos b.- Siempre es posible que el servidor que te está ofreciendo la red wifi te esté sometiendo a un ataque de hombre en medio. Es decir cuando entre tu y el servidor https intercambias cualquier cosas la captura el servidor que te ofrece la conexión wifi y lo cambia por lo que a él le interesa. Así tu puede recibir un certificado digital pero podría no ser del servidor https real al que te quieres conectar. También podría haber problemas por suplantación de DNS. Es decir que te redirigieran a una página que no es la real a la que tu quieres ir. Redes Laboratorio final 2 EXAMEN DE REDES. FINAL. JUNIO 2011. SOLUCIÓN TEORÍA 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 Pregunta 1: B B D B C B C B A B B D C D B B D C A C B A C C B B A C D A C D Pregunta 2.1: Ver pregunta 2.1 del segundo parcial Pregunta 2.2: Ver pregunta 2.2 del segundo parcial Redes Laboratorio final 3 EXAMEN DE REDES. FINAL. JUNIO 2011. SOLUCIÓN LABORATORIO Pregunta L1: L.1-1 B L.1-2 D L.1-3 C L.1-4 A L.1-5 D L.1-6 D L.1-7 D L.1-8 C Nota: Aunque se da por válida la opción C por ser la que más se aproxima a la respuesta correcta no es estrictamente correcta, ya que sólo se comprueban los sockets que están por debajo de ese valor que hayan sido incluidos en el conjunto a comprobar. Por tanto esta respuesta se considera extra y el examen se puntúa en base a catorce preguntas en vez de quince. L.1-9 C L.1-10 D L.1-11 B L.1-12 C L.1-13 C L.1-14 C L.1-15 B Pregunta L 2.1: Entre A y D hay dos rutas posibles. La ruta a través de B pasa por una línea serie de 128 Kb7s y una Ethernet de 10 Mb/s. La ruta a través de C pasa por una línea serie de 128 Kb/s y una Fast Ethernet de 100 Mb/s. Cuando OSPF calcula el costo de cada ruta las dos líneas serie contribuyen de igual forma al costo de ambas rutas, pero la ruta a través de C obtiene un costo menor gracias al enlace de 100 Mb/s que tiene con D, mientras que B tiene uno de 10 Mb/s. Este menor costo no se traduce en una ventaja real de la ruta por C ya que la limitación en el rendimiento viene impuesta por la línea serie, que es de igual velocidad para C que para D. Por eso lo interesante es que el tráfico se balancee entre ambas rutas y para ello es preciso que las dos tengan el mismo costo. Para ello debemos asignar el mismo ancho de banda a los enlaces Ethernet de B y C, bien aumentando a 100 Mb/s el parámetro bandwidth en las interfaces E0 de B y D o reduciendo a 10 Mb/s el de las interfaces F0 de C y D. Pregunta L.2.2 Ver pregunta L.2 del segundo parcial Redes Laboratorio final 4 EXAMEN DE REDES. FINAL. JUNIO 2011. SOLUCIÓN PROBLEMAS Problema 1: Ver problema 1 del segundo parcial Problema 2: Ver problema 2 del segundo parcial Problema 3: Las rutas son todas simétricas y siguen todas el mínimo número de enlaces, excepto H2-H4 y H3-H1, que discurren por el lado ‘largo’. Esto significa que cuando B recibe un paquete dirigido a H1 lo debe enviar por el enlace directo si proviene de H2, mientras que lo debe enviar a través de C si proviene de H3. Esto no es posible si B es un router, ya que el enrutamiento se basa exclusivamente en la dirección de destino. La única forma de conseguir ese ‘enrutamiento desde el origen’ es haciendo que B sea un conmutador LAN y poniendo como router por defecto de H2 la interfaz I3 de A y como router por defecto de H3 la I3 de B. Por consiguiente B debe ser un conmutador LAN y A y C deben ser routers. Antes de especificar la configuración de los equipos asignaremos subredes a los grupos de hosts. Puesto que no se nos dice nada sobre el direccionamiento utilizaremos subredes /24 del rango privado 10.0.0.0/8 Grupo de hosts H1 H2 H3 H4 Subred 10.0.0.0 10.0.1.0 10.0.1.0 10.0.2.0 Máscara 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0 Router por defecto 10.0.0.1 10.0.1.1 10.0.1.129 10.0.2.1 Rango útil 10.0.0.2-10.0.0.254 10.0.1.2-10.0.1.126 10.0.1.130-10.0.1.254 10.0.2.2-10.0.2.254 H2 y H3, forman parte de la misma subred para que su comunicación sea local. Sin embargo les hemos asignado rangos separados y diferente router por defecto para poder cumplir el requisito de enrutamiento planteado en el enunciado. En cuanto a las interfaces I3 de A y B tienen una máscara /25 para que solo vean directamente conectada la mitad que les corresponde. La configuración de los equipos queda pues como sigue: Redes Problemas final 1 Errores más frecuentes: Varios alumnos resolvieron el problema configurando VLANs en el conmutador B de forma que una VLAN conectaba los hosts H2 con el router A y los hosts H3 con el router B. Una posible configuración de este tipo es la siguiente: La configuración es idéntica a la anterior salvo por las VLANs configuradas en el conmutador y el hecho de ahora los hosts H2 y H3 se encuentran en subredes independientes a todos los efectos y la comunicación entre ambas discurre a través de los routers Aa y C, lo cual no cumple los requisitos planteados en el enunciado. Varios alumnos resolvieron el problema utilizando tres routers. Una posible configuración de este tipo es la siguiente: Redes Problemas final 2 Esta configuración cumple todos los requisitos del enunciado excepto en el caso de la ruta para el tráfico de H2 a H4, que discurre por el enlace B-C, y para el tráfico de H3 a H1, que discurre por B-A. Como ya hemos comentado este problema no tiene solución con un router en C ya que no es posible realizar enrutamiento desde el origen. Redes Problemas final 3