En control del flujo, ventana deslizante es una ventana de duración variable que permite a un emisor transmitir un número de unidades de datos antes de que se reciba un ACK o antes de que ocurra un evento especificado.
Un ejemplo de ventana deslizante en transmisión de paquetes es uno en el que, después de que el emisor no reciba una confirmación del primer paquete transmitido, el emisor "desliza" la ventana, por ejemplo resetea la ventana, y envía un segundo paquete. Este proceso se repite un número de veces especificado antes de que el emisor interrumpa la transmisión.
Por ejemplo, suponiendo un tamaño de ventana fijo de paquetes, un emisor podría enviar paquetes antes de recibir una confirmación. Si la confirmación llega del receptor para el paquete , entonces el rango (ventana) de paquetes sin confirmación se desliza a , y el emisor puede enviar el paquete . De alguna forma, "deslizar" significa una operación FIFO.
El objetivo de la ventana deslizante es aumentar el throughput. En la práctica, los protocolos suelen adaptar el tamaño de la ventana a la velocidad del enlace y la saturación o congestión del momento.