Datos en ACKs de TCP?

Datos en ACKs de TCP?

de Federico Javier Martinez Wallace -
Número de respuestas: 3

Buenas tardes, cómo están?

Quería confirmar cuál es el criterio a usar respecto a los mensajes de reconocimiento en TCP, sobre todo para algún ejercicio, al respecto de si los mensajes ACK pueden o no contener datos. Por ejemplo, en el tercer paso en el establecimiento de una conexión TCP (donde el cliente envía un segmento ACK (con la flag prendida) en respuesta a un segmento SYN-ACK del servidor) el libro dice que podrían enviarse datos en el cuerpo de este mensaje (por ejemplo un mensaje GET de Http).

Hay alguna otra situación donde se puedan enviar datos en segmentos ACK??

Otra duda que me surge, es respecto a la finalización de una conexión TCP. El libro comenta que quien inicia el fin de conexión (mediante un segmento con la flag FIN prendida) al final entra en un estado TIME_WAIT que corresponde a un periodo de tiempo (entre 30 segundos y dos minutos) para cerrar definitivamente la conexión y liberar todos los recursos del host (buffers, puertos, etc.), pero también comenta qué:

"y pasa al estado TIME_WAIT, en el que puede reenviar al cliente

TCP el reconocimiento final en caso de que el paquete ACK se pierda." 

A qué reconocimiento se refiere aquí?

Adjunto imagen,

Gracias,

fin conexion TCP

En respuesta a Federico Javier Martinez Wallace

Re: Datos en ACKs de TCP?

de Matias Richart -

Hola.

Siempre que haya datos para enviar, se pueden enviar como parte de un segmento que tenga la flag de ACK en 1.

Ten en cuenta que un segmento ACK, no es mas que un segmento TCP con la flag ACK en 1, por lo que siempre se pueden enviar datos.

Con respecto a la segunda pregunta, se refiere al último ACK que envía el cliente en la figura que adjuntas. En ese tiempo de espera, el cliente puede volver a recibir un FIN (por ejemplo porque se perdió el ACK) y entonces reenciar el ACK

Espero se entienda.

Saludos

En respuesta a Matias Richart

Re: Datos en ACKs de TCP?

de Federico Javier Martinez Wallace -
Gracias Matías, quedó clarísimo,

Un poco mi comentario respecto a enviar datos en segmentos con la flag ACK prendida, venía por algún ejercicio que he visto donde parecía asumirse que no se enviaban datos en estos segmentos (Por ejemplo en el Problema 2 parte b del examen de Febrero/2015). Supongo que en todo caso la letra del problema especificará eso,

Saludos,
En respuesta a Federico Javier Martinez Wallace

Re: Datos en ACKs de TCP?

de German Ernesto Larrosa Fiori -

buenas,

Supongo que si la letra no lo especifica, se puede utilizar cualquiera de los dos enfoque. Aunque por temas de perfomance supongo que la mejor opcion es aprovechar los segmentos ACK para enviar datos en su carga util, en caso de que hubiera. 

saludos