Ventana deslizante La Ventana deslizante es un mecanismo dirigido al control de flujo de datos que existe entre un emisor y un receptor pertenecientes

a una red informática. El Protocolo de Ventana Deslizante es un protocolo de transmisión de datos bidireccional de la capa del nivel de enlace (modelo OSI). La ventana deslizante es un dispositivo de control de flujo de tipo software, es decir, el control del flujo se lleva a cabo mediante el intercambio específico de caracteres o tramas de control, con los que el receptor indica al emisor cuál es su estado de disponibilidad para recibir datos. Este dispositivo es necesario para no inundar al receptor con envíos de tramas de datos. El receptor al recibir datos debe procesarlo, si no lo realiza a la misma velocidad que el transmisor los envía se verá saturado de datos, y parte de ellos se pueden perder. Para evitar tal situación la ventana deslizante controla este ritmo de envíos del emisor al receptor. Con este dispositivo se resuelven dos grandes problemas: el control de flujo de datos y la eficiencia en la transmisión.

Funcionamiento de la ventana de transmisión
El protocolo de ventana deslizante permite al emisor transmitir múltiples segmentos de información antes de comenzar la espera para que el receptor le confirme la recepción de los segmentos, tal confirmación se llama validación, y consiste en el envío de mensajes denominadosACK del receptor al emisor. La validación se realiza desde el receptor al emisor y contiene el número de la siguiente trama que espera recibir el receptor, o el de la última trama recibida con éxito, ACK n (siendo n el número de la trama indicada). Con esta indicación el emisor es capaz de distinguir el número de los envíos realizados con éxito, los envíos perdidos y envíos que se esperan recibir. Los segmentos se denominaran Unacknowledge si han sido enviados pero no han sido validados. Técnicamente el número de segmentos que pueden ser Unacknowledge en un momento dado está limitado por el tamaño de la ventana, un número pequeño y fijo, se denomina el ancho de ventana.

Por ejemplo, en una ventana deslizante de tamaño 8, el emisor puede transmitir hasta 8 segmentos sin recibir validación de ninguno de ellos. Figura 1.a). Entonces esperará una confirmación de recepción procedente del receptor sin enviar ningún paquete más. Una vez el emisor reciba una validación del primer paquete que envió, perteneciente al número 1 de 8 de la ventana deslizante, la ventana se deslizará abarcando 8 posiciones (su ancho de ventana definido), pero en este caso desde la 2 hasta la 9 y enviará la trama número 9 continuando a la espera de recibir más confirmaciones para poder seguir deslizándose y enviando las tramas siguientes. Figura 1.b).

tomando la decisión de reenviar la trama asignada al temporizador consumido. por si necesitase retransmitirlas. Fig 3. A cada uno de los segmentos pertenecientes al buffer (aquellos enviados y no validados). . De esta manera el temporizador expiraría. y deslizar así la ventana una unidad más. El receptor cuando detecta que una trama no es correcta. El paquete nunca llegaría al receptor. explicadas adelante. la descarta siempre. Si el paquete se pierde en el envío. El transmisor deberá guardar en un buffer todas aquellas tramas enviadas y no validadas (Unacknowledge packets). El número más pequeño de la ventana deslizante corresponde al primer paquete de la secuencia que no ha sido validado.Si el protocolo esperase una validación por cada trama enviada. no se enviarían más segmentos hasta recibir el reconocimiento del último paquete enviado. El tamaño del buffer debe ser igual o mayor al tamaño de la ventana. se les asigna un temporizador. Existen situaciones distintas a la anterior en las que el emisor es consciente que debe retransmitir tramas sin que el temporizador llegue a expirar. El número máximo de tramas enviadas sin validar es igual al ancho de la ventana. l receptor es capaz de reconocer una trama errónea mediante los códigos de Control de redundancia cíclica. mejorando el desempeño de la red. El temporizador es el límite de tiempo de espera para recibir la validación de un determinado paquete. este continuaría a la espera de recibir el paquete perdido. por que se han producido errores en la transmisión. El concepto de ventana deslizante hace que exista una continua transmisión de información. Sólo puede borrarlas del buffer al recibir su validación procedente del receptor. De esta forma el buffer podrá almacenar temporalmente todas las tramas enviadas sin validar. el emisor nunca recibiría validación. Figura 2.