Nivel de Enlace

Existen distintos tipos de protocolos. Los protocolos de alto nivel definen cómo se comunican las aplicaciones, mientras que los protocolos de bajo nivel determinan cómo se transmiten las señales. Además de estos, hay protocolos intermedios que se encargan de establecer sesiones, controlar errores, entre otros.

Enlace de datos

El nivel de enlace de datos se encarga de la gestión de errores y del acceso controlado al medio de transmisión. La tarea que lleva a cabo el nivel físico es aceptar un flujo de datos en bruto y transmitirlo al destinatario.

La información recibida puede no ser la misma que la emitida, bien porque se hayan perdido bits o porque lleguen con otros valores. Será el nivel de enlace el encargado de detectar y corregir los errores.

Para conseguir este objetivo, divide la información en pequeños bloques de datos, cada uno de los cuales lleva asociado un código detector de error y un número de secuencia. Estos bloques se envían de forma secuencial y, si alguno tiene errores, se reenvía. De esta forma, no es necesario reenviar todo el mensaje cuando parte de la información es errónea.

Para señalizar esta estructura de la información en bloques, es necesario que los datos transmitidos lleven algún tipo de marca que permita detectar el inicio y fin de un bloque. Normalmente, esto se consigue añadiendo información extra.

A toda la información requerida por el protocolo de enlace para su uso interno (n.º de secuencia, delimitadores, etc.) se le denomina información de control. Los protocolos del nivel de enlace tienen dos modelos básicos:

  • Modelo Maestro-Esclavo: (estación primaria-secundaria) En este modelo, la estación esclava solo transmite cuando es requerida o tiene permiso de la estación primaria.
  • Modelo Peer-to-Peer: Cada estación tiene responsabilidad tanto en los envíos como en el establecimiento y liberación de la conexión.

Funciones

El nivel de enlace tiene un conjunto de funciones específicas:

  • Proporcionar un servicio bien definido a su nivel inmediatamente superior (Red).
  • Detectar y solucionar errores.
  • División de la información en bloques denominados frames (tramas).
  • Control de flujo: evitando saturar a un receptor más lento.
  • Control del diálogo: necesario en medios compartidos o canales semidúplex.

Entramado (Framing)

La capa de red pasa paquetes a la capa de enlace para que estos sean encapsulados y enviados a la capa física. Se denomina entramado al proceso que determina la composición de la trama (número de campos, tamaño, función, etc.).

  • Protocolo orientado al carácter: Utiliza transmisiones codificadas normalmente en ASCII, reservando códigos especiales para el control.
  • Protocolos de bloque: El receptor sabe que no encontrará el carácter de fin de trama dentro de los datos, ya que se indica el número de caracteres del usuario.
  • Protocolos orientados al bit: Independientes del código. Utilizan técnicas como el bit stuffing (insertar un 0 después de cinco 1 seguidos) para evitar confusiones con las banderas (flags) de inicio y fin.

Estructura de la Trama

CabeceraInformaciónFin
Guión (Flag)DirecciónControlDatosRedundanciaGuión (Flag)
  • Guión: Señala el comienzo y el fin de la trama.
  • Dirección: Dirección física del receptor.
  • Control: Contiene información para el control de la transmisión (tipo de trama, confirmaciones, número de secuencia).
  • Datos: Provienen del nivel de red.
  • Redundancia: Se utiliza para el control de errores.

Control de flujo

Técnicas para gestionar la velocidad entre emisor y receptor:

  • Envío y espera: El emisor envía una trama y espera la confirmación antes de enviar la siguiente.
  • Superposición (Piggybacking): En comunicaciones bidireccionales, se incluyen confirmaciones dentro de las tramas de datos para optimizar el ancho de banda.

Gestión del medio y Direccionamiento

En medios compartidos, el subnivel MAC (Medium Access Control) regula quién puede transmitir. El direccionamiento permite que cada estación identifique las tramas dirigidas a ella, utilizando direcciones físicas (como los 48 bits en Ethernet).

Servicios del Nivel de Enlace

  • No orientado a la conexión y no fiable: Sin confirmaciones.
  • No orientado a la conexión y fiable: Se requiere confirmación por cada trama.
  • Orientado a la conexión y fiable: Establece conexión previa, numera las tramas y garantiza la entrega ordenada.

Códigos de control de errores

  • Paridad simple: Añade un bit para verificar si el número de unos es par o impar.
  • Paridad bidimensional: Añade bits de paridad horizontal y vertical.
  • Códigos de redundancia cíclica (CRC): Basados en aritmética polinomial, son altamente efectivos para detectar errores.

Protocolo PPP (Point-to-Point)

Diseñado para acceso a Internet, permite la detección de errores, autenticación y negociación de parámetros de conexión en arquitecturas TCP/IP.