Protocolos de la Capa de Enlace de Datos
Funciones Principales
Las principales funciones de la capa de enlace de datos son:
- Control de enlace de datos
- Control de acceso al medio
Las tareas relacionadas con el control del enlace son:
- La creación de tramas
- El control de flujo
- El control de errores
Tramado (Framing)
El nivel de enlace de datos requiere que los bits se empaqueten en tramas y se distinga una trama de la siguiente. El tramado implica la identificación del inicio y final de un bloque de información dentro de una corriente de bits. Supone la existencia de mecanismos de sincronización (en la capa física) para identificar los bits o bytes (transmisión asíncrona o síncrona). Las tramas pueden ser de longitud fija o variable, y el campo de información puede estar formado por cualquier número de bits o un número entero de caracteres de determinada longitud (32 bits, octetos, etc.).
Métodos de Tramado
- Cuentas de caracteres: La trama va precedida de información sobre su longitud. Es muy sensible a errores de sincronización o transmisión.
- Violaciones de código: Aprovecha símbolos de la codificación de línea que no se usan para transmitir información, marcando los inicios y finales de la trama.
- Caracteres de control: Combinaciones especiales de caracteres sirven para delimitar tramas.
- Banderas (flags): Combinaciones especiales de bits…
- Comprobaciones CRC: Permiten sincronizar tramas de longitud fija que no contienen delimitadores.
Protocolos Orientados a Caracteres
Las tramas consisten en un número entero de bytes (caracteres ASCII), todos los componentes son múltiplos de byte.
- Cabecera: Direcciones destino y origen, información de control.
- Cola: Redundancia para detección o corrección de errores.
- Información: Contiene cualquier combinación de bits que se representará mediante caracteres ASCII.
Las tramas se delimitan mediante unos caracteres especiales (flags) que indican el inicio y final de la trama y que no aparecen dentro del campo de información.
Caso Particular: Sistemas de Transmisión Asíncrona
Usando caracteres ASCII para transmitir caracteres imprimibles. Los octetos con valor hexadecimal menor de 0x20 no son imprimibles.
- Inicio: DLE (data link escape) + STX (start of text) = 0x10, 0x02.
- Final: DLE + ETX (end of text) = 0x10, 0x02.
- Escape: DLE = 0x10.
PPP (Point-to-Point Protocol)
Sistema de tramado válido sobre sistemas asíncronos, síncronos a bit y síncronos a carácter.
- Inicio y final: 0x7E = 01111110
- Escape: 0x7D = 01111101
GFP (Procedimiento Genérico de Tramado)
Se ha diseñado para operar sobre capas físicas de bytes síncronos.
Estados del proceso de sincronización:
- Hunt state: Examina 4 bytes para comprobar el CRC.
- Pre-sync state: Un PLI tentativo indica el inicio de la siguiente trama.
- Sync state: Estado normal sincronizado.
Control de Flujo
Conjunto de procedimientos utilizados para restringir la cantidad de datos que el emisor puede enviar antes de esperar una confirmación.
Control de Errores
En la capa de enlace, el control de errores se basa en técnicas ARQ (Automatic Repetition Request) consistentes en solicitar la retransmisión de una trama considerada errónea.
Ventana Deslizante
Para mejorar la eficiencia del protocolo de parada y espera, hay que permitir la transmisión de datos sin esperar confirmaciones. Se utiliza un buffer de tramas para poder repetir las transmisiones en caso de errores. A medida que se transmiten las tramas por primera vez, se insertan en el buffer y se borran cuando se reciben las confirmaciones. Se utilizan números de secuencia para identificar las tramas, ya que hay más de una trama activa en transmisión o confirmación.
Ventana del Emisor
Rango de tramas que pueden enviarse sin esperar confirmación. La primera trama de la ventana corresponde a la trama más antigua enviada de la cual aún se espera confirmación. El otro extremo de la ventana corresponde a la última trama que se podrá enviar antes de parar la transmisión.
Ventana del Receptor
Contiene el rango de tramas que pueden llegar sin ser rechazadas.
Retroceso N
- Ventana de transmisión: El emisor dispone de una ventana con capacidad para Sw tramas que podrá transmitir sin esperar confirmación.
- Confirmaciones: Cuando recibe una confirmación, todas las tramas anteriores a la confirmada y esta se eliminan de la ventana, que avanza las posiciones pertinentes.
- Time-out: Cuando el reloj de la trama más antigua expira, se repiten todas las tramas enviadas y pendientes sin confirmación.
- Ventana recepción: El receptor dispone de una ventana con capacidad para una trama.
- Confirmaciones: Si la trama recibida es corrupta o no es la esperada, se rechaza en silencio. Si la trama recibida es la esperada, envía una confirmación indicando la siguiente trama esperada. La ventana se desplaza una posición.
Repetición Selectiva
- Ventana de transmisión: El emisor dispone de una ventana con capacidad para Sw tramas que podrá transmitir sin esperar confirmación.
- Confirmaciones: Cuando recibe una confirmación, todas las tramas anteriores a la confirmada y esta se eliminan de la ventana, que avanza las posiciones pertinentes. Si recibe un NAck, reenvía la trama solicitada.
- Time-out: Cuando el reloj de una trama expira, se repite esta trama.
- Ventana recepción: El receptor dispone de una ventana con capacidad para varias tramas. Si la trama recibida no es Rn pero forma parte de la ventana, se acepta y envía NAck si no lo había hecho. Si la trama recibida es Rn, o una que permite formar una zona contigua a Rn, se desplaza la ventana. Si se produce un error, solo se repite la trama perdida.
Piggybacking
Los algoritmos anteriores se han descrito suponiendo que un host genera la información y la otra solo responde. Cuando el flujo de datos es bidireccional, se pueden eliminar muchas tramas de control si esta información aparece en las cabeceras de las tramas de información.
Control de Flujo y Ventana Deslizante
Los protocolos ARQ de ventana deslizante pueden usarse para el control de flujo con Ws igual al buffer disponible en el receptor. El transmisor nunca podrá enviar más de Ws tramas. Los ACKs que permiten desplazar la ventana equivalen a permisos para transmitir más. Los ACKs también pueden espaciarse para regular la tasa de transmisión.
HDLC (High-Level Data Link Control)
Proporciona un conjunto de estándares para operar un enlace de datos sobre capas físicas con sincronismo de bit. Es un protocolo orientado a bit sobre enlaces punto a punto y multipunto que implementa los mecanismos ARQ descritos anteriormente. Proviene del protocolo SDLC (Synchronous Data Link Control) desarrollado por IBM. De él se han derivado los protocolos LAPB.
Modos de Operación
- Normal Response Mode (NRM): Se utiliza en configuraciones no balanceadas punto a punto o punto a multipunto.
- Asynchronous Balanced Mode (ABM): Se utiliza en configuraciones punto a punto full-duplex donde las dos estaciones actúan como pares.
Formato de Trama HDLC
- Bandera: Define los límites de las tramas.
- Dirección: Identifica la estación secundaria (1 o más octetos). En el modo ABM, las estaciones pueden actuar de primaria o secundaria, y la dirección se modifica de acuerdo a su comportamiento.
- Control: Determina el tipo (información, supervisión, no numeradas) de la trama (1 o 2 octetos).
- Información: Contiene los datos de usuario. La longitud no está estandarizada, pero las implementaciones imponen un máximo.
- FCS: CRC de 16 o 32 bits.
PPP (Point-to-Point Protocol)
Es uno de los protocolos más utilizados para conectar los ordenadores personales a Internet a través de un proveedor de servicios de Internet. La línea telefónica proporciona los servicios de nivel físico y PPP los de enlace de datos.
Características del Protocolo PPP
- Define el formato de trama que se intercambian los dispositivos.
- Define cómo dos dispositivos pueden negociar el establecimiento del enlace y el intercambio de datos.
- Define cómo se encapsulan los datos de red en una trama de nivel de enlace.
- Define cómo pueden autenticarse dos dispositivos entre sí.
- Proporciona múltiples servicios de nivel de red y soporta diversos protocolos de nivel de red.
- Proporciona conexiones sobre múltiples enlaces.
- Proporciona configuraciones de direcciones de red.
Formato de Trama PPP
- Bandera: La misma que en HDLC, pero PPP es orientado a byte y HDLC a bit.
- Dirección: Siempre dirección de difusión 11111111, se puede decidir omitirlo durante la negociación.
- Control: Siempre 11000000. No es necesario, ya que no se puede realizar control de flujo, se puede decidir omitirlo.
- Protocolo: Identifica el tipo de información que transporta, datos de usuario u otra información, puede reducirse la longitud a 1 byte.
- Carga útil: Longitud máxima negociable de 1500 bytes. No hay campo para indicar longitud, por tanto, debe llenarse.
- FCS: CRC estándar de dos o 4 bytes.
Protocolos Relacionados con PPP
- LCP (Link Control Protocol): Es el responsable de establecer, mantener, configurar y finalizar los enlaces. También proporciona mecanismos de negociación de opciones.
- PAP (Password Authentication Protocol): Es un protocolo de autenticación en dos fases, el usuario envía identificación y contraseña, y el sistema comprueba los datos y autoriza o no el acceso.
- CHAP (Challenge Handshake Authentication Protocol): Con este protocolo, la contraseña se mantiene secreta.
- AP (Authentication Protocol): Protocolo de autenticación genérico.
- NCP (Network Control Protocol): Protocolo de control de red genérico.
Eficiencia de un Protocolo
Para calcularla, hace falta saber la media del tiempo total necesario para entregar correctamente una trama al destinatario.