Práctica 4: End-to-End (Teoría de las Comunicaciones)

De Cuba-Wiki

Ejercicio 1

Especifique tres diferencias entre las funciones de la capa de transporte y las funciones de la capa de red.

Rta:

  • La capa de transporte es normalmente implementada en los sistemas operativos de los hosts y no en los routers o switches como la capa de red.
  • La capa de transporte provee multiplexación de procesos.
  • La capa de transporte suele proveer confiabilidad y orientación a conexión para protocolos de niveles más bajos que no lo proveen.
  • La mayoria de los procesos interactúan directamente con las primitivas de la capa de transporte, en cambio pocos de ellos conocen/interactúan con la capa de red.

Ejercicio 2

El nivel de enlace de datos al igual que el nivel de transporte debe tratar con control de errores, de flujo y de secuencia. Sin embargo existen diferencias significativas entre ambos niveles. ¿ Cuáles son ?

Rta:

  • El nivel de enlace trabaja sobre dos nodos, no hay nada en el medio.
  • El nivel de transporte trabaja host a host, entre estos hosts hay muchisimos nodos y se tiene que tener en cuenta la congestion de la red.
  • En el nivel de enlace se sabe la capacidad del enlace y el RTT, en el nivel de transporte no puede saberse y debe ser estimado.

Ejercicio 3

Explique con la ayuda de un diagrama qué se entiende por multiplexación en el nivel de transporte. ¿Podría una conexión de transporte dividirse entre varios circuitos virtuales? Ilustre la respuesta con un dibujo que muestre un caso de este tipo.

Ejercicio 4

¿ Qué es UDP ? ¿ Que tipo de servicio brinda ? ¿ Sobre qué protocolos de red puede trabajar ? Dibuje el esquema básico del paquete. Ejemplifique para que puede ser utilizado.

Rta:

  • UDP es un protocolo de transporte.
  • No confiable, no orientado a cx.
  • IP.
Header UDP
Puerto de origen Puerto de destino
Longitud Checksum
Opciones

Ejercicio 5

Pendiente Chequear

Describa las diferencias entre un servidor de nombres, un servidor standalone y un servidor de procesos. ¿ En qué casos es conveniente usar cada uno ? Ejemplifique.

RESP: serv nombres: hay un demonio en el servidor que atiende a todos los clientes. el cliente envia el nombre de la aplicacion con la que quiere comunicarse. el servidor abre un puerto y ejecuta el proceso de esa aplicacion. lo envia al cliente. el cliente se conecta directamente a ese puerto.

serv standalone: hay un solo proceso, el demonio, atendiendo todos los puertos. Segun el puerto que sea, carga el proceso correspondiente y lo corre.

serv procesos: hay un proceso en cada puerto. al conectarse el cliente, hace un fork y le asigna el nuevo thread.

Ejercicio 6

¿ Con qué tipo de servicio de red está diseñado para trabajar el protocolo TCP ? ¿ y UDP ?

Rta:

Esta diseñado para funcionar sobre IP, es más, se implementan ambas capas juntas.

Ejercicio 7

¿ Porqué el máximo tiempo de vida de un paquete dentro de una red debe estar acotado y por qué hay que asegurar que no sólo el paquete sea eliminado de la red sino también todos los ACKs que le correspondan ?

Rta:

  • El packete para que no cicle infinitamente por la red.
  • ACKs para que no se confundan con nuevas encarnaciones de la misma cx.

Ejercicio 8

  • ¿ Porqué cree que en algunas redes los números de secuencia iniciales para comenzar una conexión de nivel de transporte se generan en función del reloj interno de la computadora ?
  • Si esto es así, ¿ Genera alguna restricción en la emisión de datos luego de establecer la conexión ?

Rta:

  • Para evitar que ACKs perdidos den problemas en una nueva encarnación de la misma cx anterior. Generando numerosros de secuencia "aleatorios" (con el reloj), la probabilidad de que el ACK perdido coincida con este nuevo numero es muuuy pequeña.
  • No. En el handshake las puntas se ponen de acuerdo en que numeros usar para cada lado. Si los números se pasaran del máximo no importa porque no tendríamos problemas hasta que el ciclo llegue al original de nuevo.

Ejercicio 9

Pendiente Chequear

¿ Qué sucede cuando una conexión de TCP no es cerrada en forma correcta ? Explique una posible causa, como puede ser detectado el hecho, describa la solución, especificando ventajas y desventajas de la misma. RESP: Deteccion: Se pone un contador de tiempo. Solucion: Luego de enviar un FIN, si se genera un timeout, se cierra la cx. Ventajas: Se puede cerrar la cx. Desventajas: Quizas el otro host no se entera nunca de que la cx se cerro.

Ejercicio 10

Supongamos que deseamos conectarnos con un host distante a través de una red que admite paquetes de tamaño X. Si el host emisor trabaja con TPDUs de Y bytes (con Y > X), éstos no podrán circular en la red. En el caso de que se use TCP/IP:

  • ¿ Quién realiza la fragmentación de los TPDUs para que puedan ser procesados por la red ?
  • Una vez hecho esto, ¿ Debe el protocolo TCP encargarse de asegurar la llegada de los distintos fragmentos en el orden correcto ?

Rta: (para mi que esto no está del todo bien - Facundo)

  • IP los fragmenta
  • No, IP se encarga de reensamblar, pero no garantiza orden ni llegada.

Ejercicio 11

Tanto en nivel 2 como en nivel 4 se realiza control de flujo mediante la creación y administración de buffers. Explique cuál es el objetivo que se busca con esto en cada nivel. ¿ Existe alguna diferencia en el manejo de buffers en cada uno de los niveles mencionados ?

Rta:

  • Evitar que llegue al destino mas info que la que puede procesar, saturando sus recursos.
  • Chamullo (creo q no responde): Si, en N4 se hace control de congestion.

Ejercicio 12

Pendiente Chequear

Considere una red TCP/IP que usa un protocolo de N2 orientado a conexión que garantiza el envío y recepción de tramas usando Seq, ACKs, retransmisiones y CRC para detectar errores. IP solo realiza chequeo del header. ¿ Cree usted que es necesario tener algún tipo de control de errores en TCP para implementar un servicio orientado a conexión ? ¿ Por qué ? RESP: Si. Porque puede fallar el control en N2. Y reenviar mensajes en N4 es mas costoso que en N2 ( en N2 va de nodo a nodo, en N4 va de host a host, pasando por varios nodos )

Ejercicio 13

¿ Porqué cree que el protocolo UDP no utiliza números de secuencia en los paquetes ? ¿ O sí los utiliza ? ¿ En tal caso, con qué fin los utiliza ?

Rta:

Porque UDP no garantiza la llegada de los paquetes ni tampoco el orden.

Ejercicio 14

El protocolo UDP brinda a su nivel superior servicios:

  • Sin conexión / sin reconocimiento
  • Sin conexión / con reconocimiento
  • Orientado a conexión
  • Sin conexión u orientado a conexión
  • Ninguna de los anteriores
  • Cualquiera de las anteriores

Rta:

Brinda "Sin conexión / sin reconocimiento".

Ejercicio 15

Pendiente Chequear

Grafique en función del tiempo el intercambio de segmentos necesarios para liberar una conexión de TCP para los siguientes casos: • Con pérdida del ACK. • Con pérdida del segmento que contiene el FIN.

Ejercicio 16

Pendiente Chequear

¿ Porqué cree que el protocolo TCP no utiliza números de secuencia en los paquetes ? ¿ O sí los utiliza ? ¿ Con qué fin los utiliza ? RESP: Los utiliza para garantizar la llegada y el orden.

Ejercicio 17

Pendiente Chequear

Completar el siguiente cuadro para los protocolos TCP y UDP. Elemento del protocolo TCP UDP Establecimiento de conexiones si no Particionamiento de mensajes largos en distintos TPDUs si no Transferencia de TPDUs si si Numeración de los TPDUs si no Control de flujo de nivel de transporte si no Retención de ACKs hasta enviar TPDU si no Multiplexación si si Retransmisión debida a Timeout si no Resecuenciamiento de TPDUs si no Checksum de nivel de transporte si si

Ejercicio 18

Pendiente Chequear

Determinar si las siguientes afirmaciones son verdaderas o no: • El protocolo TCP se encarga de fragmentar mensajes, IP de reensamblarlos. F • El protocolo IP es capaz de fragmentar y reconstruir paquetes propios y se los envía al nivel superior en forma ordenada. F • Si IP se encarga de reensamblar fragmentos de sus propios paquetes, TCP se ve liberado de la tarea de verificar el ordenamiento de los datos. F

Ejercicio 19

Pendiente Chequear

Suponga que existe un servicio de red orientado a conexión que garantiza la entrega de paquetes en orden. ¿ Será necesario utilizar números de secuencia en los paquetes de datos del nivel de transporte ? RESP: Si, para garantizar la llegada.

Ejercicio 20

Pendiente Chequear

Dada una subred que usa Circuitos Virtuales (CV) internamente, se tiene un mecanismo de control de congestión, el cual se implementó de acuerdo a las siguientes condiciones: • Se asume por simplicidad que los routers usan protocolo “stop and wait” • Un router se abstiene de reconocer un paquete recibido hasta que sabe que su última transmisión por el CV se recibió con éxito y tiene buffers libres. • Cada CV tiene un buffer dedicado a el para ambos sentido del tráfico. • Se necesitan T segundos para transmitir un paquete (de datos o ACK) y hay n routers en la trayectoria. ¿Cuál es la velocidad (paquetes/seg) con que se entregan paquetes al host destino? Suponer el tiempo de transmisión en la conexión host-router es cero y que los errores de transmisión son muy pocos frecuentes. RESP: 2nt

Ejercicio 21

Pendiente Chequear

¿ Qué sentido tiene usar Slow-Start en una conexión TCP ? ¿ Por qué no empezar con una ventana de 16KB, por ejemplo ? ¿ Qué ventaja tiene usar Fast-Recovery en vez de usar Fast-Retransmit sin Fast-Recovery ? RESP: Ir "tanteando la red". Si se comenzara con 16kb y la red en ese momento soporta solo 3kb, se empezaria a transmitir en 16, luego se corta, se empieza, luego se corta. Hasta que la red soporte 16kb. Fast-Recovery evita entrar en slow start y comenzar de nuevo, hace que la ventana no se achique tanto, sino que quede apenas por arriba del SSTRESH

Ejercicio 22

Pendiente Chequear

En una conexión TCP existe varios mecanismos que controlan la congestión presente en la red. Describa al menos dos escenarios donde no sea necesario dicho control. ¿ Y un escenario dónde el control de congestión pueda resultar perjudicial para el rendimiento de la red ? CV, ya que no hay congestion porque los recursos estan pre-alocados. Otro? Uno perjudicial?

Ejercicio 23

Pendiente Chequear

Luego de un período ocioso (más de un RTO - Retransmission Timeout), el CWND (Congestion Window) es reducido a su valor inicial (usualmente un segmento máximo, SMSS). ¿ Por qué cree que dicha acción es necesaria ?

Ejercicio 24

Pendiente Chequear

El receptor en una conexión TCP tiene la facultad de demorar los ACK hasta haber recibido 2 SMSS del emisor o hasta 500ms de haber recibido el primer segmento del emisor. Mencionar dos problemas que trae demorar ACKs. RESP: 1. Hace que el calculo del RTT se distorsione. 2. Hace crecer mas lento la CWND del emisor.

Ejercicio 25

Pendiente Chequear

¿ Qué desventaja puede traer el uso de Fast-Retransmit en una conexión TCP comparándolo con la misma conexión si no usase Fast-Retransmit ? RESP: Idem anterior: hace que luego del FRecovery, la CWND no comience en IW, sino que empiece apenas por arriba del SSTRESH

Ejercicio 26

Pendiente Chequear

Un problema de seguridad que tiene el control de congestión en TCP es que el cwnd puede crecer demasiado si recibe muchos ACKs. Por ejemplo, de un segmento de 1500 bytes enviados puede recibir 1500 ACKs, incrementando el cwnd bastante. Detallar dos formas de solucionar esto, variando el trabajo que realiza TCP al recibir un ACK para actualizar el valor de cwnd, pero manteniendo aproximadamente el factor de crecimiento tanto para Slow-Start como en Congestion Avoidance y solucionando este problema puntual. RESP: 1) En vez de aumentar el cwnd por cada ack, hacerlo cada cierta cant de bytes recibidos. 2) ?????

Ejercicio 27

Pendiente Chequear

Suponga que se tienen dos conexiones TCP desde un mismo host de origen a un mismo host de destino. ¿ Conviene establecer un único control de congestión para ambas conexiones o es preferible usar controles diferentes para cada conexión ? Ejemplificar en un par de casos su respuesta. RESP: Controles diferentes para cada cx, ya que pueden estar pasando por distintos nodos y la congestion es distinta....

Ejercicio 28

Pendiente Chequear

Ayer a la noche, Pablo se conectó a Internet y envió email al server SMTP de su proveedor. El siguiente es el registro de los paquetes de aquella conexión: Frame Source Address Dest. Address Summary 1 [209.13.34.94] [200.61.33.5] DNS: C ID=93 OP=Query Name=mail.sinectis.com.ar 2 [200.61.33.5] [209.13.34.94] DNS: R ID=93 OP=Query STAT=OK NAME=mail.sinectis.com.ar 3 [209.13.34.94] odin.sinectis.com TCP: D=25 S=1204 SYN SEQ=3405653374 WIN=16384 4 odin.sinectis.com [209.13.34.94] TCP: D=1204 S=25 SYN ACK=3405653375 SEQ=2978859689 5 [209.13.34.94] odin.sinectis.com TCP: D=25 S=1204 ACK=2978859690 WIN=16560 6 odin.sinectis.com [209.13.34.94] SMTP: R PORT=1204 220 mail.sinectis.com.ar ESMTP 7 [209.13.34.94] odin.sinectis.com TCP: D=25 S=1204 ACK=2978859755 WIN=28495 8 [209.13.34.94] odin.sinectis.com SMTP: C PORT=1204 Text Data 9 odin.sinectis.com [209.13.34.94] TCP: D=1204 S=25 ACK=3405653376 WIN=31740 10 [209.13.34.94] odin.sinectis.com SMTP: C PORT=1204 Text Data 11 odin.sinectis.com [209.13.34.94] TCP: D=1204 S=25 ACK=3405653410 WIN=31740 12 [209.13.34.94] odin.sinectis.com SMTP: C PORT=1204 Text Data 13 odin.sinectis.com [209.13.34.94] TCP: D=1204 S=25 ACK=3405653426 WIN=31740 14 [209.13.34.94] odin.sinectis.com SMTP: C PORT=1204 Text Data 15 odin.sinectis.com [209.13.34.94] SMTP: R PORT=1204 mail.sinectis.com.ar closing connection 16 odin.sinectis.com [209.13.34.94] TCP: D=1204 S=25 FIN ACK=3405654203 SEQ=2978859944 17 [209.13.34.94] odin.sinectis.com TCP: D=25 S=1204 FIN ACK=2978859780 SEQ=3405654203 18 odin.sinectis.com [209.13.34.94] TCP: D=1204 S=25 ACK=3405654204 • Explique porqué se eligen particularmente esos números de puertos en los mensajes TCP. • ¿ Qué realizan los frames 3, 4 y 5 en función de TCP ? ¿ Porqué se usan esos números de SEQ y ACK ? • ¿ Qué dos hechos se pueden deducir de los últimos tres frames ? • ¿ Si tomamos en cuenta que la PC de Pablo envía a "odin.sinectis.com" esos valores de "advertise window" (WIN), eso significa que "odin.sinectis.com" puede transmitir 16KB en las respuestas a la PC de Pablo ?

Ejercicio 29

Pendiente Chequear

Suponga que un receptor de una conexión TCP decide responder con un ACK por cada 100 bytes recibidos. ¿ Qué problema se presenta si se demora en la red (pero llega antes del RTO) un segmento de 5 bytes, que antecedió a dos segmentos de 200 bytes cada uno ? Considerar el uso de Slow-Start, Congestion Avoidance, Fast-Retransmit y Fast-Recovery para la conexión TCP. RESP: FR-FR va a activarse, simplemente porque la llegada de dos segmentos de 200 va a causar 4 ACK. Eventualmente el segmento faltante va a llegar, pero ya se activo la retransmision y se bajaron las ventanas.


Ejercicio 30

Pendiente Chequear

Una idea para mejorar el control de congestión en TCP es que en lugar de ser incrementado en un MSS el valor de CWND cada vez que se recibe un ACK (sin importar cuántos bytes son asentidos), sea incrementado por la cantidad de bytes asentidos durante Slow Start. ¿ Qué ventajas y desventajas puede tener esta técnica ? RESP: Desv: Q la ventana puede crecer muy despacio. Ventaja: Evita que la ventana crezca demasiado si se envian 1500 paquetes de 1 byte c/u y se reciben 1500 ack...-> NO pueden hacer ataques

Ejercicio 31

Pendiente Chequear

En el control de congestión que realiza TCP, • ¿ Por qué el Fast-Retransmit para activarse debe esperar 3 ACK duplicados ? ¿ Con 1 o 2 no serian suficientes ? • ¿ Por qué el reordenamiento de segmentos TCP no es bueno para Fast-Recovery ? • ¿ Por qué el Slow-Start Threshold (ssthresh) se baja a la mitad de los “datos en vuelo” (datos enviados sin ACK) y no a la mitad de CWND ? RESP: 1) Es por una medicion practica. Es un "buen numero en la practica" Con 1 o 2 es demasiado poco, ya que es bastante comun que haya ack repetidos por desorden de paquetes. 2) Porque hay cierta probabilidad de que lleguen 3 acks repetidos por paquetes que llegaron desordenados y fast recovery va a reenviar el paquete y activar fast retransmit ( bajando la cwnd ) cuando en realidad el paquete llego, pero el ack vuelve desordenado.

• ¿ Por qué el Slow-Start Threshold (ssthresh) se baja a la mitad de los “datos en vuelo” (datos enviados sin ACK) y no a la mitad de CWND ?

Ejercicio 32

Pendiente Chequear

¿ Cómo hacen las aplicaciones que usan TCP para poder manejar el concepto de mensaje, cuando TCP no lo hace ? Ejemplificar con dos protocolos de aplicación. RESP: En realidad lo que hacen es meter dentro de tcp la longitud del msg y el fin del mismo. Es decir un header. http-> en el header dice el puerto 80, la long del mensaje, etc. ftp????

Ejercicio 33

Pendiente Chequear

Clasificar de acuerdo a la taxonomía dada en clase (lazo abierto, lazo cerrado, feedback, origen/destino), los mecanismos de control de congestión de los siguientes protocolos: • TCP lazo cerrado, feedback origen • UDP no tiene control congestion • IP no tiene control congestion • Ethernet 802.3 • LLC • HDLC


Ejercicio 34

Pendiente Chequear

Sobre TCP, ¿ Que sucede después que uno de los extremos envió un segmento con el flag RST ? RESP: Esta pidiendo que se reinicie la cx--> Se reinicia la cx. syn syn/ack ack

Ejercicio 35

Pendiente Chequear

En la figura se presentan algunos valores típicos para RTT. También se grafican los valores del RTT estimado, -es una media que en estadística se la denomina “Media Ponderada de desplazamiento exponencial” (EWMA). Dicha media se utiliza para determinar el timeout de retransmisión en TCP .

Para "atenuar" el rtt y que no se produzcan sigzag de tamaño del rtt. • ¿ Cuál es el motivo por el que se utilizan dichas medias del RTT ?

• ¿ En el caso de tener RTX (retransmisión) y ante la llegada de dos ACK con el mismo número de secuencia, cuál se toma como válido: el primero, el segundo o ninguno ?


Ejercicio 36

Pendiente Chequear

De acuerdo a la taxonomía de Yang y Reddy (1995), los algoritmos de control de congestión se pueden clasificar en lazo abierto y lazo cerrado. A su vez los de lazo cerrado se pueden clasificar de acuerdo a como realizan la realimentación. ¿ A cuál clase el mecanismo de control de congestión de TCP RED (Randomly Early Detection) pertenece ? RESP: Lazo abierto-> intenta evitar la congestion. realimentacion implicita, ya que descarta paquetes para que el emisor adecue su ventana. Control en el origen.

Ejercicio 37

Pendiente Chequear

¿ Durante Fast-Recovery es conveniente seguir estimando el RTO ? ¿ Por qué ? RESP: No. Porque?????

Ejercicio 38

Pendiente Chequear

Una de las implementaciones de TCP que incluía Slow Start, Congestion Avoidance y Fast Restransmit se denomina “TCP Tahoe“ [Jacobson1988] [RFC2001/1997]. Posteriormente se propuso incluir el algoritmo de Fast Recovery [Jacobson1990] [RFC2581/1999] dando lugar a la implementación conocida como “TCP Reno”. En el gráfico se presenta una evolución de la ventana de congestión a modo de ejemplo. RTT: gaia.cs.umass.edu to fantasia.eurecom.fr 100 150 200 250 300 350 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 time (seconnds) RTT (milliseconds) SampleRTT Estimated RTT En TCP Tahoe cuando se produce un evento de pérdida, el cwnd pasa a 1 MSS y se entra en la fase de slow-start. ¿ Qué hace TCP Reno ante 3 ACK repetidos ? ¿ Ventajas ? ¿ Desventajas ? ¿ Por qué se eligió 3 como cantidad de ACKs repetidos ? RESP: FRetransmit: Retransmite el paquete, CWND = IW y comienza FR. FRecovery: CWND = SSTRESH Por cada ACK repetido, CWND += SMSS Ventaja: CWND no baja tan abruptamente, sino que se mantiene en el umbral. Desventaja: Pueden llegar 3 acks repetidos por un tema de que llegan los ack desrdenados y entrar en FR/FR, bajando la CWND y reenviando un paquete que en realidad habia llegado. El problema es que el ack estaba por llegar. 3 ack: Es un "buen" valor tomado de la practica.

Ejercicio 39

Pendiente Chequear

Acerca del control de congestión: ¿ Los protocolos de ruteo pueden evitar la congestión ? En el caso de disponer de un buffer que tiende a infinito en los routers. ¿ Se puede evitar la congestión o mejorar las condiciones de tráfico ? RESP: No, ya que hagan lo que hagan en el ruteo, si el emisor envia mas paquetes de los que puede soportar la red, esta se congestiona. No, esta demostrado que por mas cantidad de memoria que se adicione en los buffers, no se puede evitar la congestion.

Ejercicio 40

Pendiente Chequear

Fast-Retransmit se activa con 3 ACK duplicados. El RFC 2581, que detalla como debe hacerse el control de congestión en TCP, establece que el receptor tiene la posibilidad de demorar los ACKs hasta 500ms o 2 MSS bytes sin asentir, lo primero que ocurra. ¿ Esto afecta la ventaja del uso del Fast-Retransmit ?


Ejercicio 41

Pendiente Chequear

IP ECN (Explicit Congestion Notification) es un mecanismo de notificación explícita, que se implementa en dos bits del header de IP, más precisamente en el campo ToS. Este mecanismo es opcional ya que puede suceder que tanto el otro host como los routers no lo implementen. La idea de estos bits es que los routers avisen congestión, tratando de evitar el descarte innecesario. ¿ Dentro de cuál técnica de clasificación de control de congestión (closed-loop, open-loop, feedback, source/destination) entraría la de IP ECN ? RESP: closed-loop source

Ejercicio 42

Pendiente Chequear

TCP puede cerrar una conexión en forma ordenada con 3 o 4 paquetes. Especificar ambos casos, diagramando el intercambio de paquetes de finalización. RESP: fin-ack fin-ack fin-ack/fin-ack

Ejercicio 43

Pendiente Chequear

Indicar dos situaciones en que el control de congestión de TCP baje el CWND a su valor inicial (IW – Initial Window). RESP: Timeout. Inactividad en la cx.


Ejercicio 44

Pendiente Chequear

Indique cuales de las siguientes secuencias de inicio de una conexión TCP entre dos hosts pueden ser correctas: • SYN - SYN/ACK • SYN - ACK - SYN –ACK • SYN - SYN/ACK - ACK este!!!!! • SYN/ACK - ACK • SYN - ACK - SYN – ACK este!!!!! • SYN - ACK - SYN – ACK- SYN/ACK • SYN - ACK

Ejercicio 45

Pendiente Chequear

Ofrezca tres ejemplos de parámetros de protocolo de nivel 4 que podrían negociarse al establecerse una conexión. RESP: tamaño de segmento, tamñano de ventana y rtt

Ejercicio 46

Pendiente Chequear

0 2 4 6 8 10 12 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Transmission round congestion window size (segments) TCP Tahoe TCP Reno La fragmentación de datagramas y su reensamble son manejados por IP y son invisibles para TCP. ¿ Es cierto esto ? ¿ Significa entonces que TCP no tiene que preocuparse del orden en que le llegan los datos ? RESP: Si. No, tcp tambien reensambla TPDUs. Aparte debe verificar orden y llegada, ya que IP no lo garantiza!!

Ejercicio 47

Pendiente Chequear

Un router de borde de red con funcionalidad extendida posee filtros para denegar el pasaje de tráfico UDP, permitiendo sin embargo el pasaje de tráfico TCP. Proponer una forma de pasar a través del router con tráfico UDP.

Ejercicio 48

Pendiente Chequear

Cuando se cierra una conexión TCP se puede llegar a un estado denominado TIME_WAIT como consecuencia de que nuestro lado pidió primero el cierre de la conexión o ambos lados iniciaron el cierre concurrentemente, pero no así cuando el otro lado pidió el cierre primero. ¿ Qué función cumple el estado TIME_WAIT ? RESP: Esta en espera de segmentos perdidos en la red. Una vez que se cumple cierto tiempo prudencial, se cierra definitivamante la cx.

Ejercicio 49

Pendiente Chequear

UDP es un protocolo orientado a mensaje, sin conexión. ¿ Esto significa que no da garantías sobre errores que se puede producir en bytes de algún mensaje ? RESP: No. UDP Tiene un checksum que controla que no haya fallas en lo que llega. Si el checksum da mal, el paquete se descarta.

Ejercicio 50

Pendiente Chequear

La salida del estado de Fast-Recovery se realiza cuando se recibe un ACK que no es duplicado, es decir asintiendo nuevos datos. Pero ante múltiples pérdidas se puede volver al estado de Fast- Recovery en un plazo muy corto debido a la presencia de nuevos ACKs duplicados. ¿ Qué desventaja trae esto ? Indique una manera de solucionarlo. RESP: Se vuelve a bajar la CWND a la mitad.


Ejercicio 51

Pendiente Chequear

Indicar dos situaciones en que el control de congestión de TCP tenga el valor del CWND desajustado con respecto a la congestión presente en la red. RESP: 1) Cuando el receptor atrasa los acks. 2)??????

Ejercicio 52

Pendiente Chequear

El cálculo del RTO en TCP se hace en forma dinámica ponderando el RTT entre el emisor y el receptor con cada segmento enviado. Suponga que se asume que un determinado segmento se perdió y se debió retransmitir. ¿ El ACK para el cálculo del RTO se considera que es del mensaje original o de la retransmisión ? RESP: Los ack de retransmision no se tienen en cuenta para el calculo del rto

Ejercicio 53

Pendiente Chequear

En TCP, para el control de congestión, antes del envío de nueva información se realiza un cálculo del mínimo entre el Received Window (informado por el otro host) y el Congestion Window (calculado localmente) para determinar cuánto se puede enviar y no provocar mas congestión en la red o saturación del otro host. Nombrar al menos dos problemas que tiene el cálculo local del Congestion Window sobre la estimación acerca de la congestión presente en la red.


Ejercicio 54

Pendiente Chequear

¿ Cómo identifica el host A a cuál de las dos conexiones iniciadas por él corresponde la respuesta del host B ? Host A ---- TCP SYN ---� Host B Host A ---- TCP SYN ---� Host B Host A ?-- TCP SYN + ACK ----- Host B RESP: Por el ack.

Ejercicio 55

Pendiente Chequear

La siguiente es la salida del utilitario netstat –an ejecutado en un servidor. $ netstat -an UDP: IPv4 Local Address Remote Address State


-------------------- -------

  • .514 Idle
  • .35528 Idle

201.10.164.35.55586 201.10.164.31.53 Connected 201.10.164.35.55626 201.10.164.31.53 Connected 201.10.164.35.55629 201.0.194.46.53 Connected 201.10.164.35.55637 201.0.194.46.53 Connected 201.10.164.35.55649 201.10.164.34.53 Connected 201.10.164.35.55662 201.10.164.34.53 Connected 201.10.164.35.55674 201.0.194.46.53 Connected 201.10.164.35.55675 201.0.194.46.53 Connected 201.10.164.35.55686 201.10.164.34.53 Connected 201.10.164.35.55696 201.10.164.34.53 Connected

  • .* Unbound

TCP: IPv4 Local Address Remote Address State


---------------- --------

  • .* *.* IDLE
  • .110 *.* LISTEN
  • .25 *.* LISTEN
  • .22 *.* LISTEN
  • .22 *.* LISTEN

201.10.164.35.22 201.10.164.51.1207 ESTABLISHED 201.10.164.35.25 201.10.164.19.3575 TIME_WAIT 201.10.164.35.25 201.10.164.19.3578 TIME_WAIT 201.10.164.35.25 201.10.164.19.3580 ESTABLISHED 201.10.164.35.110 172.18.110.42.1416 TIME_WAIT 201.10.164.35.110 201.3.115.20.1205 TIME_WAIT 201.10.164.35.25 201.10.164.19.3590 ESTABLISHED 201.10.164.35.25 201.10.164.37.3086 TIME_WAIT 201.10.164.35.110 201.3.115.77.1248 TIME_WAIT 201.10.164.35.110 64.76.45.142.2282 TIME_WAIT 201.10.164.35.110 201.3.115.56.1499 TIME_WAIT 201.10.164.35.110 201.10.164.217.2149 TIME_WAIT 201.10.164.35.110 201.3.115.77.1265 TIME_WAIT 201.10.164.35.25 201.10.164.19.3593 ESTABLISHED 201.10.164.35.25 201.10.164.19.3594 ESTABLISHED 201.10.164.35.25 201.10.164.19.3595 ESTABLISHED 201.10.164.35.25 201.10.164.19.3596 TIME_WAIT 201.10.164.35.25 201.10.164.19.3597 TIME_WAIT 201.10.164.35.110 201.3.115.150.1079 TIME_WAIT 201.10.164.35.110 201.0.178.15.3836 TIME_WAIT 201.10.164.35.110 201.10.164.212.1765 TIME_WAIT 201.10.164.35.110 201.10.164.209.65175 TIME_WAIT 201.10.164.35.110 201.3.115.88.1232 ESTABLISHED 201.10.164.35.110 201.0.178.89.2028 TIME_WAIT 201.10.164.35.110 201.0.178.194.1383 ESTABLISHED 201.10.164.35.22 201.10.164.24.3738 ESTABLISHED 201.10.164.35.25 201.10.164.37.3088 ESTABLISHED 201.10.164.35.110 201.10.164.160.65123 TIME_WAIT 201.10.164.35.110 201.10.164.51.2146 TIME_WAIT 201.10.164.35.110 201.10.164.171.2829 ESTABLISHED 201.10.164.35.25 201.10.164.37.3089 ESTABLISHED

  • .* *.* IDLE

Explique lo más detalladamente posible el significado que atribuye a la salida del comando.


Ejercicio 56

Pendiente Chequear

• En una conexión TCP, se enviaron 3 segmentos de 1000 bytes cada uno. El segundo se perdió. Luego se enviaron otros 3 segmentos más, de 500 bytes cada uno. Se pierde el tercero de estos. Explicar dos formas de cómo se puede recuperar de estos dos errores. • Basado en el enunciado del ejercicio anterior, ¿ cuáles envíos se pueden usar para estimar el RTT ?

Ejercicio 57

Pendiente Chequear

Esta es la salida simplificada del comando netstat –n, ejecutado en un servidor. La salida ha sido modificada de manera de introducir algunos errores. Indique los errores que encuentre. Explicar. Local Address Remote Address State 200.11.163.35.110 200.11.163.155.1454 ESTABLISHED 200.11.163.35.25 200.11.163.19.1626 TIME_WAIT 200.11.163.35.110 172.18.105.129.1579 TIME_WAIT 200.11.163.35.110 200.114.139.238.2751 ESTABLISHED 200.11.163.35.110 200.11.163.110.1924 TIME_WAIT 200.11.163.35.110 200.5.114.77.3888 ESTABLISHED 200.11.163.35.110 64.76.45.189.1348 TIME_WAIT 200.11.163.35.110 200.5.114.77.3888 ESTABLISHED 200.11.163.35.25 200.11.163.19.1624 TIME_WAIT 200.11.163.35.25 200.11.163.19.1626 TIME_WAIT

Ejercicio 58

Pendiente Chequear

Algunos autores utilizan la relación que denominan potencia (P=Throughput/delay) como una métrica para medir la eficiencia de un esquema de alocación de recursos. Para un flujo de paquetes que ingresa a un router de una red de conmutación de paquetes, la variación de la potencia en función de la carga (paquetes/seg) es la siguiente: ¿ En qué zona de la función anterior se presenta el fenómeno de congestión , que significa la congestión en redes de conmutación de paquetes ?

Ejercicio 59

Pendiente Chequear

Explicar al menos dos problemas que resuelve usar MPLS en una red IP. RESP: 1) No hay congestion 2) ???????

Ejercicio 60

Pendiente Chequear

¿ Por qué MPLS no es bueno para transportar tráfico Multicast ? RESP: Porque tiene que crear CV por cada receptor, por lo tanto, consume muchos recursos y es un poco + lento.

Ejercicio 61

Pendiente Chequear

Mencionar una ventaja y una desventaja de MPLS en el forwarding de paquetes, comparando con IP. RESP: Ventajas: Mas rapido, aparatos mas baratos y menos inteligencia en el backbone. Desventajas: Puede causar perdidas silenciosas en el backbone.

Imaginate que hay un ciclo en la red. Si esa parte es una red comun IP, eventualmente del otro lado vas a recibir un ICMP TTL EXCEEDED. Si el problema surge en una parte cubierta con MPLS, cuando el paquete MPLS termine con TTL=0, se descarta sin tomar ninguna accion y se va a perder misteriosamente. Mismo asunto con caidas y cosas similares.

Ejercicio 62

Pendiente Chequear

Describir dos ventajas de implementar MPLS sobre una red que trabaja con IP.


Ejercicio 63

Pendiente Chequear

MPLS a través de LDP permite armar paths (caminos) en forma upstream (desde el origen) y downstream (desde el destino). ¿ En qué caso conviene armar paths en forma downstream ? RESP: Cuando el path describe la ruta HACIA un destino, p.e. cuando es un anuncio BGP.


Ejercicio 64

Pendiente Chequear

¿ Cómo clasificaría (lazo abierto/cerrado, feedback implicito/explicito, origen/destino) el control de congestión de MPLS TE (Traffic Engineering) ?

Ejercicio 65

Pendiente Chequear

Se desea usar Internet para realizar llamadas telefónicas. • ¿ Para que esto ocurra con la menor cantidad de problemas, que protocolo seleccionaría para este fin entre TCP y UDP ? RESP: UDP • ¿ Qué aspectos cree necesario agregar al protocolo elegido en el punto anterior para que sea mas eficiente de acuerdo a este tipo de tráfico ? RESP: Ordenamiento

Ejercicio 66

Pendiente Chequear

En una conexión TCP después del 3-way handshake se enviaron 3 segmentos de 100 bytes cada uno, donde el primero llegó con errores de acuerdo al chequeo del CRC. Explicar que sucede después de ese evento hasta que se recupera de completamente de ese error. RESP: Se descarta el paquete en el receptor. Este emite un ack 1 por cada segmento que llega, incluido el segmento con el error. Se ejecuta FR/Fr

Ejercicio 67

Pendiente Chequear

Optimal load Load ¿ Cómo clasificaría (lazo abierto/cerrado, feedback implícito/explicito, origen/destino) el control de congestión de TCP, que utiliza S-ACK (Selective Acknowledge) ?

Ejercicio 68

Pendiente Chequear

¿ Por qué existe UDP ? ¿ No sería suficiente enviar tráfico que no requiere ningún tipo de control directamente sobre IP ? RESP: Para multiplexar.

Ejercicio 69

Pendiente Chequear

Existen dos conexiones TCP entre dos hosts (A y B) que iniciaron concurrentemente y transmitieron sin pérdidas la misma cantidad de bytes hasta el instante t. ¿ En ese instante t, el CWND (Congestion Window) debe tener el mismo valor para ambas conexiones ? Si???

Ejercicio 70

Pendiente Chequear

Existen dos conexiones TCP entre dos hosts (A y B) que iniciaron concurrentemente y transmitieron sin pérdidas la misma cantidad de bytes hasta el instante t. ¿ En ese instante t, el RTO (Retransmission Timeout) debe tener el mismo valor para ambas conexiones ? RESP: No, depende de en que momento llegan los acks.

Ejercicio 71

Pendiente Chequear

¿ En el nivel de enlace se puede encontrar control de errores, control de flujo, etc. al igual que en el nivel de tranporte. Ambos niveles son “end-to-end”. Sin embargo en el nivel de transporte los controles son más complejos. ¿ Por qué sucede esto ? RESP: Porque en transporte hay nodos en el medio y se produce congestion en la red. Y transporte tiene en cuenta todos estos factores para controlar.

Ejercicio 72

Pendiente Chequear

Completar el siguiente sumario de características: Comparación entre UDP y TCP Característica / Descripción UDP TCP Descripción general Orientado a conexión / sin conexión Interfaz de datos para la aplicación Confiabilidad y reconocimientos Retransmisiones Características proporcionadas para manejar el flujo de datos Overhead Velocidad de transmisión Cantidad de datos transmitidos Tipos de aplicaciones que usan el protocolo Aplicaciones conocidas y protocolos

Ejercicio 73

Pendiente Chequear

Analizar la veracidad de la siguiente afirmación: "En una red para la que existe una cota superior en la cantidad de paquetes que pueden circular a la vez por ella, la utilización de un buen algoritmo de ruteo que aprovecha al máximo las distintas rutas alternativas implica una garantía de que no se producirá nunca ningún tipo de congestión". RESP: Falso. Por mas que el algoritmo de ruteo funcione de maravilla, si los emisores envian mas informacion de la que soporta la red, esta se congestiona.

Ejercicio 74

Pendiente Chequear

¿ Podría el protocolo IP realizar control de congestión utilizando la técnica de prealocación de buffers ? ¿ Porqué ? ¿ Y un protocolo de nivel de red implementado con circuitos virtuales ? RESP: No, porque no es la idea del protocolo de IP. Ip no crea CV. Si, MPLS

Ejercicio 75

Pendiente Chequear

Analizar la validez de las siguientes afirmaciones. Para cada una de ellas se pide indicar si es V o F. • Un algoritmo de ruteo eficiente asegura la inexistencia de congestión en una red implementada con datagramas. • Una red que ofrece un servicio basado en datagramas con todas las técnicas de control de congestión posibles, garantiza no tener congestión en ningún momento. • Un algoritmo de ruteo ineficiente o inadecuado facilita la ocurrencia de congestión en una subred implementada con datagramas. • El control de flujo realizado en nivel 2 no garantiza evitar congestión en una subred implementada con datagramas • Es más sencillo controlar congestión en una subred implementada con circuitos virtuales.


Ejercicio 76

Pendiente Chequear

El establecimiento de una cx TCP se realiza mediante un intercambio de 3 segmentos denominado 3-way handshake. Un ataque de seguridad muy conocido del tipo Denial of Service (denegación de servicio) consiste en abrir múltiples conexiones TCP a un servidor pero sin terminar de establecerlas. Es decir, el atacante envía un mensaje de establecer la cx (flag S), luego la víctima responde con un mensaje con flags S y A haciendo ACK del primer mensaje, pero el atacante nunca le envía el tercer mensaje. Indique una forma en la cual el host víctima se pueda defender solo, sin ayuda de ningún otro dispositivo en la red. Explique el mecanismo de defensa.


Ejercicio 77

Pendiente Chequear

Dos servidores Web atienden requerimientos de sus clientes, pero uno de ellos después de los pedidos del cliente cierra la conexión TCP con RST y el otro en forma normal, con FIN. ¿ Qué ventaja trae cada método ? ¿ Cuál cree que es mejor ? RST no sirve para reiniciar la cx????