Transferencia de Datos Fiable
La transferencia de datos fiable es el conjunto de principios por los cuales un protocolo entrega datos correctamente, en orden y sin pérdidas ni duplicaciones a través de una red subyacente que puede corromper, perder o reordenar paquetes.
Definition
La transferencia de datos fiable es un servicio de capa de transporte que garantiza que los datos se entreguen a la aplicación receptora correcta y en orden, a pesar de un canal subyacente no fiable, lo que se logra mediante acuses de recibo, números de secuencia, tiempos de espera y retransmisión.
Scope
Este tema cubre los mecanismos generales detrás de la entrega fiable, independientemente de cualquier protocolo: acuses de recibo y acuses de recibo negativos, números de secuencia para detectar pérdidas y duplicaciones, sumas de comprobación para la corrupción, temporizadores de retransmisión y los protocolos de ventana deslizante con pipeline go-back-N y selective repeat que mantienen muchos paquetes en tránsito para mayor eficiencia. Desarrolla estos como la base sobre la que se construye TCP. Excluye el control de congestión, que aborda la sobrecarga de la red en lugar de la fiabilidad por enlace, y las especificidades del propio TCP.
Core questions
- ¿Qué fallos —corrupción, pérdida, duplicación, reordenamiento— debe superar un protocolo fiable?
- ¿Cómo permiten los acuses de recibo y los números de secuencia que un receptor detecte y señale problemas?
- ¿Cómo utiliza un emisor los tiempos de espera y la retransmisión para recuperarse de una pérdida?
- ¿Cómo mejoran los protocolos con pipeline (go-back-N, selective repeat) la eficiencia sobre el de parada y espera?
- ¿Cuál es la compensación entre go-back-N y selective repeat?
Key concepts
- acuses de recibo (ACK/NAK)
- números de secuencia
- sumas de comprobación
- temporizadores de retransmisión y tiempos de espera
- parada y espera
- solicitud de repetición automática (ARQ)
- pipeline
- ventana deslizante
- go-back-N y selective repeat
Key theories
- Parada y espera y solicitud de repetición automática
- El protocolo fiable más simple envía un paquete y espera un acuse de recibo, retransmitiendo al expirar el tiempo de espera; los números de secuencia distinguen los datos nuevos de las retransmisiones, estableciendo la maquinaria ARQ central sobre la que se basa toda transferencia fiable.
- Pipeline con ventanas deslizantes
- Permitir múltiples paquetes sin acuse de recibo en tránsito, limitados por una ventana, aumenta el rendimiento en enlaces de alta latencia; go-back-N retransmite desde el primer paquete perdido, mientras que selective repeat retransmite solo los que faltan a costa de más almacenamiento en búfer y contabilidad.
Clinical relevance
Los principios de transferencia de datos fiable son los que permiten que las transferencias de archivos, las páginas web y la mayoría de los datos de las aplicaciones lleguen intactos incluso a través de rutas con pérdidas y congestionadas. Las mismas ideas —acuses de recibo, números de secuencia, ventanas y retransmisión— se repiten en TCP, en la fiabilidad de la capa de enlace y en los protocolos de transporte más recientes, por lo que comprenderlas es fundamental para razonar sobre el rendimiento, la latencia y la recuperación de pérdidas.
History
Los mecanismos de transferencia fiable se desarrollaron para los primeros protocolos de enlace y la ARPANET, donde los esquemas ARQ de parada y espera y luego de ventana deslizante se refinaron para equilibrar la fiabilidad y el rendimiento. El desarrollo sistemático e incremental de los principios de transferencia fiable —desde un canal perfecto hasta la pérdida y el reordenamiento— se convirtió en un enfoque pedagógico estándar y subyace al diseño de TCP.
Key figures
- James F. Kurose
- Keith W. Ross
- Andrew S. Tanenbaum
Related topics
Seminal works
- kurose2021
- tanenbaum2010
Frequently asked questions
- ¿Por qué usar números de secuencia?
- Los números de secuencia permiten al receptor distinguir los paquetes para que pueda detectar pérdidas (una brecha en la secuencia), descartar duplicados (un número repetido causado por una retransmisión) y reordenar los datos que llegaron desordenados. Sin ellos, un emisor y un receptor no podrían distinguir un paquete nuevo de uno retransmitido.
- ¿Cuál es la diferencia entre go-back-N y selective repeat?
- Ambos procesan múltiples paquetes en pipeline. Go-back-N hace que el emisor retransmita todo desde el primer paquete perdido en adelante, lo cual es simple pero puede reenviar datos correctamente recibidos. Selective repeat retransmite solo los paquetes específicos que se perdieron y almacena en búfer las llegadas fuera de orden, lo cual es más eficiente pero requiere más estado en ambos extremos.