4.4.2 Ventana Deslizante

 

Cuenta con tres protocolos. los cuales son bidireccionales. Los tres difieren entre ellos en términos de eficiencia, complejidad y requerimientos de búfer. En ellos cada trama de salida contiene un número de secuencia que va desde 0 hasta algún número máximo. Por lo general este valor máximo es 2- 1, por lo que el número de secuencia encaja perfectamente en un campo de bits. 

La esencia de todos los protocolos de ventana deslizante es que, en cualquier instante, el emisor mantiene un conjunto de números de secuencia que corresponde a las tramas que tiene permitido enviar. Se dice que estas tramas caen dentro de la ventana emisora. De manera similar, el receptor mantiene una ventana receptora correspondiente al conjunto de tramas que tiene permitido aceptar. La ventana del emisor y la del receptor no necesitan tener los mismos límites inferior y superior, ni siquiera el mismo tamaño. En algunos protocolos las ventanas son de tamaño fijo, pero en otros pueden aumentar o reducir su tamaño con el transcurso del tiempo, a medida que se envían y reciben las tramas.

Aunque estos protocolos dan a la capa de enlace de datos mayor libertad en cuanto al orden en el que puede enviar y recibir tramas, hemos conservado decididamente el requerimiento de que el protocolo debe entregar los paquetes a la capa de red del destino en el mismo orden en que se pasaron a la capa de enlace de datos de la máquina emisora. 

Los números de secuencia en la ventana del emisor representan las tramas que se han enviado, o que se pueden enviar pero aún no se ha confirmado su recepción. Cada vez que llega un paquete nuevo de la capa de red, se le asigna el siguiente número secuencial más alto y el extremo superior de la ventana avanza en uno. Cuando llega una confirmación de recepción, el extremo inferior avanza en uno. De esta manera, la ventana mantiene en forma continua una lista de tramas sin confirmación de recepción.

Debido a que las tramas que están en la ventana del emisor se pueden perder o dañar en tránsito, el emisor debe mantener todas estas tramas en su memoria para su posible retransmisión. Por lo tanto, si el tamaño máximo de la ventana es n, el emisor necesita n búfers para contener las tramas con confirmación de recepción. Si la ventana llega a crecer a su tamaño máximo, la capa de enlace de datos emisora deberá hacer que la capa de red se detenga hasta que se libere otro búfer.

 La ventana de la capa de enlace de datos receptora corresponde a las tramas que se puede aceptar. Toda trama que caiga dentro de la ventana se colocará en el búfer del receptor. Cuando se reciba una trama cuyo número de secuencia sea igual al extremo inferior de la ventana, se pasará a la capa de red y la ventana se desplazará una posición. Cualquier trama que caiga fuera de la ventana se desechará.En todos estos casos se genera una confirmación de recepción subsiguiente, de manera que el emisor pueda averiguar cómo proceder.