1. Protocolos de capa de transporte (como TCP):
* Establecimiento de conexión: TCP establece una conexión antes de la transmisión de datos, lo que permite un diálogo entre el remitente y el receptor. Esto implica un apretón de manos de tres vías para confirmar la viabilidad de la conexión.
* Secuenciación: Cada paquete de datos está numerado secuencialmente. Esto permite que el receptor detecte paquetes faltantes y solicite retransmisión.
* Reconocimiento (ACK): El receptor devuelve los paquetes ACK al remitente que confirma la recepción de datos. Si no se recibe un ACK dentro de un período de tiempo de espera, el remitente retransmite el paquete no reconocido.
* Tiempo de espera y retransmisión: El remitente mantiene temporizadores para cada paquete enviado. Si un temporizador expira antes de recibir un ACK, el paquete se retransmite.
* Detección de errores: Las suma de verificación u otros mecanismos de detección de errores se utilizan para detectar paquetes dañados. Se descartan los paquetes corruptos y se solicita la retransmisión.
2. Mecanismos de capa de aplicación (cuando se usa UDP o un protocolo similar a la conexión):
Dado que la capa de red no proporciona confiabilidad incorporada, las aplicaciones que utilizan UDP u otros protocolos sin conexión deben implementar sus propios mecanismos para una transferencia de datos confiable:
* Secuenciación y ACK: La aplicación en sí debe numerar paquetes e implementar estrategias de reconocimiento y retransmisión, imitando la funcionalidad de TCP.
* Tiempo de espera de retransmisión: Similar a TCP, la aplicación establece tiempos de espera para cada paquete. Si un tiempo de espera expira sin un reconocimiento, la aplicación retransmite el paquete.
* Reconocimiento positivo con retransmisión (par): El receptor reconoce los paquetes recibidos y el remitente retransmite los paquetes que faltan en función de estos reconocimientos.
* go-back-n arq: El remitente retransmite todos los paquetes que comienzan desde el paquete no reconocido.
* repetir selective arq: El remitente solo retransmite los paquetes que faltan.
En resumen: Si bien la naturaleza poco confiable y sin conexión de la capa de red no proporciona una recuperación de datos incorporada, los protocolos de nivel superior y la lógica de nivel de aplicación son responsables de implementar los mecanismos necesarios para detectar y recuperarse de los datos perdidos. Esto agrega sobrecarga, pero permite una comunicación confiable sobre una infraestructura inherentemente poco confiable.