Examen de Fundamentos de Redes de Computadores Junio 2005 1. (1.5 puntos) Se quiere enviar un mensaje de 20 Kbytes entre dos hosts conectados directamente. La conexión entre ellos presenta las siguientes características: Distancia 1000 Km Longitud del paquete 50 bytes Velocidad de transmisión 155 Mbps Velocidad de ación 2*10 5 Km/s Suponed despreciables el tiempo de esamiento y el retardo de cola. a) Calcular el tiempo de transmisión del mensaje cuando se utiliza conmutación de paquete sobre circuito virtual. En el circuito virtual, los paquetes viajan siempre por el mismo camino, lo que quiere decir que se tiene que establecer ese camino antes de empezar a transmitir. Para este problema, el iempo de establecimiento del circuito virtual es t s 100 mseg y la sobrecarga de la cabecera será h 10 bytes. b) Calcular el tiempo de transmisión del mensaje cuando se utiliza conmutación de paquete sobre datagramas (sobrecarga por cabeceras 24 bits). c) Recalcular el tiempo de transmisión del mensaje del apartado A cuando se añade entre los dos hosts un router. A). de transmisión total del mensaje. de esamiento + Retardo de cola + Retardo de transmisión +. de ación +. de de establecimiento del circuito virtual + + + + Cálculo de cada tiempo: y cola son nulos. : iempo de transmisión de un paquete: amaño del paquete + cabecera asa de transmisión cola L + h 50 + 10 0*8 R 155Mbps 1paquete s 480 segundos Si el tamaño del mensaje es de 20 Kbytes, el número total de paquetes es de 410. Entonces, para enviar el mensaje completo: 480 mensaje 410* + 1paquete 410* segundos 1. 29mseg : iempo de ación Dis tan cia _ entre _ los _ hosts 1000Km 5mseg 5 Velocidad _ ación 2*10 Km / s iempo de transmisión del mensaje: + cola + + + s 0 + 0 + 1.29 + 5 + 100 10. 29mseg B). de de transmisión total del mensaje. de esamiento + Retardo de cola + Retardo de transmisión +. de ación + + + cola Cálculo de cada tiempo: y cola son nulos. : iempo de transmisión de un paquete: amaño del paquete + cabecera L + h 50bytes + 24bits 50 *8 + 24 424 1paquete sg asa de transmisión R 155Mbps Si el tamaño del mensaje es de 20 Kbytes, el número total de paquetes es de 410. Entonces, para enviar el mensaje completo: Fundamentos de Redes de Computadores 1/7
424 mensaje 410* + 1 paquete 410* segundos 1. 122mseg : Dis tan cia _ entre _ los _ hosts 1000Km 5mseg 5 Velocidad _ ación 2*10 Km / s iempo de transmisión del mensaje: + + + 0 + 0 + 1.122 + 5. mseg cola 122 C) Circuito Virtual:. de transmisión total del mensaje. de esamiento + Retardo de cola + Retardo de transmisión +. de ación +. de establecimiento del circuito virtual + + + + Cálculo de cada tiempo: y cola son nulos. : iempo de transmisión de un paquete: amaño del paquete + cabecera L + h 50 + 10 0 *8 480 1paquete segundos Este asa de transmisión R 155Mbps tiempo, es el tiempo de transmisión de un paquete en un enlace. Ahora tenemos dos enlaces, por lo que: 480 90 2 * El resto de paquetes llegarán cada 1 paquete segundos 480 cola segundos, que es el tiempo de transmisión de un paquete en un enlace. Si el tamaño del mensaje es de 20 Kbytes, el número total de paquetes es de 410. Entonces, para enviar el mensaje completo: 90 480 mensaje 1paqute + 1enlace *( NumPaquetes 1) + 409* 1. 273mseg Dis tan cia _ entre _ los _ hosts 1000Km : 5mseg 5 Velocidad _ ación 2*10 Km / s iempo de transmisión del mensaje: + + + + 0 + 0 + 1.273 + 5 + 100 10. mseg cola s 273 2. (0.5 puntos) Para una arquitectura de protocolos CP/IP de 5 niveles, indica qué niveles realizan las tares de: s area Control de Errores Establecimiento de la Conexión Cierre de Conexión Control de Flujo Encaminamiento Nivel(es) Nivel de Enlace y Nivel de ransporte Nivel de ransporte Nivel de ransporte Nivel de Enlace y Nivel de ransporte Nivel de Red Fundamentos de Redes de Computadores 2/7
3. (1 punto) Para la siguiente cadena de consultas DNS, indicad: a) Qué tipo de servidor es cada uno de los servidores DNS que intervienen, para cada uno de los dos nodos implicados. Servidores Nodos S. Raíz dns.eurecom.fr dns.umass.edu dns.cs.umass.edu surf.eurecom.fr S. Raiz S.Local --------------------- --------------------- gaia.cs.umass.edu S. Raiz ---------------------- S. Intermedio S. Autorizado b) Indica para cada una de las consultas realizadas si es iterativa o recursiva. Consulta 1-8: Recursiva Consulta 2-3: Iterativa Consulta 4-7: Recursiva Consulta 5-: Recursiva S. Raíz 2 3 4 dns.eurecom.fr 7 dns.umass.edu 1 8 5 dns.cs.umass.edu surf.eurecom.fr gaia.cs.umass.edu Fundamentos de Redes de Computadores 3/7
4. (1 punto) Un cliente HP se conecta a un servidor web para obtener una página web formada por un fichero HML que referencia a 2 objetos JPEG y 2 objetos GIF. Indica el tiempo, en unidades R que tarda en descargarse dicha página si: a) El navegador soporta el protocolo HP 1.0 y admite hasta 3 conexiones simultáneas. b) El navegador soporta el protocolo HP 1.0 y admite hasta conexiones simultáneas. c) El navegador soporta el protocolo HP 1.1 sin pipeline. En todos los casos, el servidor trabaja con el protocolo HP 1.1 a) 2 R + 2 R + 2 R R b) 2 R + 2R 4 R c) 2 R + 4 R R 5. (1 punto) Queremos enviar un correo electrónico a la dirección usuario1@inf.upv.es, siendo nuestra dirección de correo usuario2@inf.upv.es, pero el único software disponible para ello es un cliente ELNE. Escriba la secuencia de comandos que se enviarán al servidor de correo desde mi máquina local. telnet smpt.upv.es 25 helo upv.es mail from usuario2@inf.upv.es rcpt to usuario1@inf.upv.es data <mensaje>. quit Fundamentos de Redes de Computadores 4/7
. (1 punto) Un usuario pone en marcha un cliente FP, realizando las siguientes acciones: open ftp.ftpplanet.com ftp> Conectado a ftp.ftpplanet.com. 220 ftp.ftpplanet.com X2 WS_FP Server 5.0.4 (388990710) Usuario (ftp.ftpplanet.com:(none)): anonymous 331 Password required Contraseña: fureco@redes.upv.es 230 user logged in ftp> cd images 250 CWD successful ftp> dir 200 command successful 150 Opening ASCII data connection for directory listing -r-x------ 1 anonymou System 24017 Mar 4 17:49 image008_7.jpg -r-x------ 1 anonymou System 28432 Mar 4 17:49 image009_7.jpg -r-x------ 1 anonymou System 28331 Mar 4 17:49 image010_7.jpg -r-x------ 1 anonymou System 139 Mar 4 17:49 image011_7.jpg -r-x------ 1 anonymou System 2199 Mar 4 17:49 image012_7.jpg -r-x------ 1 anonymou System 27093 Mar 4 17:49 image013_.jpg -r-x------ 1 anonymou System 20174 Mar 4 17:49 image014_5.jpg -r-x------ 1 anonymou System 2572 Mar 4 17:49 image015_5.jpg -r-x------ 1 anonymou System 34323 Mar 4 17:49 image01_4.jpg -r-x------ 1 anonymou System 2030 Mar 4 17:49 image017_3.jpg -r-x------ 1 anonymou System 44289 Mar 4 17:49 image018_3.jpg 22 transfer complete ftp: 2451 bytes recibidos en 2,9 segundos 0,91 a KB/s. ftp> retr image012_7.jpg Comando no valido ftp> get image012_7.jpg 200 command successful 150 Opening BINARY data connection for image012_7.jpg (2199 bytes) 22 transfer complete ftp: 2199 bytes recibidos en 17,4 segundos 1,25 a KB/s. ftp> get image012_8.jpg 200 command successful 550 image012_8.jpg: cannot find specified file ftp> bye 221 Good-Bye Se pide: a) Indicad cuántas conexiones se han creado y de qué tipo durante toda la sesión. b) Explicad la diferencia entre los comandos RER y GE Por qué ha dado mensaje de error el comando RER? c) Indicad si se han intercambiado ficheros entre el cliente y el servidor, y en caso afirmativo, dónde han quedado almacenados. A) Se crea una conexión de control, que dura toda la sesión, y dos conexiones de datos: una para el comando DIR y otra para el comando GE image012_7.jpg Es decir, se crean una conexión de control y dos de datos B) RER es un comando interno del protocolo FP que no puede ser utilizado por el usuario. Si el usuario quiere obtener un fichero del servidor, utilizará el comando GE, el cual, internamente, se transformará en los comandos POR y RER. C) Sí que ha habido un intercambio de ficheros. En concreto, el fichero image012_7.jpg ha sido almacenado en el cliente. Fundamentos de Redes de Computadores 5/7
7. (1.5 punto) Alicia y Roberto quieren comunicarse de forma segura utilizando criptografía de clave pública. Para ello, Alicia dispone de un certificado digital (AC A ) de su clave pública emitido por la autoridad certificadora www.authenticateali.com. Por su parte, Roberto tiene su certificado digital (AC R ) emitido por la autoridad certificadora www.authenticaterob.com. a) Indicad qué información tendrán que enviarse el uno al otro para poder trabajar con las claves públicas respectivas. b) Una vez enviada la información pertinente, indicad las operaciones que tendrá que realizar Alicia para obtener la clave pública de Roberto. c) Si a Alicia le ha caducado el certificado, podrá seguir enviando información firmada? Podrá Alicia seguir recibiendo información firmada por Roberto? A) Alicia y Roberto están en dominios diferentes, por lo que cada Autoridad Certificadora (AC) gestiona un dominio, emitiendo certificados para las ACs de los dominios con los que desee comunicarse. Eso significa que Alicia debe obtener un certificado de la AC de Roberto firmado por su AC. Es decir, Alicia obtiene un certificado de www.authenticaterob.com firmado por www.authenticateali.com. Después de comprobar que este certificado es correcto, Alicia obtendrá el certificado de Roberto firmado por la AC de Roberto (www.authenticaterob.com). Por su parte, Roberto debe obtener un certificado de la AC de Alicia firmado por www.authenticaterob.com, y después, el certificado de Alicia firmado por su AC (www.authenticateali.com). B) Alicia obtiene primero la clave pública de la AC de Roberto descifrando el certificado enviado por www.authenticaterob.com y firmado por www.authenticateali.com. Alicia puede hacer este descifrado porque conoce la clave pública de su AC. Una vez obtenida la clave pública de www.authenticaterob.com, Alicia descifrará el certificado que ha enviado Roberto, obteniendo así la clave pública de Roberto. C) Caducado el certificado, el cliente de correo avisará de la caducidad del certificado. Si se envía, aparece un mensaje de firma incorrecta. Es decir, que Alicia no podrá seguir enviando correos firmados. Por otra parte, Alicia sí que puede seguir recibiendo e-mails de otros usuarios firmados con su clave, en este caso Roberto, puesto que el certificado de Roberto no ha caducado. Fundamentos de Redes de Computadores /7
8. (2.5 puntos) Escriba el código C de un servidor multiprotocolo capaz de recibir del cliente dos números enteros y devolver la resta. El servidor será secuencial para UDP y concurrente para el servicio CP. # include <sys/types.h> # include <sys/socket.h> # include <netdb.h> void main (void) { struct sockaddr_in server_addrt, client_addrt, server_addru, client_addru; int tsock, usock, nfds, alen, tsc, use, res, num[2]; fd_set rfds; tsocksocket (AF_INE, SOCK_SREAM, IPPROO_CP); server_addrt.sin_familyaf_ine; server_addrt.sin_porthtons(4200); server_addrt.sin_addr.s_addr INADDR_ANY; bind (tsock, (struct sockaddr*)&server_addrt, sizeof(server_addrt)); listen(tsock,5); usocksocket(af_ine, SOCK_DGRAM, 0); server_addru.sin_familyaf_ine; server_addru.sin_porthtons(4200); server_addru.sin_addr.s_addr INADDR_ANY; bind(usock, (struct sockaddr*)&server_addru, sizeof(server_addru)); nfdsmax (tsock, usock) + 1; FD_ZERO (&rfds); while (1) { FD_SE (tsock, &rfds); FD_SE (usock, &rfds); if (select(nfds,&rfds, (fd_set*) 0, (fd_set*) 0, (struct timeval*) 0)<0) errexit (*select error: % s\n, sys_errlist[errno] ); if (FD_ISSE(tsock, &rfds)) { alensizeof(client_addrt); tscaccept (tsock, (struct sockaddr*)&client_addrt,&alen); if (fork()) close (tsc); else { close(tsock); read(tsc,(char*) num, 2* sizeof (int)); resnum[0]-num[1]; write (tsc,&res,sizeof(int)); close(tsc); if (FD_ISSE (usock, &rfds)) { alensizeof(client_addru); recvfrom (usock, (char*)num, 2*sizeof(int),0,(struct sockaddr*) &client_addru,&alen); resnum[0] num[1]; sendto (usock, (char*) &res, sizeof(int), 0, (struct sockaddr*) &client_addru, alen); Fundamentos de Redes de Computadores 7/7