óptica relaciona referencia redes qué protocolos modelo mediante las fibra conocer con comunicaciones capa aplicacion tcp

tcp - relaciona - qué es el modelo de referencia osi



¿Qué pasa si se pierde un segmento de protocolo de enlace TCP? (2)

No soy un experto en esta situación en particular, pero sospecho que lo que sucederá es que el cliente pensará que está conectado, pero el servidor no. Si el cliente intenta enviar datos al servidor, el servidor lo rechazará y enviará un paquete RST al cliente para que pueda restablecer su "conexión".

En el protocolo de enlace de 3 vías TCP, se enviarán 3 segmentos (SYN, SYN ACK, ACK). ¿Qué pasa si el tercer segmento (ACK) se pierde? ¿El remitente reenviará el segmento o dejará de establecer la conexión? ¿Y cómo saben los dos anfitriones que el segmento se pierde?


TCP tiene un número de secuencia en todos los paquetes. Por lo tanto, es fácil saber si un paquete se perdió o no. Si un host no obtiene un ACK en un paquete, simplemente lo reenvía.

Sin embargo, en la mayoría de los casos, incluso si ese ACK se perdió, no se reenviará por una razón muy simple. Directamente después del ACK, es probable que el host que abrió el protocolo TCP comience a enviar datos. Esos datos tendrán, como todos los paquetes TCP, un número de ACK, por lo que el destinatario obtendría un ACK de esa manera. Por lo tanto, al remitente del SYN-ACK no debería importarle razonablemente que no haya recibido el ACK, porque recibe un ACK "implícito" en el siguiente paquete.

El reenvío del SYN-ACK solo es necesario si no se recibe ningún dato.

Actualización: encontré el lugar en el RFC que especificaba exactamente esto:

Si nuestro SYN ha sido reconocido (quizás en este segmento entrante) el nivel de precedencia del segmento entrante debe coincidir exactamente con el nivel de precedencia local, si no se debe enviar un restablecimiento.

En otras palabras, si se descarta el ACK pero no se elimina el siguiente paquete, entonces todo está bien. De lo contrario, la conexión debe ser restablecida. Lo que tiene perfecto sentido.