UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO322 Redes de Computadores I 13/11/2008 Solucion Segundo Certamen Pregunta 1 : Para el protocolo TCP - 50 ptos a. Muestre un diagrama temporal de TCP que muestre el uso del Ack acumulativo. Incluya números de secuencia, número de ack, bytes transmitidos y cualquier otro elemento que sirva para entender el método. Contraste con el Ack en GBN y SR. Seq = 0, Seq = ack = 0 100, ` ack = 0 0 0 =2 ack 1 , 0 = = seq ck flag A Dado que la comunicacion es full duplex: asumiendo que A envia a B dos segmentos con 100 bytes de datos. B responde a A con dos Acks. El primero se pierde pero el segundo llega y incluye a los 100 bytes del primer segmento. El Ack en GBN y en TCP es acumulativo e indica que se recibio el ultimo paquete con numero de sequencia indicado. El Ack en SR es individual e indica que se recibio el paquete con el numero de Ack indicado. b. Explique y de un diagrama temporal del método de Fast Retransmit. Fast retransmit es cuando se reciben tres Acks seguidos de un segmento ya enviado. Al recibir los tres Ack se reenvia el segmento de inmediato. c. Compare los protocolos TCP vs GBN en términos del almacenamieno de segmentos recibidos en el Rx y la retransmisión de segmentos si es que un ACK no llega al Tx. GBN no guarda segmentos recibidos fuera de orden. TCP si puede guardar segmentos recibidos fuera de orden en un RcvBuffer del Rx. En GBN si el Ack no llega al Tx y ocurre un timeout sin que se haya recibido un Ack para un segmento subsiguiente se reenvian todos los segmentos previamente sin acuso de recibo. En TCP solo se retransmite el segmento que causo el timeout y se reinicia el timer. d. Cual es el rol de SendBase y NextSeqNum en TCP? Cual es el la funcion del RcvBuffer, RcvWindow, LastByteRcvd y LastByteRead? SendBase y NextSeqNum se usan en el Tx para implementar el pipeline. SendBase = numero de secuencia mas antiguo sin Ack. NextSeqNum es el numero de secuencia del proximo segmento a enviar. 1 UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO322 Redes de Computadores I RcvBuffer, RcvWindow, LastByteRcvd y LastByteRead se usan en el Tx parar implementar control de flujo. RcvWindow es el espacio libre que hay en el buffer del Rx, se envia en cada segmento recibido del Rx. El Tx se asegura de no enviar mas datos de los que el Rx pueda usar usando (LastByteSent - LastByteAcked <= RcvWindow). En el Rx RcvWindow = RcvBuffer - [LastByteRcvd - LastByteRead] e. Si envia un archivo muy grande de L bytes desde terminal A a B. Asuma un MSS de 1460 bytes. Hay un encabezado de 80 bytes agregado por las capas transporte, red y enlace. Considerando un enlace de 100Mbps y asumiendo un flujo continuo de segmentos. Cuanto se demoraría en enviar el archivo completo? Numero de Segmentos=⌈ Tiempo= L ⌉ MSS bytes enviados bytes cabezerabytes datos = = R R ⌈ L ⌉×80bytesL MSS R Pregunta 2 : Usted acaba de ser contratado por WorldNet! - 50 pts a. Desde 200.17.255.0/17 asigne direcciones IP a la red completa. Use NAT para N1-N3. Las re d e s son ent r e ro u t e r s y las re d e s for m a d a s co n los eq u i p o s de escr i t o r i o . Te n e m o s 5 re d e s ent r e ro u t e r s y 2 co n PCs. Ca d a re d ent r e ro u t e r s req u i e r e en tot a l 4 di r e c c i o n e s IP, 2 di r e c c i o n e s IP pa r a cad a inte r f a z de los ro u t e r s ade m á s de u n a di r e c c i ó n de re d y u n a de br o a d c a s t. Par a las ot r a s re d e s se re q u i e r e n 6 di r e c c i o n e s IP p o r re d. Eje m p l o : A s i g n a n d o di r e c c i o n e s a pa r t i r de 200.17.255.0/17. Te n e m o s al m e n o s 3 bits lib r e s del úl t i m o by t e de la di r e c c i ó n IP pa r a po d e r asig n a r a las re d e s: 200.17.255.0-200.17.255.7 -> re d 1 200.17.255.8-200.17.255.15 ->red 2 200.17.255.16- 200.17.255.23 ->red 3 200.17.255.24-200.17.255.31 ->red 4 200.17.255.32-200.17.255.39 ->red 5 200.17.255.40-200.17.255.47 ->red 6 200.17.255.48-200.17.255.55 ->red 7 2 UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO322 Redes de Computadores I L o s ter m i n a l e s co n di r e c c i o n e s N A T p u e d e n ten e r las di r e c c i o n e s 10.X. Y. Z ó 192.168. X. Y en d o n d e X, Y, Z es u n ente r o ent r e 0 y 255 (es dec i r m a s c a r a /24). b. Si cada terminal N1-N3 tiene 2 conexiones web a T1, muestre la tabla NAT en E. Supongamos que a N1, N2 y N3 se les asigna la dirección 10.0.0.1 , 10.0.0.2 y 10.0.0.3 respectivamente y su dirección de salida es la 200.17.255.9/29. Ejemplo: LADO WAN LADO NAT 200.17.255.9,2001 10.0.0.1, 3001 200.17.255.9,2002 10.0.0.1, 3002 200.17.255.9,2003 10.0.0.1, 3003 200.17.255.9,2004 10.0.0.1, 3004 200.17.255.9,2005 10.0.0.1, 3005 200.17.255.9,2006 10.0.0.1, 3006 Podemos ver que los puertos son números superiores a 1024, ya que los primeros 1024 números de puertos están asignados a aplicaciones reservadas. c. Si T1 esta enviando un MP3 de 5 Kbytes a N1. Suponga que se envia en segmentos TCP, asuma cabecera IP de 20 bytes y TCP de 40 bytes. Suponga que datagramas estan limitados a 1500 bytes pero el MTU entre E y N1 es de 500 bytes. Describa el numero de segmentos y tamaño, numero de fragmentos, su tamaño, ID, offset y flag que se reciben en N1. Como estamos hablando de memoria, 5 Kbytes = 5*1024 bytes = 5120 bytes. Si los datagramas están limitados a 1500 bytes (MUT-Maximum Transfer Unit), el tamaño de la cabecera IP es de 20 bytes y el de la cabecera de trasporte es de 40 bytes por lo que el tamaño de los datos en cada datagrama es de 1440 bytes. Por lo tanto, se envían 4 paquetes, 3 con 1440 bytes de datos (datagrama es de 1500 bytes) y 1 con 800 bytes de datos (datagrama es de 860 bytes). Cada paquete al llegar a E va a ser fragmentado puesto que el MTU de los datagramas de la red de E es de 500 bytes y solo se pueden enviar datagramas (cabecera de red más 480 bytes de datos). Por lo que tendremos que cada datagrama de 1500 bytes (1480 bytes de datos para la capa red) será dividido en 4 fragmentos (3 de 500 bytes y 1 de 60 bytes). El datagrama de 860 bytes (800 bytes de datos) será dividido en 2 fragmentos uno de 500 bytes y otro de 340 bytes. Los ID pueden ser cualquier número por ejemplo 50. El total numero de fragmentos es 14. d. Calcule la tabla de ruteo de C usando vector de distancia. Muestre 1a y 2a iteración. Las tres primeras tablas de C aplicando el algoritmo de vector de distancias considerando la primera iteración del algoritmo cuando C ve el costo de sus vecinos, la segunda iteración cuando recibe la tabla de sus vecinos y la tercera cuando recalcula el costo a sus vecinos de acuerdo a los costos que recibió en la segunda iteración. 3 UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO322 Redes de Computadores I C D B A E C 0 ∞ ∞ ∞ ∞ D 1 ∞ ∞ ∞ ∞ B 2 ∞ ∞ ∞ ∞ A ∞ ∞ ∞ ∞ ∞ E ∞ ∞ ∞ ∞ ∞ C D B A E C 0 1 2 ∞ ∞ D 1 0 ∞ 3 ∞ B 2 ∞ 0 1 ∞ A ∞ 3 1 0 4 E ∞ ∞ ∞ 4 0 C D B A E C 0 1 2 ∞ ∞ D 1 0 ∞ 3 ∞ B 2 ∞ 0 1 ∞ A 3 3 1 0 4 E 7 ∞ ∞ 4 0 e. Considerando lo anterior de una tabla de reenvío en C. Incluya como mínimo 4 entradas. Red Destino 200.17.255.8 (Red C-B) 200.17.255.0 (Red C-D) 200.17.255.16 (Red D-A) 200.17.255.32 (Red A-E) 200.17.255.48 (Red Interna de E) 10.0.0.0 (Red Interna de C) T1 T2 D N1 3 C 1 4 2 1 T3 Interfaz 1 2 1 1 1 3 A E N2 N3 B 4