2. 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.
3. 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 denominados ACK
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.
5. Permite al emisor transmitir múltiples paquetes
de información, sin recibir confirmación de la
recepción correcta de los mismos.
6. 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.
7. Se lleva a cabo mediante los siguientes pasos:
Piggybacking: Técnica de retardar
temporalmente los ACK para que puedan
viajar en el siguiente paquete de datos.
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.
8. El protocolo no esperara a la validación por paquete,
esto hace que exista una continua transmisión de
información.
9. Guarda en un buffer todos los paquetes
enviados y no validados 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.
10. El buffer asigna un temporizador a cada uno de los paquetes
transmitidos.
El temporizador limita el tiempo de esperar para recibir la
validación de cada paquete.
En caso de finalizar el tiempo sin éxito se reenviará el
paquete.
11. Permite al receptor recibir paquetes
desordenados.
El receptor los ordenas siguiendo una lista
secuencial consecutiva.
Almacena los paquetes temporalmente en
un buffer hasta que se termine la
transmisión y este en posesión de todos.
12. Cuanto el receptor detecta un paquete no valido lo descarta
siempre.
Para ello lleva realiza una de las siguientes estrategias:
Estrategia de Retransmisión continua: El receptor rechaza todos
los paquetes recibidos a partir de detectar uno con error y envía
una señal (NACK n). Luego el emisor comienza la retransmisión
de los paquetes descartados por el receptor. Este método no es
demasiado efectivo ya que se pierde mucho tiempo de
transmisión.
Estrategia de retransmisión selectiva: El receptor descarta el
paquete erróneo y acepta los posteriores almacenándolos en el
buffer de recepción. También envía una señal NACK n al
detectar uno con error. Posteriormente el emisor comienza la
retransmisión del paquete fallido y lo conectará con los
paquetes almacenados en el buffer. Este método es efectivo y
optimiza la retransmisión.