Así es como funciona la corrección de errores hacia atrás:
1. Transmisión: El remitente transmite un paquete de datos.
2. Detección de recepción y error: El receptor recibe el paquete y utiliza un código de detección de errores (como la suma de verificación o CRC) para verificar su integridad.
3. Detección de errores: Si se detecta un error, el receptor descarta el paquete erróneo.
4. Reconocimiento negativo (NAK): El receptor envía un mensaje de reconocimiento negativo (NAK) al remitente, lo que indica que el paquete se recibió con errores. Esto es crucial para diferenciarlo de FEC, donde no se requiere tales comentarios.
5. Retransmision: Al recibir el NAK, el remitente retransmite el mismo paquete de datos.
6. Recepción y verificación: El receptor recibe el paquete retransmitido y lo verifica nuevamente. Si todavía es erróneo, el proceso se repite (potencialmente con un límite en el número de retransmisiones).
7. Reconocimiento (ACK): Una vez que el receptor recibe y verifica con éxito el paquete sin error, envía un mensaje de reconocimiento (ACK) al remitente.
Ventajas de la corrección de errores hacia atrás:
* Simplicidad: Es relativamente simple de implementar, que requiere solo mecanismos de detección de errores y un protocolo de retransmisión.
* Eficiencia (en algunos casos): Si la tasa de error es baja, puede ser más eficiente que FEC porque solo se retransmite las piezas erróneas, evitando la sobrecarga de datos redundantes en cada paquete.
Desventajas de la corrección de errores hacia atrás:
* Latencia: Introduce una latencia significativa debido al tiempo de ida y vuelta requerido para el NAK y la retransmisión. Este retraso puede ser problemático para las aplicaciones en tiempo real.
* ineficiente para altas tasas de error: Con altas tasas de error, las retransmisiones repetidas pueden reducir significativamente el rendimiento y la eficiencia.
* requiere un canal de retroalimentación confiable: El método se basa en una ruta de retorno confiable para los mensajes NAK y ACK.
En resumen, la corrección de errores hacia atrás es un método sencillo ideal para situaciones en las que las tasas de error son bajas y la latencia no es una preocupación crítica. Sin embargo, para las aplicaciones que exigen baja latencia o que requieren un manejo sólido de altas tasas de error, generalmente se prefiere la corrección de errores a plazo. A menudo, un enfoque híbrido que combina ambas técnicas podría ser la solución más efectiva.