Universidad Técnica Federico Santa Marı́a Departamento de Informática Redes de Computadores (ILI-256) Certamen 1 Profesor Oscar Encina C. 04 de Junio del 2012, Santiago San Joaquı́n I Respuestas Cortas y fundamentadas (50pts) 1. ¿En que se diferencia un protocolo del tipo Stop-and-Wait de uno Pipelining? Respuesta: El rendimiento es notoriamente distinto debido a que Stop-and-Wait debe esperar un reconocimiento para enviar el siguiente paquete, mientras que con Pipelining (o procesamiento en cadena), el emisor podrá enviar varios paquetes sin esperar a los mensajes de reconocimiento. 2. Mencione los cuatro principales problemas que existirı́an con una solución DNS centralizada. Respuesta: Una sistema DNS centralizado tendrá como problemas: 1) Un único punto de fallo (si falla, falları́a toda la red), 2) El Volumen de tráfico (un sólo servidor tendrı́a que gestionar todas las consultas DNS desde los cientos de millones de host, 3) Distante (retardos significativos para host distantes) y 4) El mantenimiento (tendrı́a que ser actualizada con frecuencia con el fin de incluir los nuevos host y un solo registro para todos ellos!). 3. ¿Porqué se dice que SMTP es un protocolo del tipo PUSH mientras que POP3 o IMAP son uno PULL? Respuesta: SMTP es un protocolo de inserción de mensajes (PUSH ) mientras que POP3 e IMAP son de extracción (PULL) de mensajes. Es por eso que el ciclo de envı́o de correo electrónico desde un agente de usuario hacia un servidor de correo utilizando SMTP debe ser complementado con POP3, IMAP o HTTP para su descarga y visualización. 4. Uno de los servicios que ofrece DNS es la distribución de carga, ¿cómo lo hace? Respuesta: El servidor DNS entregará una lista rotada con las posibles direcciones IP existentes para ese dominio por cada solicitud. 5. ¿Cuáles son los servicios que puede ofrecer un protocolo de la capa de transporte a las aplicaciones que le invocan?, ¿Cuál de ellos provee TCP y UDP ? Respuesta: Se pueden clasificar de manera general según cuatro parámetros: transferencia de datos fiable, tasa de transferencia, temporarización y seguridad. TCP incluye un servicio orientado a la conexión y un servicio de transferencia de datos fiable, incluyendo mecanismos de control de flujo y de congestión. UDP, no 1 ofrece ninguna de las anteriores. Por otro lado, ni TCP ni UDP ofrecen garantı́as sobre el ancho de banda ni de temporarización. 6. Se desea recuperar desde la Web un sitio que contiene referencias a 5 objetos, ¿Cuál es la diferencia cuantitativa entre una conexión HTTP persistente de una no-persistente? Respuesta: La diferencia ocurre en la cantidad de conexiones TCP que se realizarán, en el caso de la persistente se generarán 7 conexiones TCP, mientras que en una nopersistente se generarán 12 conexiones. También se puede hacer alusión al tiempo RTT, la conexión persistente demorará (7*RTT ) mientras que la no-persistente (12*RTT ). 7. ¿Que es un servidor Proxy? Respuesta: También llamado caché web, es una entidad de red que satisface solicitudes HTTP en nombre de un servidor web de origen. 8. Explique que ocurre si la tasa de llegada de paquetes a un router es menor, igual y mayor a la tasa de salida del mismo Respuesta: Tal como lo observamos de la animación en clases, cuando las tasas de entrada son mayores o iguales a las de salida se generarán pérdidas de paquetes debido a que el router llena su buffer de entrada. Sin embargo, cuando la tasa de entrada es menor a la de salida no se producirán pérdidas ya que el buffer no se llenará. 9. Porqué se dice que SMTP y HTTP envı́an su información en banda, mientras que FTP la envı́a fuera de banda? Respuesta: Esto es porque tanto SMTP y HTTP utilizan una sola conexión TCP para transferir archivos mientras que FTP utiliza dos conexiones TCP paralelas para transferir un archivo, una conexión de control y una conexión de datos. 10. ¿Es posible que una aplicación disponga de un servicio fiable de transferencia de datos utilizando UDP? Respuesta: Es posible sólo si las caracterı́sticas de fiabilidad son incorporadas a la propia aplicación añadiendo por ejemplo mecanismos de reconocimiento y retransmisión. Por lo tanto, los procesos de aplicación podrı́an comunicarse de forma fiable sin estar restringidos a la velocidad de transmisión impuesta por el mecanismo de control de congestión de TCP. 2 II TCP y Control de Flujo (20pts) 1. Dibuje un diagrama de lineas de tiempo Cliente - Servidor señalando el tipo de segmento utilizado en un establecimiento de conexión y un fin de conexión para un sistema punto a punto. 2. Explique como TCP logra controlar el flujo de datos en una conexión punto a punto. Mencione las estructuras y/o variables involucradas tanto en el transmisor como en el receptor. Respuesta: TCP mantiene en el emisor una variable conocida como Ventana de Recepción. Esta variable se utiliza para propocionar al emisor una idea de cuánto espacio libre hay disponible en el buffer del receptor. III Retardo y Protocolo de Ventana Deslizante (15pts) A usted como ingenierio se le pide diseñar un protocolo de ventana deslizante que funcionará entre dos puntos, la UTFSM y la Luna. Considere un enlace de 1Mbps y un tiempo de ida de 1.25seg. Considere también un tamaño promedio de frame igual a 1KB. ¿Cuál es el mı́nimo número de bits que se necesitan para los números de secuencia? (considere tamaños de ventana iguales para transmisor y emisor). Respuesta: El tiempo RT T = 2x1, 25 = 2, 5seg. El tiempo de transmisión de un frame es 1024x8 = 8, 19mseg. Por lo tanto el tamaño de la ventana del Transmisor queda dada 106 2,5 por 8,19x10−3 = 305. El número de secuencia máximo está dado por 305 < M axSeq+1 2 donde M axSeq < 609. El número de bits es log2 609 = 9, 25, es decir 10 bits. 3 IV Protocolo simplificado de intercambio de mensajes (15pts) Considere 2 entidades de Red, A y B, las cuales están conectadas por un canal perfectamente bi-direccional (sin pérdidas, corrupción de bits o re-ordenamiento). A y B se enviarán mensajes uno a otro de manera alternada: Primero A debe enviar un mensaje a B, luego B debe enviar un mensaje a A, continuando ası́ de la misma manera. Dibuje una especificación FSM para este protocolo considerando A y B. No se preocupe acerca de los mecanismos de confiabilidad, el objetivo es crear una especificación FSM que refleje el comportamiento sincronizado de dos entidades. Utilice las siguientes funciones: rdt send(data), make pkt(data), udt send(packet), rdt rcv(packet), extract(packet,data) y deliver data(data). Asegúrese que su protocolo refleje la estricta alternancia de envı́o entre A y B. 4