Examen 24 de febrero de 2015 - Problema 1 - Parte c)

Examen 24 de febrero de 2015 - Problema 1 - Parte c)

de Sergio Leandro Carrasco Sanguinetti -
Número de respuestas: 3
En la solución planteada, se dice:

"En este caso, al perderse un segmento, TCP detecta un "hueco" y envía inmediatamente un ACK que reconoce los últimos bytes que llegaron. El emisor al recibir este ACK, reenvía los segmentos."

Entre este texto y la figura que muestra los segmentos TCP que se envían, veo 2 cosas que, según entiendo, no son parte del funcionamiento de TCP:

1) Según la figura pareciera que TCP detecta un hueco por recibir un solo ACK duplicado (no 3 ACK duplicados como indica el protocolo). En este caso me parece que el evento del cual se tendría que inferir una perdida seria el timeout.

2) Una vez detectada la perdida de un segmento, se reenvian todos los segmentos ya enviados no reconocidos. ¿No debería enviarse solamente el segmento que se perdió?



En respuesta a Sergio Leandro Carrasco Sanguinetti

Re: Examen 24 de febrero de 2015 - Problema 1 - Parte c)

de Matias Richart -

Hola Sergio.

Tenes razón, la solución es incorrecta.

Igualmente, hago algunas precisiones:

- El "hueco" se detecta del lado del receptor cuando está recibiendo los datos. Esto genera que el receptor envíe inmediatamente un ACK de los datos recibidos hasta el momento.

- Es correcto lo que dices, el emisor recién debería enviar la repetición de los datos cuando detecta 3 ACKs duplicados o en caso de timeout.

- El reenvío de solo los datos que se perdieron o de todos los datos dependerá si el ACK de todos los datos llega antes de que se produzca un timeout.

Espero haber aclarado tus dudas y te pido disculpas por el error en la solución.

Veremos en lo posible de corregirlo.

Saludos

En respuesta a Matias Richart

Re: Examen 24 de febrero de 2015 - Problema 1 - Parte c)

de Sergio Leandro Carrasco Sanguinetti -

Gracias Matias.

Me sigue sin quedar claro que es lo que se retransmite. Según entiendo en el Kurose se dice que en ambos casos (timeout o 3 ACK duplicados) se restransmite un solo paquete (el que venció o el siguiente a los 3ACK duplicados)

Respecto al evento de recepción de 3ACK duplicados dice: 

"En el caso que se reciban 3 ACK duplicados, el emisor TCP realiza una retransmisión rápida [RFC 2581], reenviando el segmento que falta antes de que caduque el temporizador de dicho segmento."

Respecto al evento de timeout dice:

"TCP responde a este suceso retransmitiendo el segmento que ha causado el fin de temporización y, a continuación, reinicia el temporizador."



En respuesta a Sergio Leandro Carrasco Sanguinetti

Re: Examen 24 de febrero de 2015 - Problema 1 - Parte c)

de Matias Richart -

Es correcto lo que dices, se retransmite solo el segmento faltante.

Lo que quise decir en mi respuesta es que el reenvío o no de los siguientes frames dependerá si luego de reenviado el frame faltante llega el o los ACKs de el resto de los segmentos enviados.

Saludos