Así es como funcionan las ventanas:
1. Ventanas de tamaño fijo :Tanto los dispositivos emisores como los receptores determinan un tamaño de ventana, generalmente especificado como una cantidad de paquetes de datos o bytes. Esto define la cantidad máxima de datos que se pueden transmitir en una ventana.
2. Ventana del remitente :El dispositivo emisor divide los datos en fragmentos del tamaño de una ventana y envía estos fragmentos de forma secuencial. Cada ventana está numerada para su identificación.
3. Ventana del receptor :El receptor mantiene su ventana, que inicialmente comienza en la misma posición que la ventana del remitente. El receptor envía "acuses de recibo" al remitente por cada ventana recibida con éxito.
4. Control de flujo :El tamaño de la ventana del receptor actúa como una señal para el remitente. Si la ventana del receptor está llena (su búfer está ocupado), deja de reconocer nuevas ventanas, lo que hace que el remitente detenga la transmisión temporalmente hasta que la ventana del receptor esté disponible. Esto evita abrumar al receptor con datos que no puede procesar con la suficiente rapidez.
5. Ventanas correderas :A medida que el receptor reconoce los datos recibidos, las ventanas del remitente y del receptor se deslizan o avanzan progresivamente para abrir espacios para que se envíen y procesen ventanas adicionales.
6. Numeración de secuencia :A cada paquete dentro de una ventana se le asigna un número de secuencia, lo que permite a ambos dispositivos realizar un seguimiento de los fragmentos de datos e identificar cualquier brecha, duplicación o pérdida.
7. Retransmisiones y manejo de errores :si el remitente no recibe un acuse de recibo para una ventana específica dentro de un tiempo de espera designado, retransmite la ventana correspondiente. Las ventanas, combinadas con la numeración secuencial, ayudan a gestionar eficazmente los errores.
El sistema de ventanas optimiza la comunicación de datos al evitar la transmisión de datos innecesaria cuando el dispositivo receptor no está listo o tiene capacidades de procesamiento limitadas. También permite un mejor control del flujo, manejo de errores y utilización del ancho de banda de red disponible.