Una vez se envía un paquete no se envía el siguiente paquete hasta que no se recibe el correspondiente ACK. En caso de recibir un NACK (rechazo de la recepción) se reenvía el paquete anterior.
Protocolo de Ventana Fija z
z
Se envía una cierta cantidad de paquetes (tamaño de ventana), y se espera a que se reciba el ACK de todos los paquetes. Este protocolo mejora un poco la eficiencia del protocolo de parada y espera.
Ventana Deslizante - Transmisión z
Permite al emisor transmitir múltiples paquetes de información, sin recibir confirmación de la recepción correcta de los mismos.
Ventana Deslizante - Validación z
z
Cuando llega un paquete al receptor, este envía un ACK (Acknowledgement) al emisor. El ACK puede ser: −
El del ultimo paquete recibido.
−
Indicando cual es el paquete recibido con su número. z
ACK 5
Ventana Deslizante - Validación z
Piggybacking −
Técnica de retardar temporalmente los ACK para que puedan viajar en el siguiente paquete de datos.
Ventana Deslizante - Validación z
z
Los paquetes que han sido enviados pero no han sido validados se denominan Unacknowledge. El número de paquetes que pueden ser Unacknowledge en un momento dado está limitado por el tamaño de la ventana (Ancho de ventana)
Ventana Deslizante - Desempeño z
z
Si el protocolo esperase una validación por cada paquete enviado, no se enviarían más paquetes hasta recibir el reconocimiento del último paquete enviado. El concepto de ventana deslizante hace que exista una continua transmisión de información, mejorando el desempeño de la red.
Ventana Deslizante -
Ventana Deslizante - Buffer z
z
z
Guarda en un buffer todos los paquetes enviados y no validados (Unacknowledge packets), por si necesitase retransmitirlas. El tamaño del buffer debe ser igual o mayor al tamaño de la ventana Solo se borran, si llega un ACK y así se puede deslizar la ventana una posición más.
Ventana Deslizante - Temporizador z
z
z
A cada uno de los paquetes pertenecientes al buffer se les asigna un temporizador. El temporizador es el límite de tiempo de espera para recibir la validación de un determinado paquete. Si finaliza el tiempo del temporizador, se reenvía el paquete.
Ventana Deslizante – Ventana de Recepción z
z
z
Permite al receptor recibir un conjunto de paquetes que le llegan desordenados. Es la lista que tiene el receptor con los números de la secuencia consecutivos de paquetes. Almacena los paquetes temporalmente en un buffer hasta el momento que posea todos.
Ventana Deslizante – Recuperación ante errores z
z
El receptor cuando detecta que un paquete no es correcto, por que se han producido errores en la transmisión, lo descarta siempre. Existen 2 estrategias diferentes para la recuperación de errores: −
Estrategia de Retransmisión continua.
−
Estrategia de Retransmisión selectiva.
Retransmisión Continua z z
z
Tamaño ventana recepción=1 El receptor rechaza todos los paquetes recibidos a partir de detectar uno con error en el número de secuencia. Al detectar el paquete erróneo envía una señal. −
NACK n (Negative Acknowledgement)
Retransmisión Continua z
z
Luego el emisor comienza con la retransmisión de todos los paquetes descartados por el receptor. Los paquetes estaban en el buffer esperando la validación. No es un método efectivo, pierde mucho tiempo en la retransmisión
Retransmisión Selectiva z z
z
Tamaño ventana recepción>1. El receptor descarta únicamente el paquete erróneo y acepta los que llegan detrás almacenándolos en el buffer de recepción. Al detectar el paquete erróneo envía una señal. −
NACK n (Negative Acknowledgement)
Retransmisión Selectiva z
z
z
Luego el emisor comienza con la retransmisión del paquete descartado por el receptor. El paquete estaba en el buffer esperando la validación. El receptor al recibir la retransmisión correcta del anterior paquete erróneo lo almacena en el buffer con el resto de los paquetes recibidos y los ordena, para posteriores tratamientos. Es un método efectivo, optimiza al máximo la retransmisión
Ejercicio 11 Realice un esquema de tiempos que ilustre el funcionamiento del mecanismo de ventana. z
z
Retransmisión continua (el receptor acepta sólo bloques en orden). Retransmisión selectiva (el receptor acepta bloques no ordenados siempre que su número de secuencia esté en la ventana de recepción)