Protocolo de Ventana Deslizante - Capa de Enlace

En los protocolos elementales de la capa de enlace de datos, las tramas de datos se transmiten en una sola dirección. Pero en la mayoría de las situaciones prácticas existe la necesidad de transmitir datos en ambas direcciones, es decir, full-dúplex. Algunas de las formas de lograr esto son:

• Tener dos instancias de uno de los protocolos anteriores, cada uno de los cuales debe usar un enlace separado para el tráfico de datos simplex. Cada enlace se compone de un canal de ida para datos y un canal de retorno. En ambos casos se desperdicia la capacidad del canal de retorno casi por completo.

• Utilizar el mismo enlace para datos en ambas direcciones, dado que por lo general el canal de retorno tiene la misma capacidad que el de ida. El mismo método puede ser mejorado si se agrega al encabezado un campo que indique si la trama es de datos o de confirmación de recepción, lo cual permitiría al receptor saber de qué tipo es. Esto con el propósito de que en la misma trama de salida que se envía se agregue la confirmación de recepción de la trama anteriormente recibida. Esto se conoce como superposición y descartaría el envío de tramas de confirmación, con lo que se aprovecha mejor el ancho de banda disponible en el canal. Pero existe el problema del temporizador: si el emisor no recibe la confirmación antes de que expire el tiempo, volverá a reenviar la trama. Esto hace que el receptor deba revisar si saldrá rápido un nuevo paquete y usará la superposición, o bien, tendrá que enviar una trama de confirmación de recepción dado que el nuevo paquete tardará en salir más tiempo del requerido.

Protocolos de ventana deslizante

Características:
• Bidireccionales
• Cada trama de salida contiene un número de secuencia que va desde 0 hasta algún número máximo, el cual por lo general es 2^n-1. A diferencia del resto de las versiones, el protocolo de ventana deslizante de parada y espera utiliza n = 1 y restringe los números de secuencia de 0 y 1.
• El emisor tiene una ventana emisora que mantiene a un conjunto de números de secuencia correspondientes a las tramas que tiene permitido enviar.
• El receptor tiene una ventana receptora que mantiene al conjunto de tramas que tiene permitido aceptar.
• No se requieren los mismos límites y tamaños entre ambas ventanas.
• Dependiendo del protocolo, las ventanas pueden tener tamaño fijo o dinámico.
• Se puede conservar el requerimiento de orden de entrega de tramas: la que primero salió de la capa de enlace emisora, primero se entrega a la capa de red receptora.
• Se puede conservar el requerimiento de que el canal físico de comunicación sea de tipo alambre.
• Una nueva trama toma el siguiente número secuencial más alto, mientras que las confirmaciones de recepción suman uno al número secuencial más bajo.
• El emisor necesita n búferes para mantener las tramas sin confirmación de recepción en su memoria para su posible retransmisión (por si se pierde o daña la trama).
Cualquier trama que caiga fuera de la ventana se desechará.
Ventana de 1 significa que la capa de enlace de datos sólo acepta tramas en orden.


Protocolo de ventana deslizante de un bit

Protocolo de ventana deslizante que posee las siguientes características:
• Tamaño máximo de ventana de 1.
• Utiliza parada y espera.
• La capa de enlace de datos del receptor verifica la trama para saber si es un duplicado.
• Si la trama es la esperada, se pasa a la capa de red y la ventana del receptor se recorre hacia arriba.
• El campo de confirmación de recepción contiene el número de la última trama recibida sin error. Si este número concuerda con el de secuencia de la trama que está tratando de enviar el emisor, éste sabe que la misma ha llegado correctamente y pasa a obtener el siguiente paquete de su capa de red. Si el número de secuencia no concuerda, debe seguir tratando de enviar la misma trama. Cada vez que se recibe una trama, también se regresa una.


Bibliografía:
• Redes de Computadoras - Tanenbaum, 5ta Edición.
• Resúmenes universitarios propios de las clases.

Entradas más populares de este blog

Capa de Enlace de Datos: Detección y Corrección de Errores

La Capa de Enlace de Datos: Diseño y Funciones