Examen Final de Redes - ETSIA
Transcripción
Examen Final de Redes - ETSIA
Examen Final de Redes - ETSIA - 1 de Junio de 2007 Apellidos, Nombre: _ Grupo de matrícula: 1. (0,5 puntos) Completa la siguiente tabla con la pila de protocolos TCP/IP (arquitectura de Internet) indicando la función de cada nivel de la pila, los protocolos que pertenecen a cada nivel, la función de los protocolos y la unidad de transferencia de datos empleada en cada nivel. Nivel Aplicación Función del nivel Proporcionar servicios a los usuarios Protocolos del Función de cada protocolo del nivel nivel Unidad de transferencia FTP: Transferencia archivos FTP, HTTP, SMTP, POP3, TELNET: Terminal virtual Mensaje TELNET, SMTP,POP3: Correo electrónico SSH, etc HTTP: Web SSH: Terminal virtual seguro Transporte Red Enlace de datos TCP, Multiplexación de datos entre aplicaciones (puertos) UDP Verificación de datos extremo a extremo Interconexión y encaminamiento entre redes ICMP IP: Direccionamiento, interconexión de redes y encaminamiento. ICMP: Permite el envío de mensajes de control entre hosts/routers Datagrama IP Mensaje ICMP Conexión directa [fiable] punto a punto: Control errores Control flujo MAC Delimitación de tramas Físico IP TCP: TCP: Protocolo orientado a la Segmento conexión, fiable UDP: UDP: Protocolo sin conexión Datagrama UDP Se encarga de todas las características físicas de la comunicación como por ejemplo el tipo de transmisión, características de los medios de transmisión , modulación y codificación de la señal. IEEE 802.3 Definen tamaño y formato de (Ethernet) trama, así como el protocolo de Trama acceso al medio. IEEE 802.11 (Wi-Fi) Bytes/Bits 2. (2 puntos) Calcula, en unidades de RTT, el tiempo necesario para descargarse una página web que contiene 2 imágenes. El protocolo empleado es HTTP 1.1 con pipelining, el MSS de las conexiones es de 1000 bytes, el tamaño de la respuesta HTTP que contiene el fichero html que describe la página web es de 2000 bytes, y que el tamaño de las respuestas HTTP que contienen las imágenes es de 6000 bytes cada una. Además, el tamaño de las peticiones HTTP es de 200 bytes. Las ventanas de recepción a usar son de 5000 bytes. La velocidad de transmisión es muy elevada comparada con el RTT existente entre el cliente y el servidor, por lo que asumimos que el tiempo de transmisión de los segmentos, así como el tiempo de procesamiento en el cliente y en el servidor son despreciables. Finalmente, se va a hacer uso de ACKs retardados y de las técnicas de control de la congestión (arranque lento y evitación de la congestión). Además, es obligatorio que muestres gráficamente el intercambio de segmentos entre cliente y servidor. El tiempo necesario, en unidades de RTT es 5. El primer RTT se debe al establecimiento de la conexión. SYN AC K , S AC K , G YN En el segundo RTT se pide la pagina html y se devuelve (ocupa 2000 bytes, y como la ventana de congestión es 1000, se puede devolver todo el objeto de golpe). ET H T M L Vcong = 2 En HT M L A CK G ET IM G 1 , GE T IM G 2 1 IM G A CK IM G 2 IM G 2 IM G 2 IM G 2 En el cuarto RTT, con los ACKs que recibe el servidor, su ventana de congestion llega a 5, con Vcong = 3 lo que devuelve el resto de la imagen 1 y el principio de la imagen 2. En el quinto RTT se recibe el resto de la segunda AC K IM G 1 IM G 1 IM G 1 IM G 2 IM G 2 AC K el tercer RTT se devuelve el ACK correspondiente al mismo tiempo que se piden las imagenes (HTTP1.1 con pipelining) y el servidor devuelve parte de la imagen 1. Vcong = 4 imagen. Vcong = 5 AC K 3. (1 punto) Implementa en Java un rastreador de puertos TCP que indique por pantalla los puertos abiertos. Sólo hay que comprobar los puertos bien conocidos. import java.net.*; import java.io.*; public class LowPortScanner { public static void main(String[] args) { String host = "localhost"; for (int puerto = 1; puerto < 1024; puerto ++) { try { Socket s = new Socket (host, puerto); s.close(); System.out.println(“El puerto “ + puerto + “está abierto”); } catch (UnknownHostException e) { System.out.println(“Problemas con el nombre del host”); } catch (IOException e) { } } // end for } // end main } // end PortScanner 4. (0,5 puntos) ¿En qué consiste el piggybacking? Indica cómo se implementa en TCP dicha técnica. Consiste en añadir un campo ACK (de reconocimiento) a los datos transmitidos, intentando minimizar el número de mensajes de ACK de los datos recibidos. Dicho de otra forma, permite que los mensajes de ACK viajen en los segmentos de datos del sentido contrario. En TCP esta técnica se implementa incluyendo en la cabecera del segmento un campo de reconocimiento que está siempre presente, y un flag de ACK que indica si dicho campo es válido o no. De esta forma, en los segmentos de datos se puede incluir en el campo reconocimiento el valor adecuado, y activar el flag de ACK. 5. (0,5 puntos) Respecto a los sockets: a) ¿Puede un cliente abrir dos sockets sobre el mismo puerto local (del mismo protocolo)? Justifica la respuesta. No. La apertura del segundo socket produciría un error, ya que de permitirse la existencia de este segundo socket haría que TCP no supiera a cuál entregar un segmento si se emplean ambos para acceder al mismo servidor. b) ¿Pueden existir en un servidor dos sockets con el mismo puerto y protocolo? Justifica la respuesta, y muestra, si es posible, un ejemplo. Si, únicamente en los servidores TCP, ya que en este caso los sockets se diferencian por la conexión, de la cual forma parte la dirección del socket remoto (del cliente), ya que son sockets conectados. Ejemplo: Se crean sockets con el mismo puerto en un servidor concurrente cada vez que se ejecuta la llamada a accept . 6. (0,5 puntos) Utilizando la aplicación sock, indica las instrucciones para crear: a) Un socket servidor TCP en el puerto 12345. sock -l :12345 b) Un socket cliente TCP del servicio ofrecido en el puerto 12345. sock :12345 c) Un socket servidor UDP en el puerto 12345. sock -ul :12345 d) Un socket cliente UDP del servicio ofrecido en el puerto 12345. sock -u :12345 7. (0,75 puntos) a) Si no hay disponible un servidor DHCP, indica qué parámetros de configuración tiene que introducir el administrador de un ordenador para que éste pueda trabajar en una red con la pila de protocolos TCP/IP. Dirección IP del ordenador, máscara de red, dirección IP del router y dirección IP del servidor DNS. b) Enumera las órdenes necesarias para comprobar que la configuración de red del ordenador es la correcta, suponiendo que está empleando el sistema operativo Linux. Indica para qué sirve cada una de esas órdenes. /sbin/ifconfig: muestra la dirección IP, la máscara de red y la dirección física /etc/resolv.conf: muestra los servidores DNS route [-n] o netstat -r: muestran la tabla de encaminamiento 8. (1 punto) La tabla de encaminamiento del router R es la siguiente: Kernel IP routing table Destination Gateway 192.168.1.0 0.0.0.0 172.16.236.0 192.168.1.3 158.42.180.0 0.0.0.0 139.254.0.0 0.0.0.0 127.0.0.0 0.0.0.0 0.0.0.0 158.42.181.250 Genmask 255.255.255.0 255.255.255.0 255.255.254.0 255.255.0.0 255.0.0.0 0.0.0.0 Flags U UG U U U UG MSS 0 0 0 0 0 0 Window 0 0 0 0 0 0 irtt 0 0 0 0 0 0 Iface eth1 eth1 eth0 eth2 lo eth0 a) Dibuja la topología de las redes más próximas a R (todas las que puedan obtenerse a partir de la tabla mostrada), indicando para cada una de ellas su dirección de red, máscara y direcciones conocidas de los routers. R 158.42.180.0/23 192.168.1.0/24 192.168.1.3 R1 139.254.0.0/16 158.42.181.250 R2 Internet 172.16.236.0/24 b) El router R tiene que enviar varios datagramas a diferentes destinos IP. Indica la entrada de la tabla de encaminamiento que se utilizaría para encaminar cada uno de estos datagramas. Asimismo indica la dirección IP del ordenador (host o router) que recibe la trama generada por R. IP destino Entrada seleccionada (campo Destination) del datagrama 158.42.196.11 IP del receptor de la TRAMA Entrada seleccionada: 0.0.0.0 158.42.181.250 (R2) Justificación: después de hacer el AND bit a bit de la IP destino con la máscara de red (campo Genmask) es la única entrada del campo Destination que se ajusta al resultado obtenido ((158.42.196.11 AND 0.0.0.0) = 0.0.0.0. (La entrada 158.42.180.0 no es válida porqué 158.42.196.11 AND 255.255.254.0 = 158.42.196.0 que no cuadra con la entrada indicada) 172.16.236.45 172.16.236.0 192.168.1.3 (R1) 158.42.181.12 158.42.180.0 158.42.181.12 127.0.0.1 127.0.0.0 No se genera trama. El datagrama es local al host. 9. (0,5 puntos) Hemos dividido la red 202.202.202.0/24 en varias subredes del mismo tamaño y hemos obtenido 240 direcciones asignables en total (entre todas las subredes). Calcula el número de subredes que hemos establecido, su dirección de red y su máscara. Con una máscara /24 tenemos 256 direcciones disponibles (8 bits para identificar hosts), como de esas sólo podemos asignar 240, significa que las restantes 16 son 8 para direcciones de red y 8 para direcciones de difusión dirigida. Por lo tanto, tenemos 8 subredes y necesitamos 3 bits más para identificarlas. La nueva máscara será /27 (24+3) y las direcciones de red de las subredes: 202.202.202.0, 202.202.202.32 (001X XXXX), 202.202.202.64 (010X XXXX), 202.202.202.96 (011X XXXX), 202.202.202.128, 202.202.202.160, 202.202.202.192 y 202.202.202.224. 10.(0,25 puntos) A partir del circuito de la figura, obtén el polinomio generador que se está utilizando para calcular y verificar el CRC. G(x) = x5 + x4 + x2 + 1 11. (0,5 puntos) En la red de la figura, el router E que estaba apagado, se acaba de conectar. Todos los demás routers han alcanzado el estado estable y tienen sus tablas de encaminamiento construidas. Muestra los vectores de distancias que recibirá E. Describe cómo, a partir de la información recibida, construye la tabla de distancias y la tabla de encaminamiento : 2 C Vectores de distancia: Tabla de distancias: DE() B D 1 A 2 1 B 1 E 1 D Tabla de encaminamiento: B D Destino Puerto A 1 A 2 A 2 3 A B B 0 B 3 → B 1 4 → B B C 2 C 1 C 3 2 C D D 3 D 0 D 4 1 D D E 1 E 1 E -- -- E -- 12. (1 punto) Se desea transmitir periódicamente el carácter “10101010” empleando codificación manchester, por un canal con un ancho de banda igual a 4000 Hz. Sabiendo que T = 0,8 s. Calcula: a) El número de armónicos que pasarán por el canal. Justifica los cálculos. Al tratarse de una señal periódica, sus componentes frecuenciales tienen frecuencias múltiplo de la frecuencia fundamental, por lo tanto: n*f = B siendo n, el número de armónicos, f, la frecuencia fundamental y B, el ancho de banda del canal. n = B/f = B*T = 4000*0,8= 3.200 b) La velocidad de transmisión. Justifica los cálculos. Como la señal es periódica con período 2 bits: vtrans = 2*f = 2/T= 2/0,8 = 2,5 bps (El número de bits transmitidos en 1s (vtrans) es el doble que del número de veces que se repite la señal durante ese segundo (f)) 1 0 T 1 0 13. (1 punto) En la transmisión de un datagrama IP desde A hasta D, la caché de A contiene los datos necesarios para las tramas generadas. Las cachés del resto de sistemas están vacías. C y D están asociados al punto de acceso. Indica para las tramas que llegan a la tarjeta de red de C: SW ether PAcceso IEEE 802.11 IEEE 802.3 R C B D ... A a) Direcciones físicas en la cabecera de la trama, especificando el papel que desempeñan (fuente, destino, emisor o receptor). 2. Trama Dirección 1 Dirección 2 (Receptor) (Emisor) Dirección 3 1ª FF: ...:FF (difusión) PA (MAC en la red (802.11) R1 (MAC de R en la conexión con el PA), fuente 2ª PA D R1, destino 3ª D PA R1, fuente b) Función de la trama y tipo de información en su campo de datos. 1ª trama: petición ARP de R para averiguar la dirección física de D, el campo de datos corresponde al protocolo ARP, contendrá las direcciones IP de R y de D, así como la dirección MAC de R. 2ª trama: respuesta ARP de D a R, el campo de datos corresponde al protocolo ARP contendrá las mismas direcciones que la trama 1ª y, además, la dirección MAC de D. 3ª trama: contiene el datagrama enviado por A. El tipo de información en el campo de datos corresponde al protocolo IP . c) Si la tarjeta de red (de C) procesa o descarta la trama y el nivel máximo en la arquitectura de red que analiza la información recibida. Sólo procesa la primera trama, por ser de difusión. Las otras dos las descarta porque la dirección del receptor no corresponde con la suya. En los tres casos el nivel máximo de la arquitectura que analiza la información recibida es el nivel de enlace de datos.