escudo2

Aplicación arrancada.
Se visualizará en unos instantes.
Si no funciona instalar esto (j2sdk 1.4.0.1)



Manual de uso rápido del Applet:


escudo

Protocolos ARQ


    Los Protocolos ARQ son protocolos de control de flujo y que esencialmente se caracterizan porque solicitan retransmisiones de una o varias tramas de modo automático cuando se producen errores o pérdidas de información sin intervención de agentes externos al nivel de enlace.

    Por lo tanto, los protocolos de solicitud de repetición automática o ARQ (Auto-matic Repeat Request) retransmiten aquellos paquetes de datos que han llegado con errores, utilizando para ello códigos de detección de errores. Estos protocolos de repetición automática nacieron como una alternativa a la "verificación de eco", es decir, un método manual de errores que se utiliza aún en los terminales de mainframes, consistente en una técnica muy sencilla: cuando el usuario teclea un carácter, éste es transmitido hasta la computadora y reenvía de nuevo hacia el terminal que lo presenta en pantalla, si el usuario se da cuenta de que lo que se muestra no coincide con lo que él esperaba, es el usuario el encargado de realizar la corrección de errores usando los caracteres de control de los que dispone el terminal.

    Existe diferentes protocolos ARQ, el protocolo de parada y espera (stop & wait) que se trata del protocolo ARQ original. Consiste en que el emisor transmite un paquete cada vez y espera una confirmación, el receptor cuando recibe un paquete de forma correcta transmitirá un ACK, por su parte si en el emisor se recibe un ACK entenderá que el paquete ha llegado correctamente y continuará con la transmisión del siguiente paquete en el caso de que existiera, si se diera el caso en el que se produce un error en algún momento del proceso, para que éste no se bloquee, el emisor dispone de un temporizador o timer que arrancará cada vez que se transmite un paquete y que si expira pasará el emisor automáticamente a la retransmisión del paquete en cuestión. El problema de este protocolo es que solo permite un frame en el link, por lo que generalmente el emisor se encuentra desocupado a la espera de un ACK y como consecuencia la baja utilización el ancho de banda y además es ineficaz si el retardo de propagación es mayor que el tiempo retransmisión de los paquetes.

    Este problema de la mala utilización del ancho de banda se puede solucionar pudiendo transmitir un número finito de paquetes antes de esperar los ACK correspondientes. Esto se logra con protocolos de ventana deslizante tales como ARQ con retroceso N (go-back n), en donde n indica el número de paquetes que se podrá transmitir sin recibir una confirmación, es decir, n es el tamaño de la ventana o intervalo, dicha ventana irá avanzando a medida que se confirmen las recepciones de los paquetes anteriores, por otra parte el receptor sólo irá aceptando los paquetes de forma ordenada. El proceso de este protocolo se desglosará más específicamente en la documentación del proyeccto, no obstante podemos adelantar que el mayor problema del protocolo go-back n es que en caso de error en alguno de los paquetes, el protocolo reenviará toda la ventana, es decir, retransmite todos los paquetes que componen en ese momento la ventana independientemente de que el error solo se haya producido en un paquete en particular.

    Este problema de tener que retransmitir la ventana completa, lo trata de solucionar el protocolo de repetición selectiva (selective ARQ), el cual será capaz de detectar el paquete dentro de la ventana en el que se ha producido el error y retransmitir únicamente dicho paquete.


    Protocolos Stop & Wait


    Como caso más sencillo de protocolo de retransmisión es el denominado de parada y espera, consiste en que el emisor espera confirmación o acuse de recibo después de cada envío y antes de efectuar el siguiente. El acuse de recibo, también llamado ACK (del ingles acknowledgement) sirve tanto para indicar que la trama ha llegado correctamente como para indicar que se está en condiciones de recibir la siguiente, es decir el protocolo incorpora también la función de control de flujo. Este tipo de protocolos donde el emisor espera una confirmación o acuse de recibo para cada dato enviado se denominan protocolos PAR (Positive Acknowledgement with Retransmission) o también ARQ (Automatic Repeat reQuest).

    El receptor verificará cada trama mediante alguno de los métodos de detección de errores (generalmente CRC) y en caso de que la trama recibida sea errónea no se producirá ACK. Lo mismo ocurre cuando la trama enviada se pierde por completo. En este caso, el emisor pasado un tiempo máximo de espera, reenvía la trama. Una optimización que se puede incorporar en el protocolo es el tiempo máximo de espera, reenvía la trama. Una optimización que se puede incorporar en el protocolo es el uso de acuse de recibo negativo o NAK (Negative Acknowledgement) cuando se recibe una trama errónea; de esta forma el emisor puede reenviar la trama sin esperar a agotar el tiempo de espera, con lo que se consigue una mayor utilización de la línea.

    En el caso de que se pierda el mensaje del ACK, pasado el tiempo de espera el emisor concluirá erróneamente que la trama se ha perdido y la reenviará, llegando ésta duplicada al receptor. Como el receptor no tiene ningún mecanismo para detectar que la trama es un duplicado, pasará el duplicado al nivel de red, lo cual no esta permitido en un protocolo de enlace. Una forma de que el receptor distinga los duplicados es numerar las tramas, por ejemplo con un campo de un bit podemos numerar tramas en base 2 que es suficiente para detectar duplicados.


    Protocolos de Ventana Deslizante (go-Back n y Selective ARQ)


    Todos los protocolos que forman parte de la familia llamados de "ventana deslizante" o sliding window tienen las siguientes características:

    El protocolo de envío y espera es un protocolo de ventana deslizante, en el que tanto el tamaño de la ventana receptora como emisora es uno. De modo, que cuando el emisor envía la única trama que puede enviar, debe pararse hasta que el receptor le envíe la confirmación de que le llegó, liberando la trama enviada y dando paso a la siguiente.

    Pos su parte, el receptor puede recibir sólo una trama, concretamente la siguiente a la anterior en su número de secuencia. Si no recibe ésta entiende que ha habido alguna trama que se ha perdido y no confirma la trama afirmativamente, con lo que el emisor retransmitirá. Si la trama llegó correctamente genera una confirmación afirmativa para liberar de su espera al emisor y activar la transmisión de la siguiente trama.

    Como en el resto de protocolos de envío y espera, cuando las ventanas son mayores que uno, las confirmaciones se pueden enviar una a una por cada trama recibida o por conjuntos de tramas. Del mismo modo, las retransmisiones pueden ser selectiva o no.