Protocolos de control del enlace de datos

La necesidad del control del enlace de datos se evidencia a partir de los siguientes requisitos y objetivos para la comunicación efectiva de datos entre dos estaciones conectadas directamente:

Sincronización de trama: los datos se envían en bloques denominados tramas, cuyo principio y fin deben ser identificables. Este aspecto se abordó brevemente cuando se estudiaron las tramas síncronas.

Control de flujo: la estación emisora no debe enviar tramas a una velocidad superior a la que la estación receptora pueda absorberlas.

Control de errores: se debe corregir cualquier error en los bits provocado por el sistema de transmisión.

Direccionamiento: en una línea multipunto, como por ejemplo una red de área local (LAN), se debe identificar a las dos estaciones involucradas en una transmisión.

Datos y control sobre el mismo enlace: por lo general, no se desea tener un canal de comunicaciones independiente para la información de control. En consecuencia, el receptor deberá ser capaz de diferenciar entre la información de control y los datos.

Gestión del enlace: el inicio, mantenimiento y finalización de un intercambio de datos precisa un alto grado de coordinación y cooperación entre las estaciones. Se necesitan, pues, una serie de procedimientos para llevar a cabo la gestión de este intercambio.

CONTROL DE FLUJO

El control de flujo es una técnica utilizada para asegurar que una entidad de transmisión no sobre cargue a la entidad receptora con una excesiva cantidad de datos. Generalmente, la entidad receptora reserva una zona de memoria temporal para la transferencia. Cuando se reciben los datos, el receptor debe realizar cierta cantidad de procesamiento antes de pasar los datos al software de las capas superiores. En ausencia de procedimientos para el control de flujo, la memoria temporal del receptor se podría llenar y desbordarse mientras éste se encuentra procesando datos previos.

CONTROL DE FLUJO MEDIANTE PARADA Y ESPERA

El procedimiento más sencillo para controlar el flujo, denominado control de flujo mediante parada y espera, funciona de la siguiente manera. Una entidad origen transmite una trama. Tras la recepción, la entidad destino indica su deseo de aceptar otra trama mediante el envío de una confirmación de la trama que acaba de recibir. El origen debe esperar a recibir la confirmación antes de proceder a la transmisión de la trama siguiente. De este modo, el destino puede parar el flujo de los datos sin más que retener las confirmaciones. Este procedimiento funciona adecuadamente y, de hecho, es difícil mejorar sus prestaciones cuando el mensaje se envía usando un número reducido de tramas de gran tamaño. No obstante, es frecuente que el origen segmente la información en bloques pequeños, transmitiendo los datos en varias tramas. Esto se hace así por las siguientes razones:

El tamaño de la memoria temporal del receptor puede ser limitado.

Cuanto más larga sea la transmisión es más probable que haya errores, precisándose en tal caso la retransmisión de la trama completa. Si se usan tramas más pequeñas, los errores se detectarán antes y, en consecuencia, se necesitará retransmitir una cantidad de datos menor.

En un medio compartido, como por ejemplo una LAN, es frecuente que no se permita que una estación ocupe el medio durante un periodo de tiempo largo, evitándose así que las otras estaciones transmisoras sufran grandes retardos.

CONTROL DE FLUJO MEDIANTE VENTANA DESLIZANTE

Veamos cómo funcionaría este procedimiento para dos estaciones, A y B, conectadas mediante un enlace full-duplex. La estación B reserva memoria temporal suficiente para almacenar W tramas. Por tanto, B puede aceptar W tramas, permitiéndosele a A enviar este mismo número de tramas sin tener que esperar ninguna confirmación. Para saber qué tramas se han confirmado, cada una de ellas se etiqueta con un número de secuencia. B confirma una trama mediante el envío de una confirmación que incluye el número de secuencia de la siguiente trama que se espera recibir. Esta confirmación informa también, implícitamente, acerca de que B está preparado para recibir las W tramas siguientes, comenzando por la de número especificado. Este esquema se puede utilizar también para confirmar varias tramas simultáneamente. Por ejemplo, B podría recibir las tramas 2, 3 y 4, pero retener la confirmación hasta que llegase la trama 4. Al devolver una confirmación con número de secuencia 5, B confirma simultáneamente las tramas 2, 3 y 4. A mantiene una lista con los números de secuencia que se le permite transmitir y B mantiene una lista con los números de secuencia que está esperando recibir... Cada una de estas listas se puede considerar como una ventana de tramas, de ahí que este procedimiento se denomine control de flujo mediante ventana deslizante (sliding-window flow control).

CONTROL DE ERRORES

El control de errores hace referencia a los mecanismos necesarios para la detección y la corrección de errores que aparecen en una transmisión de tramas.

Tramas perdidas: se produce cuando una trama enviada no llega al otro extremo. Así, por ejemplo, una ráfaga de ruido puede dañar una trama de manera que el receptor no se percate siquiera de su transmisión.

Tramas dañadas: ocurre cuando una trama se recibe con algunos bits erróneos (modificados durante la transmisión).

Las técnicas más usuales para el control de errores se basan en algunas o todas las siguientes aproximaciones:

Detección de errores: discutida en el Capítulo 6.

Confirmaciones positivas: el destino devuelve una confirmación positiva por cada trama recibida con éxito, libre de errores.

Retransmisión tras la expiración de un temporizador: la fuente retransmite las tramas que no se han confirmado tras un periodo de tiempo predeterminado.
Confirmación negativa y retransmisión: el destino devuelve una confirmación negativa para aquellas tramas en las que se detecta la ocurrencia de errores. El origen retransmitirá de nuevo dichas tramas.

Estos mecanismos se denominan genéricamente solicitud de repetición automática (ARQ, Automatic Repeat reQuest); el objetivo de un esquema ARQ es convertir un enlace de datos no fiable en fiable. Hay tres variantes ARQ estandarizadas:

ARQ con parada y espera.

ARQ con vuelta atrás N.

ARQ con rechazo selectivo.

CONTROL DEL ENLACE DE DATOS DE ALTO NIVEL (HDLC)

El protocolo de control del enlace de datos más importante es HDLC (High-level Data Link Control, ISO 3009, ISO 4335). No sólo porque es ampliamente utilizado, sino también porque es la base de otros importantes protocolos de control del enlace, en los que se usan los mismos o similares formatos y los mismos procedimientos que los empleados en HDLC.

CARACTERÍSTICAS BÁSICAS

Para satisfacer las demandas de diversas aplicaciones, HDLC define tres tipos de estaciones, dos configuraciones del enlace y tres modos de operación para la transferencia de los datos. Los tres tipos de estaciones son:

Estación primaria: es la responsable de controlar el funcionamiento del enlace. Las tramas generadas por la estación primaria se denominan órdenes.

Estación secundaria: funciona bajo el control de la estación primaria. Las tramas generadas por la estación secundaria se denominan respuestas. La primaria establece un enlace lógico independiente con cada una de las secundarias presentes en la línea.

Estación combinada: combina las características de las primarias y de las secundarias, pudiendo generar tanto órdenes como respuestas.

Las dos posibles configuraciones del enlace son:

Configuración no balanceada: está formada por una estación primaria y una o más secundarias. Permite tanto transmisión full-duplex como half-duplex.

Configuración balanceada: consiste en dos estaciones combinadas. Permite igualmente transmisión full-duplex y half-duplex.

Los tres modos de transferencia de datos son:

Modo de respuesta normal (NRM, Normal Response Mode): se utiliza en la configuración no balanceada. La estación primaria puede iniciar la transferencia de datos hacia la secundaria, pero la secundaria sólo puede transmitir datos en base a respuestas a las órdenes emitidas por la primaria.

Modo balanceado asíncrono (ABM, Asynchronous Balanced Mode): se utiliza en la configuración balanceada. En este modo, cualquier estación combinada puede iniciar la transmisión sin necesidad de recibir permiso por parte de la otra estación combinada.


 Modo de respuesta asíncrono (ARM, Asynchronous Response Mode): se utiliza en la configuración no balanceada. La estación secundaria puede iniciar la transmisión sin tener permiso explícito de la primaria. La estación primaria sigue teniendo la responsabilidad del funcionamiento de la línea, incluyendo la iniciación, la recuperación de errores y la desconexión lógica.

Comentarios

Entradas populares