Diferencia entre revisiones de «Práctica 4: End-to-End (Teoría de las Comunicaciones)»

De Cuba-Wiki
Sin resumen de edición
(No se muestran 9 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
[http://cuba.exp.dc.uba.ar/wiki/index.php?title=Teor%C3%ADa_de_las_Comunicaciones Volver]
<div style="border: 1px solid #CECEFF; padding: 5px; background-color: #EEEEFF; margin: 0px 0px 15px 0px;">[[Image:Back.png|14px|]] [[Teoría de las Comunicaciones|Volver a la página de la materia]]</div>
== Header ==
SrcPort<br>
DestPort<br>
SequenceNum<br>
Acknowledgment<br>
HdrLen<br>
0<br>
Flags<br>
AdvertisedWindow<br>
Checksum<br>
UrgPtr<br>
Options (variable)<br>
Data<br>


== Connection Setup ==
== Ejercicio 1 ==
<math>\longleftarrow</math> SYN, SequenceNum = x<br>
Especifique tres diferencias entre las funciones de la capa de transporte y las funciones de la capa de red.
<math>\longrightarrow</math> SYN + ACK, SequenceNum = y, Acknowledgment = x + 1<br>
<math>\longleftarrow</math> ACK, Acnkowledment = y + 1<br>


== Invariants ==
'''Rta:'''
LastByteAcked <math>\leq</math> LastByteSent<br>
LastByteSent <math>\leq</math> LastByteWritten<br>
LastByteRead <math><</math> NextByteExpected<br>
NextByteExpected <math>\leq</math> LastByteRcvd + 1<br>


== Fórmulas ==
* 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.
=== Flow Control ===
* La capa de transporte provee multiplexación de procesos.
==== Invariants ====
* La capa de transporte suele proveer confiabilidad y orientación a conexión para protocolos de niveles más bajos que no lo proveen.
LastByteRcvd - LastByteRead <math>\leq</math> MaxRcvBuffer<br>
* 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.
<math>AdvertisedWindow = MaxRcvBuffer - ((NextByteExpected - 1) - LastByteRead)</math><br>
<math>LastByteSent - LastByteAcked \leq AdvertisedWindow</math><br>


EffectiveWindow = AdvertisedWindow - (LastByteSent - LastByteAcked)<br>
== Ejercicio 2 ==
LastByteWritten - LastByteAcked <math>\leq</math> MaxSendBuffer<br>
(LastByteWritten - LastByteAcked) + y <math> > </math> MaxSendBuffer<br>
==== Original Algorithm ====
<math>EstimatedRTT = \alpha \times EsimatedRTT + (1 - \alpha) \times SampleRTT </math><br>
<math>TimeOut = 2 \times EsimatedRTT</math><br>
==== Jacobson/Karels Algorithm ====
<math>Difference = SampleRTT - EsimatedRTT</math><br>
<math>EsimatedRTT = EsimatedRTT + (\delta \times Difference)</math><br>
<math>Deviation = Deviation + \delta (\left|Difference\right| - Deviation)</math><br>
<math>TimeOut = \mu \times EsimatedRTT + \phi \times Deviation </math><br>
Actually: <math>\mu = 1 \ and \ \phi = 4</math><br>
Implementation:<br>
{
  SampleRTT -= (EsimatedRTT >> 3);
  EsimatedRTT += SampleRTT;
  if (SampleRTT < 0)
  {
      SampleRTT = -SampleRTT;
  }
  SampleRTT -= (Deviation >> 3);
  Deviation += SampleRTT;
  TimeOut = (EstimatedRTT >> 3) + (Deviation >> 1);
}
== Something ==
  When the application produces data to send<br>
    if both the avaiable data and the window <math>\geq </math> MSS<br>
      send a full segment<br>
    else<br>
      if there is unACKed data in flight<br>
        buffer the new data until an ACK arrives<br>
      else<br>
        send all the new data now<br>


== TCP Congestion Control ==
'''Pendiente Chequear'''
=== Formulas ===
<math>Power = \frac{Throughtput}{Delay}</math><br>
=== Additive Increase / Multiplicative Decrease ===
<math>MaxWindow = MIN(CongestionWindow, AdvertisedWindow)</math><br>
<math>EffectiveWindow = MaxWindow - (LastByteSent - LastByteAcked)</math><br>
<math>Increment = MSS \times \frac{MSS}{CongestionWindow} </math><br>
<math>CongestionWindow += Increment</math><br>
=== Slow Start ===
{
  int cw = state->CongestionWindow;
  int incr = state->maxseg;
  if (cw > state->CongestionThreshold)
  {
    incr = incr * incr / cw;
  }
  state->CongestionWindow = MIN(cw + incr, TCP_MAXWIN);
}


==Ejercicio 01==
El nivel de enlace de datos al igual que el nivel de transporte debe tratar con control de errores, de
==Ejercicio 02==
flujo y de secuencia. Sin embargo existen diferencias significativas entre ambos niveles. ¿ Cuáles
==Ejercicio 03==
son ?
==Ejercicio 04==
 
==Ejercicio 05==
RESP: 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.
==Ejercicio 06==
 
==Ejercicio 07==
== Ejercicio 3 ==
==Ejercicio 08==
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 09==
 
==Ejercicio 10==
== Ejercicio 4 ==
==Ejercicio 11==
 
==Ejercicio 12==
'''Pendiente Chequear'''
==Ejercicio 13==
 
==Ejercicio 14==
¿ Qué es UDP ? ¿ Que tipo de servicio brinda ? ¿ Sobre qué protocolos de red puede trabajar ?
==Ejercicio 15==
Dibuje el esquema básico del paquete. Ejemplifique para que puede ser utilizado.
==Ejercicio 16==
 
==Ejercicio 17==
RESP:
==Ejercicio 18==
UDP es un protocolo de transporte.
==Ejercicio 19==
No confiable, no orientado a cx.
==Ejercicio 20==
IP.
==Ejercicio 21==
port orig | port dest
==Ejercicio 22==
long | checksum
==Ejercicio 23==
opciones
==Ejercicio 24==
 
==Ejercicio 25==
== Ejercicio 5 ==
==Ejercicio 26==
 
==Ejercicio 27==
'''Pendiente Chequear'''
==Ejercicio 28==
 
==Ejercicio 29==
Describa las diferencias entre un servidor de nombres, un servidor standalone y un servidor de
==Ejercicio 30==
procesos. ¿ En qué casos es conveniente usar cada uno ? Ejemplifique.
==Ejercicio 31==
 
==Ejercicio 32==
RESP:
==Ejercicio 33==
serv nombres:
==Ejercicio 34==
hay un demonio en el servidor que atiende a todos los clientes.
==Ejercicio 35==
el cliente envia el nombre de la aplicacion con la que quiere comunicarse.
==Ejercicio 36==
el servidor abre un puerto y ejecuta el proceso de esa aplicacion. lo envia al cliente.
==Ejercicio 37==
el cliente se conecta directamente a ese puerto.
==Ejercicio 38==
 
==Ejercicio 39==
serv standalone:
==Ejercicio 40==
hay un solo proceso, el demonio, atendiendo todos los puertos. Segun el puerto que sea, carga el proceso correspondiente y lo corre.
==Ejercicio 41==
 
==Ejercicio 42==
serv procesos: hay un proceso en cada puerto. al conectarse el cliente, hace un fork y le asigna el nuevo thread.
==Ejercicio 43==
 
==Ejercicio 44==
== Ejercicio 6 ==
==Ejercicio 45==
 
==Ejercicio 46==
'''Pendiente Chequear'''
==Ejercicio 47==
 
==Ejercicio 48==
¿ Con qué tipo de servicio de red está diseñado para trabajar el protocolo TCP ? ¿ y UDP ?
==Ejercicio 49==
RESP:
==Ejercicio 50==
ip?
==Ejercicio 51==
otro?
==Ejercicio 52==
 
==Ejercicio 53==
== Ejercicio 7 ==
==Ejercicio 54==
 
==Ejercicio 55==
'''Pendiente Chequear'''
==Ejercicio 56==
 
==Ejercicio 57==
¿ Porqué el máximo tiempo de vida de un paquete dentro de una red debe estar acotado y por qué
==Ejercicio 58==
hay que asegurar que no sólo el paquete sea eliminado de la red sino también todos los ACKs que
==Ejercicio 59==
le correspondan ?
==Ejercicio 60==
RESP:
==Ejercicio 61==
Para que no cicle infinitamente por la red.
==Ejercicio 62==
ACKs para que no se produzcan encarnaciones de la misma cx.
==Ejercicio 63==
 
==Ejercicio 64==
== Ejercicio 8 ==
==Ejercicio 65==
 
==Ejercicio 66==
'''Pendiente Chequear'''
==Ejercicio 67==
 
==Ejercicio 68==
¿ Porqué cree que en algunas redes los números de secuencia iniciales para comenzar una
==Ejercicio 69==
conexión de nivel de transporte se generan en función del reloj interno de la computadora ? Si
==Ejercicio 70==
esto es así, ¿ Genera alguna restricción en la emisión de datos luego de establecer la conexión ?
==Ejercicio 71==
RESP:
==Ejercicio 72==
Para evitar que ACKs perdidos hagan que se encarne una cx anterior. Generando nros de sec. "aleatorios", la probabilidad de que el ACK perdido coincida con este nuevo numero es muuuy pequeña.
==Ejercicio 73==
No.
==Ejercicio 74==
 
==Ejercicio 75==
== Ejercicio 9 ==
==Ejercicio 76==
 
==Ejercicio 77==
'''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 ==
 
'''Pendiente Chequear'''
 
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 ?
RESP:
IP
No, IP se encarga de reensamblar, pero no garantiza orden ni llegada.
 
== Ejercicio 11 ==
 
'''Pendiente Chequear'''
 
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 ?
RESP:
Evitar que llegue al destino mas info que la que puede procesar, saturando sus recursos.
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 ==
 
'''Pendiente Chequear'''
 
¿ 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 ?
RESP:
Porque no necesita ordenar ni garantizar la llegada de los mismos.
 
== Ejercicio 14 ==
 
'''Pendiente Chequear'''
 
El protocolo UDP brinda a su nivel superior servicios:
• Sin conexión / sin reconocimiento //este!!!!
• 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
 
== 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????
 
 
[[Category:Prácticas]]

Revisión del 15:50 9 nov 2007

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

Pendiente Chequear

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 ?

RESP: 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.

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

Pendiente Chequear

¿ 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.

RESP: UDP es un protocolo de transporte. No confiable, no orientado a cx. IP. port orig | port dest long | 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

Pendiente Chequear

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

Ejercicio 7

Pendiente Chequear

¿ 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 ? RESP: Para que no cicle infinitamente por la red. ACKs para que no se produzcan encarnaciones de la misma cx.

Ejercicio 8

Pendiente Chequear

¿ 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 ? RESP: Para evitar que ACKs perdidos hagan que se encarne una cx anterior. Generando nros de sec. "aleatorios", la probabilidad de que el ACK perdido coincida con este nuevo numero es muuuy pequeña. No.

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

Pendiente Chequear

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 ? RESP: IP No, IP se encarga de reensamblar, pero no garantiza orden ni llegada.

Ejercicio 11

Pendiente Chequear

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 ? RESP: Evitar que llegue al destino mas info que la que puede procesar, saturando sus recursos. 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

Pendiente Chequear

¿ 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 ? RESP: Porque no necesita ordenar ni garantizar la llegada de los mismos.

Ejercicio 14

Pendiente Chequear

El protocolo UDP brinda a su nivel superior servicios: • Sin conexión / sin reconocimiento //este!!!! • 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

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????