Ejercicio Ventana Deslizante
Ventana Deslizante
El emisor puede enviar varias tramas a la vez y esperar por la confirmación, pero el receptor puede enviar una sola confirmación para varias tramas de datos.
Tenemos dos maneras de hacerlo con vuelta atrás N que consiste en que mientras no aparezcan errores, el receptor confirma los paquetes recibidos y se utiliza la ventana para controlar los paquetes a confirmar y si detecta un error envía la confirmación negativa que pueden ser:
- Que se descarte ese paquete y todos los que se reciba en el futuro hasta que el paquete erróneo se reciba correctamente.
- O bien, que el emisor deba retroceder y retransmitir ese paquete más todos los paquetes posteriores.
La otra manera de hacerlo es con retransmisión selectiva o rechazo selectivo:
- Solo tramas rechazadas son retransmitidas
- Tramas subsiguientes son aceptada por el receptor y almacenadas en el buffer.
- Minimiza la retransmisión ya que sólo envía la errónea.
- Receptor debe tener un buffer suficientemente grande.
¿Cómo funciona la Ventana Deslizante con Vuelta Atrás con ARQ?
Si en el receptor se detecta que la trama que llega contiene errores, se envía una trama NAK para indicar al emisor que debe retransmitir la trama en la que se ha producido el error.
La trama NAK, debe incluir el número de trama en la que se ha producido el error. Una trama NAK, además, confirma la recepción de todas las tramas pendientes de confirmación anteriores a la trama con error.
Cuando el emisor recibe una trama NAK con el número de secuencia determinado. Retransmite la trama con ese número de secuencia y todas las tramas que se hubiesen enviado después de la trama con error.
Temporizador, si implementamos el temporizador el emisor para solucionar el problema de tramas de datos perdidas o los confirmaciones perdidas (NACK o ACK). Cuando se envían todas las tramas posibles se activa el temporizador en el emisor. Cuando este vence, se retransmiten todas las tramas pendientes de confirmación.
Si se recibe una trama con un número de secuencia diferente del esperado, se considera una trama con error y se envía una trama NACK.
¿Cómo funciona la Ventana Deslizante Rechazo Selectivo con ARQ (Retransmisión Selectiva)?
Es muy parecida a Vuelta Atrás con ARQ, la diferencia está en que cuando llega una trama con NACK solo se retransmite la secuencia que indica la trama NACK.
Cuando el receptor detecta que la trama llega con error se envía una trama NACK (con el número de trama correspondiente) para indicar al emisor que debe retransmitir la trama con error.
Cuando el emisor recibe una trama NACK con un número de secuencia determinado, retransmite solo la trama con ese número de secuencia.
Los números de secuencia de las tramas de confirmación (ACK) se refieren a la trama recibida, NO A LA SIGUIENTE ESPERADA COMO EN EL MÉTODO GENERAL DE VENTANA DESLIZANTE.
Se utiliza un tamaño máximo (n+1)/2.
Se implementa un temporizador en el emisor para solucionar problemas de las tramas perdidas o no confirmadas. Cuando este vence, se retransmiten todas las tramas pendientes de confirmación.
Como se reciben tramas desordenas se implementa ordenación de tramas.
Resumen:
Protocolo de Ventana Deslizante. Existen dos tipos Vuelta Atrás en N y Rechazo Selectivo.
Vuelta Atrás en N (N > 1)
- El emisor envía un tamaño de ventana en N.
- El receptor recibe un tamaño de venta = 1
Ej. N=4
El tamaño de la venta será: 3 2 1 0
Rechazo Selectivo
- Tamaño de Ventana > 1 (Ws>1)
- El tamaño de la ventana del emisor es igual al tamaño de la venta del receptor (Wreception = Wsize) (Ventana recepción = tamaño de ventana)
Más Información: Protocolos de Control de Errores
Trabajo: ventana-deslizante-alejandro-asenjo