Definición y concepto
El término Automatic Repeat Request (ARQ) designa un conjunto de protocolos fundamentales en la ingeniería de la información, diseñados específicamente para el control de errores durante la transmisión de datos. Su función principal es garantizar la integridad de los datos que viajan a través de un canal de comunicación, asegurando que la información recibida sea idéntica a la información enviada, o bien que se detecte una discrepancia significativa que requiera corrección. Este mecanismo es esencial en sistemas donde la precisión de los datos tiene prioridad sobre la velocidad de llegada inmediata, permitiendo que el receptor solicite la repetición de los paquetes de datos que han sufrido alteraciones o pérdidas durante el trayecto.
Mecanismo de funcionamiento
El funcionamiento de los protocolos ARQ se basa en un proceso de retroalimentación continua entre el emisor y el receptor. Cuando un paquete de datos llega al destino, el receptor lo analiza para verificar su estado. Si el paquete se considera correcto, el receptor envía un señal de confirmación, conocida como ACK (Acknowledgement). Por el contrario, si se detectan errores en la estructura del paquete, el receptor envía una señal de negación, denominada NACK (Negative Acknowledgement), o simplemente deja de enviar la confirmación dentro de un plazo determinado. Al recibir una señal NACK o al agotarse el tiempo de espera sin recibir un ACK, el emisor procede a reenviar el paquete erróneo, de ahí el nombre "Solicitud de Repetición Automática".
Aplicación en sistemas no en tiempo real
Es crucial destacar que los protocolos ARQ suelen utilizarse en sistemas que no actúan estrictamente en tiempo real. Esta preferencia se debe a que el tiempo perdido en el proceso de detección y reenvío puede ser considerable. En contextos donde la latencia es crítica, como en una aplicación de videoconferencia, a menudo resulta más útil emitir la imagen en el momento, aunque contenga errores visuales, que esperar a que llegue correctamente pero con un retraso significativo. Por ejemplo, recibir el píxel correcto de una imagen dos segundos después de haberla visto puede hacer que la información sea casi inútil para la comunicación inmediata. Por tanto, ARQ prioriza la exactitud sobre la inmediatez, siendo ideal para transmisiones donde un error de dato puede alterar sustancialmente el significado de la información.
Ubicación en el modelo OSI
Dentro de la arquitectura de redes, los mecanismos ARQ se implementan principalmente en dos niveles del modelo OSI: la capa de enlace de datos y la capa de transporte. En la capa de enlace, el control de errores asegura que los datos lleguen sin fallos entre dos nodos adyacentes. En la capa de transporte, el protocolo garantiza la entrega fiable de los datos desde el origen hasta el destino final a través de la red. Esta doble presencia permite una flexibilidad en la gestión de la integridad, adaptándose a las necesidades específicas de eficiencia y precisión de cada tipo de conexión y aplicación de red.
¿Cómo funciona el mecanismo de retransmisión?
Los protocolos ARQ operan bajo un principio de retroalimentación continua entre el emisor y el receptor para asegurar que los datos recibidos coincidan con los enviados. El mecanismo fundamental no depende únicamente de la detección inmediata de un error, sino de la confirmación explícita o implícita del estado del paquete. Este proceso garantiza la integridad de la información, aunque introduce una latencia que puede ser crítica en sistemas que no actúan estrictamente en tiempo real, donde la utilidad de un dato puede decaer rápidamente con el paso del tiempo.
Detección de errores y señales de confirmación
La base del control de errores en ARQ es la capacidad del receptor para distinguir entre un paquete correcto y uno defectuoso. Esto se logra típicamente mediante técnicas de detección, como el uso de bits de paridad o códigos de redundancia cíclica, que permiten al receptor verificar la estructura del dato recibido. Una vez realizada esta verificación, el receptor envía una señal de retroalimentación al emisor. Existen dos señales principales: el ACK (Acuerdo o Confirmación) y el NACK (No Acuerdo o Negación).
Cuando el receptor identifica que un paquete ha llegado sin errores significativos, emite un ACK. Esta señal informa al emisor de que puede proceder con la siguiente unidad de datos o considerar el actual como "vivo". Por el contrario, si el paquete presenta inconsistencias en su estructura, el receptor emite un NACK. Este mecanismo permite al emisor saber exactamente qué paquete requiere atención, evitando la ambigüedad en la transmisión. No todos los paquetes se detectan como erróneos porque los canales de transmisión suelen tener una tasa de error finita; en muchos casos, la señal llega intacta, especialmente si la distancia es corta o la interferencia es baja.
El concepto de timeout y la retransmisión automática
La "retransmisión automática" en ARQ se activa principalmente cuando el emisor no recibe la confirmación esperada dentro de un intervalo de tiempo definido, conocido como timeout. Este mecanismo es crucial porque los canales de transmisión rara vez son perfectos: un paquete puede perderse en el camino, o la propia señal de ACK puede perderse, aunque el paquete de datos haya llegado correctamente al receptor.
Si el emisor envía un paquete y el reloj del timeout llega a cero sin haber recibido un ACK, el protocolo asume que la transmisión ha fallado y vuelve a enviar el mismo paquete. Esta es la esencia de la "repetición": el sistema no espera a que el receptor pida explícitamente el dato (aunque el NACK ayuda), sino que actúa proactivamente ante el silencio del canal. Este enfoque es particularmente útil en entornos donde la latencia de ida y vuelta puede variar, permitiendo que la transmisión continúe con una eficiencia aceptable. Sin embargo, como se ha señalado, este proceso consume tiempo. En aplicaciones sensibles como la videoconferencia, un timeout prolongado puede hacer que la corrección llegue demasiado tarde para ser útil, demostrando que la elección del protocolo ARQ depende del equilibrio entre la precisión de los datos y la inmediatez de su entrega.
Tipos de protocolos ARQ
Los protocolos ARQ se clasifican en tres variantes fundamentales según su estrategia de retransmisión y gestión de la ventana de envío. Estas diferencias determinan la eficiencia del canal y la complejidad del receptor. A continuación, se detallan los mecanismos de cada tipo.
Stop-and-wait ARQ
En el protocolo Stop-and-wait (Detener y esperar), el emisor transmite un único paquete y detiene la transmisión hasta recibir una confirmación (ACK) del receptor. Si el ACK llega, se envía el siguiente paquete; si llega una negación (NACK) o se agota el tiempo de espera, se reenvía el mismo paquete. Este método es simple pero poco eficiente en canales con gran retardo, ya que el canal puede quedar ocioso mientras se espera la respuesta.
Go-Back-N ARQ
El protocolo Go-Back-N permite al emisor enviar múltiples paquetes antes de recibir confirmaciones, utilizando una ventana de tamaño N. Si un paquete se pierde o llega erróneo, el receptor puede descartar los paquetes subsiguientes (según la implementación) o almacenarlos en búfer. Al recibir un NACK o al agotarse el temporizador, el emisor debe reenviar el paquete erróneo y todos los que lo siguieron en la ventana, incluso si algunos ya habían llegado correctamente. Esto simplifica el receptor pero puede generar redundancia en la transmisión.
Selective Repeat ARQ
En Selective Repeat (Repetición selectiva), tanto el emisor como el receptor manejan ventanas de paquetes. El receptor almacena los paquetes correctos que llegan fuera de orden en un búfer y envía ACK individuales para cada uno. Si un paquete se pierde, solo ese paquete específico se reenvía, sin afectar a los demás. Este método maximiza la eficiencia del canal y reduce la redundancia, pero requiere mayor complejidad en la gestión de memoria y sincronización entre emisor y receptor.
| Característica | Stop-and-wait | Go-Back-N | Selective Repeat |
|---|---|---|---|
| Estrategia de retransmisión | Un paquete a la vez | Pacientes desde el error en adelante | Solo los paquetes erróneos |
| Complejidad del receptor | Baja | Media | Alta |
| Eficiencia del canal | Baja (depende del retardo) | Media | Alta |
| Gestión de ventana | Emisor: 1, Receptor: 1 | Emisor: N, Receptor: 1 o N | Emisor: N, Receptor: N |
La elección del protocolo depende del equilibrio deseado entre simplicidad, eficiencia del ancho de banda y tolerancia a la latencia. En sistemas que no actúan en tiempo real, como se menciona en la descripción general de ARQ, la eficiencia puede priorizarse sobre la inmediatez, haciendo atractivo el uso de Selective Repeat o Go-Back-N según los recursos disponibles.
Aplicaciones en estándares de red
Los protocolos ARQ son fundamentales en la implementación de estándares de red modernos, donde garantizan la integridad de los datos en entornos que no requieren una latencia estricta en tiempo real. Su aplicación varía según las características del medio de transmisión y las necesidades de eficiencia del modelo OSI.
Transmisión de Control (TCP) y variantes avanzadas
En la capa de transporte del modelo OSI, el protocolo TCP utiliza mecanismos derivados de ARQ para asegurar la entrega ordenada de segmentos. Aunque TCP se asemeja estructuralmente al tipo Go-Back-N, donde la recepción de un paquete erróneo puede desencadenar el reenvío de paquetes subsiguientes, ha evolucionado para incorporar técnicas como Selective Acknowledgment (SACK). Esta variante permite al receptor identificar específicamente qué fragmentos han llegado correctamente, optimizando así el uso del ancho de banda y reduciendo la redundancia en la transmisión de datos.
Redes inalámbricas IEEE 802.11
En el estándar de redes inalámbricas IEEE 802.11, los mecanismos ARQ son esenciales para compensar la volatilidad del medio físico. Dado que las interferencias y la atenuación son frecuentes en entornos inalámbricos, el uso de reconocimientos (ACK) y no reconocimientos (NACK) permite que el emisor decida rápidamente si un paquete debe ser retransmitido, asegurando que la capa de enlace de datos mantenga una tasa de error aceptable para las aplicaciones superiores.
Estándar ITU-T G.hn y ARQ híbrido
El estándar ITU-T G.hn, diseñado para comunicaciones de alta velocidad en redes domésticas basadas en cables existentes, emplea una estrategia sofisticada conocida como ARQ híbrido. Este enfoque combina el control de errores por retransmisión (ARQ) con la corrección de errores hacia adelante (FEC). Para detectar errores con mayor precisión, se utiliza el código cíclico de redundancia CRC-32C, mientras que la eficiencia de la corrección se mejora mediante códigos LDPC (Low-Density Parity-Check). Esta combinación permite que las redes G.hn alcancen velocidades de transmisión de hasta 1 Gbit/s, ofreciendo un equilibrio entre la latencia introducida por el reenvío y la sobrecarga de los bits de paridad en la señal.
Historia y uso en radio de onda corta
Los protocolos de solicitud de repetición automática (ARQ) han desempeñado un papel fundamental en la evolución de las telecomunicaciones, especialmente en entornos donde la latencia y la fiabilidad son críticas. En el contexto histórico de la radio de onda corta, estos mecanismos permitieron transformar la transmisión de datos, que anteriormente dependía en gran medida de la corrección manual o de la redundancia estática, en un sistema dinámico capaz de adaptarse a las fluctuaciones del canal. La aplicación de ARQ en la radio de onda corta fue particularmente relevante para la transmisión de telegramas, donde la integridad del mensaje era a menudo más importante que la velocidad pura, diferenciándose así de las aplicaciones de tiempo real mencionadas en la descripción general del protocolo.
Implementaciones históricas: ARQ-E y ARQ-M
Dentro del ámbito de la radio de onda corta, se desarrollaron variantes específicas del protocolo ARQ para optimizar el rendimiento según las necesidades de los operadores de telecomunicaciones. Dos de las formas más notables fueron conocidas como ARQ-E y ARQ-M. Estas implementaciones no eran meras copias de los modelos teóricos de Stop-and-wait o Go-Back-N, sino adaptaciones prácticas que consideraban las características físicas de la propagación de la onda corta, como el efecto Doppler, la atenuación y la interferencia de fase.
La variante ARQ-E estaba diseñada para ofrecer una eficiencia equilibrada entre la velocidad de transmisión y la tasa de error, haciendo uso intensivo de los mecanismos de reconocimiento (ACK) y no reconocimiento (NACK) para confirmar la recepción exitosa de los bloques de datos. Por su parte, la forma ARQ-M se centraba en la capacidad de multiplexación, permitiendo que múltiples canales lógicos compartieran el mismo ancho de banda físico sin una sobreposición excesiva de las señales de control. Esta capacidad de multiplexar canales era esencial para maximizar el rendimiento de las estaciones de radio de onda corta, que a menudo operaban con un espectro limitado y condiciones de propagación variables.
Estas implementaciones demostraron que los protocolos ARQ podían ser flexibles y adaptables a diferentes entornos de transmisión. La capacidad de multiplexar canales en las formas ARQ-E y ARQ-M permitió a los operadores de radio de onda corta gestionar múltiples flujos de datos simultáneamente, mejorando así la capacidad total del sistema sin necesidad de expandir significativamente el ancho de banda disponible. Este enfoque fue precursor de las técnicas de multiplexación utilizadas en las capas de enlace de datos y transporte del modelo OSI, donde la eficiencia del canal sigue siendo un factor crítico.
El uso histórico de estos sistemas en la radio de onda corta sentó las bases para el desarrollo posterior de protocolos más complejos, como el Selective Repeat ARQ, que permitiría una gestión aún más granular de los paquetes reenviados. La evolución desde las formas básicas de ARQ en la radio de onda corta hasta los protocolos modernos ilustra la importancia de adaptar los mecanismos de control de errores a las características específicas del medio de transmisión, un principio que sigue siendo relevante en las comunicaciones de datos actuales.
¿En qué casos no se recomienda usar ARQ?
Los protocolos ARQ presentan limitaciones significativas cuando se aplican a sistemas que requieren una respuesta inmediata o en tiempo real. Aunque su capacidad para garantizar la integridad de los datos es innegable, el mecanismo fundamental de reenvío introduce una variable crítica: el tiempo de latencia. En entornos donde la temporalidad del dato es tan importante como su contenido, la espera por un reconocimiento (ACK) o por la llegada de un paquete repetido puede resultar contraproducente. Por esta razón, el uso de ARQ no se recomienda en aplicaciones donde la inmediatez es prioritaria sobre la perfección absoluta de la transmisión.
El costo de la latencia en la transmisión de datos
En sistemas que no operan en tiempo real, como la transferencia de archivos o el correo electrónico, un retraso de unos milisegundos o incluso segundos es imperceptible o aceptable para el usuario final. Sin embargo, en sistemas de tiempo real, cada milisegundo cuenta. El proceso de detectar un error, enviar una señal de no reconocimiento (NACK) o simplemente esperar un tiempo de temporizador para emitir un reconocimiento implícito, y finalmente retransmitir el paquete, consume tiempo valioso. Este tiempo perdido puede hacer que la información llegue a su destino en un momento en el que ya ha perdido gran parte de su utilidad.
La decisión de utilizar ARQ en estos contextos implica un equilibrio delicado entre la precisión y la velocidad. Si el sistema prioriza la precisión absoluta a través de los mecanismos ARQ, corre el riesgo de que los datos lleguen correctamente pero demasiado tarde para ser procesados o percibidos por el receptor. En cambio, si se prioriza la velocidad, se debe aceptar que algunos datos puedan llegar con errores o incluso perderse, pero que lleguen dentro de la ventana de tiempo útil.
Ejemplo práctico: videoconferencia y transmisión de imagen
Un ejemplo claro de esta limitación se encuentra en las aplicaciones de videoconferencia. En una llamada de video, la fluidez y la sincronización entre la imagen y el sonido son esenciales para una comunicación efectiva. Si se utiliza un protocolo ARQ estricto para cada paquete de datos de imagen, cualquier paquete perdido o erróneo deberá ser reenviado antes de que el flujo continúe o se muestre correctamente.
Consideremos una situación donde un paquete de datos que contiene un fragmento de la imagen de la cámara del emisor se pierde en la ruta. El protocolo ARQ detecta esta pérdida y solicita su reenvío. Si el tiempo que tarda en llegar este paquete reenviado es de 2 segundos, el receptor verá una imagen correcta, pero esa imagen corresponderá a lo que el emisor hacía 2 segundos atrás. En el contexto de una conversación cara a cara virtual, ver la expresión facial correcta del interlocutor con un retraso de 2 segundos puede resultar más confuso y molesto que ver un pequeño defecto o "pixelado" en la imagen en tiempo real. En este caso, es más útil emitir la imagen con pequeños errores en el momento exacto, que hacerlo correctamente pero con un retraso significativo que rompe la inmersión y la naturalidad de la comunicación.
Por lo tanto, en aplicaciones como la videoconferencia, la transmisión de audio en vivo o los juegos en línea multijugador, a menudo se prefieren mecanismos de control de errores más simples o tolerantes a la pérdida, como los códigos de corrección de errores (FEC) o simplemente la aceptación de una tasa de error menor, para evitar la latencia inherente a los reenvíos ARQ. Esto permite mantener la fluidez de la experiencia del usuario, sacrificando una pequeña cantidad de integridad de datos a cambio de una percepción de tiempo real más precisa.
Ejercicios resueltos
Ejercicio 1: Selección del protocolo ARQ según la naturaleza del sistema
Se solicita determinar cuál de los tres tipos principales de ARQ (Stop-and-wait, Go-Back-N o Selective Repeat) es más adecuado para dos escenarios distintos, basándose en la garantía de integridad y el manejo del tiempo de reenvío.
Escenario A: Sistema de videoconferencia en tiempo real.
En este caso, el objetivo no es tanto la integridad absoluta de cada pixel, sino la inmediatez. Como se indica en la base de datos, estos protocolos suelen utilizarse en sistemas que no actúan en tiempo real, ya que el tiempo perdido en el reenvío puede ser considerable. En una videoconferencia, emitir un pixel correcto dos segundos después de haber visto la imagen pierde su utilidad. Por lo tanto, aunque los ARQ garantizan la integridad mediante ACK y NACK, su uso intensivo puede generar latencia. Un sistema de videoconferencia podría optar por un Stop-and-wait simplificado o incluso tolerar errores (como en los sistemas que "emiten mal en el momento"), pero si se debe usar ARQ estricto, el Selective Repeat minimiza los reenvíos innecesarios, aunque la latencia sigue siendo un factor crítico.
Escenario B: Transmisión de archivos en la capa de enlace de datos.
Aquí la prioridad es la integridad de los datos. Se utiliza un protocolo ARQ para garantizar que los paquetes lleguen correctamente. El Go-Back-N es eficiente si el canal es relativamente estable, ya que reenvía el paquete erróneo y los siguientes, aprovechando la ventana de transmisión. Si el canal tiene muchas pérdidas, el Selective Repeat es superior porque solo reenvía el paquete específico identificado por un NACK, ahorrando ancho de banda.
Ejercicio 2: Análisis de secuencias de ACK y NACK en Selective Repeat
Se presenta una secuencia de transmisión en un protocolo Selective Repeat ARQ. El emisor envía los paquetes P1, P2, P3 y P4. Se solicita identificar el estado de la ventana del receptor ante los siguientes acuse de recibo:
- P1 llega y genera un ACK.
- P2 llega y genera un NACK (paquete erróneo).
- P3 llega y genera un ACK.
Resolución paso a paso:
1. Al recibir el ACK de P1, el receptor confirma que el primer paquete es correcto. En Selective Repeat, P1 se mueve hacia adelante en la ventana.
2. Al recibir el NACK de P2, el receptor indica que P2 está erróneo. Sin embargo, a diferencia de Go-Back-N, el receptor puede seguir aceptando paquetes posteriores si están dentro de la ventana.
3. Al recibir el ACK de P3, el receptor confirma que P3 es correcto, a pesar de que P2 aún está pendiente. Esto demuestra la capacidad del Selective Repeat de manejar paquetes no consecutivos.
El emisor, al recibir el NACK de P2, procederá a reenviar específicamente P2, sin necesidad de reenviar P3 (que ya fue confirmado con ACK) ni P1. Esto garantiza la integridad de los datos con eficiencia en el uso del canal.
Ejercicio 3: Cálculo conceptual del Timeout en Stop-and-wait ARQ
Se solicita explicar cómo se determina el tiempo de espera (timeout) en un protocolo Stop-and-wait ARQ para evitar reenvíos prematuros o tardíos, asegurando la integridad de la transmisión.
En Stop-and-wait ARQ, el emisor envía un paquete y espera un ACK antes de enviar el siguiente. El timeout debe ser mayor que el tiempo total que tarda el paquete en ir y volver más el tiempo de procesamiento en el receptor.
La fórmula conceptual para el tiempo de espera mínimo es:
T=Ttransmision+Tpropagacion+Tprocesamiento+Tpropagacion
Donde:
T_transmisiones el tiempo que tarda el paquete en salir del emisor.T_propagaciones el tiempo que tarda la señal en recorrer el medio (ida y vuelta).T_procesamientoes el tiempo que el receptor tarda en generar el ACK.
Si el timeout es menor que esta suma, el emisor podría reenviar el paquete antes de recibir el ACK, generando duplicados. Si es mucho mayor, el canal se queda ocioso, reduciendo la eficiencia. Este cálculo es fundamental para garantizar la integridad y la eficiencia en la capa de enlace de datos o transporte del modelo OSI.
Véase también
- Transformers de primeros auxilios en inteligencia artificial
- Linux: qué es, funcionamiento y ecosistema
- Inteligencia artificial significado
- Máquina virtual de java: arquitectura, funcionamiento y gestión de memoria
- Arquitectura Transformer en inteligencia artificial