El ARQ de detener y esperar , también conocido como protocolo de bits alternos , es un método en telecomunicaciones para enviar información entre dos dispositivos conectados. Garantiza que la información no se pierda debido a la caída de paquetes y que los paquetes se reciban en el orden correcto. Es el mecanismo de solicitud de repetición automática (ARQ) más simple . Un remitente ARQ de detener y esperar envía una trama a la vez; es un caso especial del protocolo de ventana deslizante general con tamaños de ventana de transmisión y recepción iguales a uno en ambos casos. Después de enviar cada trama, el remitente no envía más tramas hasta que recibe un acuse de recibo.(ACK) señal. Después de recibir una trama válida, el receptor envía un ACK. Si el ACK no llega al remitente antes de cierto tiempo, conocido como tiempo de espera, el remitente envía el mismo marco nuevamente. La cuenta atrás del tiempo de espera se reinicia después de cada transmisión de trama. El comportamiento anterior es un ejemplo básico de Stop-and-Wait. Sin embargo, las implementaciones de la vida real varían para abordar ciertos problemas de diseño.
Normalmente, el transmisor agrega un número de verificación de redundancia al final de cada trama. El receptor usa el número de verificación de redundancia para verificar posibles daños. Si el receptor ve que la trama es buena, envía un ACK. Si el receptor ve que el marco está dañado, el receptor lo descarta y no envía un ACK, pretendiendo que el marco se perdió por completo, no simplemente dañado.
Un problema es cuando el ACK enviado por el receptor se daña o se pierde. En este caso, el remitente no recibe el ACK, se agota el tiempo de espera y vuelve a enviar la trama. Ahora el receptor tiene dos copias de la misma trama y no sabe si la segunda es una trama duplicada o la siguiente trama de la secuencia que lleva DATOS idénticos.
Otro problema es cuando el medio de transmisión tiene una latencia tan larga que el tiempo de espera del remitente se agota antes de que la trama llegue al receptor. En este caso, el remitente reenvía el mismo paquete. Finalmente, el receptor obtiene dos copias de la misma trama y envía un ACK para cada una. El remitente, que espera un solo ACK, recibe dos ACK, lo que puede causar problemas si asume que el segundo ACK es para la siguiente trama de la secuencia.
Para evitar estos problemas, la solución más común es definir un número de secuencia de 1 bit en el encabezado de la trama. Este número de secuencia se alterna (de 0 a 1) en los fotogramas siguientes. Cuando el receptor envía un ACK, incluye el número de secuencia del siguiente paquete que espera. De esta forma, el receptor puede detectar tramas duplicadas comprobando si los números de secuencia de tramas se alternan. Si dos fotogramas posteriores tienen el mismo número de secuencia, son duplicados y el segundo fotograma se descarta. De manera similar, si dos ACK subsiguientes hacen referencia al mismo número de secuencia, están reconociendo la misma trama.
El ARQ de detener y esperar es ineficaz en comparación con otros ARQ, porque el tiempo entre paquetes, si el ACK y los datos se reciben correctamente, es el doble del tiempo de tránsito (asumiendo que el tiempo de respuesta puede ser cero). El rendimiento del canal es una fracción de lo que podría ser. Para resolver este problema, se puede enviar más de un paquete a la vez con un número de secuencia mayor y usar un ACK para un conjunto. Esto es lo que se hace en Go-Back-N ARQ y en el ARQ de repetición selectiva .
Ver también
Referencias
- Tanenbaum, Andrew S., Computer Networks , 4ª ed. ISBN 0-13-066102-3