HDLC

UCLV 1
Mapas Conceptuales para la enseñanza de Redes de Computadoras
Protocolo HDLC
El protocolo HDLC (High-level Data Link Control) se diseñó para proporcionar un mecanismo de
detección y corrección de errores de propósito general a los enlaces digitales, entendiendo como enlace
un único cable que conecta dos máquinas (enlace punto a punto), o varias máquinas (enlace
multipunto). Este protocolo es muy extenso, por lo que rara vez se utiliza la implementación completa;
lo normal es que se utilicen subconjuntos.
El protocolo HDLC es el más representativo de los protocolos orientados a bit y, quizás, el protocolo
más extendido de todos en las redes de área extensa (redes WAN).
Sus características están recogidas en varios documentos de la ISO:
ISO 3309: Estructura de la trama
ISO 4335: Elementos de procedimiento.
ISO 7809: Clases de procedimientos.
El estándar proporciona un gran número de funcionalidades de forma que cubra un amplio abanico de
aplicaciones. Se considera un ámbito que engloba a otros protocolos, como son: SDLC, LAP, LAPB,
LAPD, LAPX, LAPM y LLC.
Sus características más importantes son:
1. Permite una explotación dúplex del canal de enlace.
2. Las unidades de transferencia, denominadas tramas, pueden contener a la vez tanto datos como
informaciones de servicio (por ejemplo acuse de recibo).
3. Se puede realizar un envío continuo, sin necesidad de esperar acuse de recibo por trama. Un
acuse de recibo puede validar varias tramas a la vez.
4. Todas las tramas, sean o no de datos, están protegidas contra errores mediante una FCS (Frame
Check Sequence) o secuencia de verificación de trama.
5. Existe un único formato para todas las tramas, con un único delimitador de comienzo y final,
denominado bandera.
6. Aseguran la transmisión de elementos binarios y no de caracteres. Sobre el campo de
información no se realiza ninguna interpretación de su contenido, lo cual garantiza una total
transparencia con respecto a los códigos utilizados.
El protocolo HDLC permite gestionar dos tipos de enlaces: equilibrados y no equilibrados:
Un enlace no equilibrado, ya sea punto a punto o multipunto, tiene una estación primaria, que
controla el enlace y asegura el intercambio de datos entre ella, y una o varias estaciones
secundarias. La estación primaria es la responsable de la activación y desactivación del enlace
UCLV 2
Mapas Conceptuales para la enseñanza de Redes de Computadoras
además de su reposición o restablecimiento en caso de anomalías de funcionamiento. Las
tramas que emite la estación primaria se denominan comandos y las que recibe, respuestas.
Los enlaces equilibrados son de tipo punto a punto y sus estaciones son mixtas (primarias y
secundarias simultáneamente). Ambas estaciones tienen idénticas responsabilidades y las dos
pueden emitir tanto comandos de control como respuestas.
En el protocolo HDLC las transmisiones están organizadas en tramas, y todas las tramas, sean del tipo
que sean, poseen el mismo formato:
Como vemos en la figura, la trama consta de 5 o 6 campos (6 para las tramas con campo información)
y un mínimo de 32 bits entre los delimitadores (banderas). Veamos detenidamente el significado de
cada campo:
Bandera
8 bits
Dirección
8 bits
Control
8 bits
Información
N bits
Bandera
8 bits
El campo Bandera:
Todas las tramas comienzan y terminan con los campos delimitadores o banderas. Los otros campos
son identificables por su posición respecto a ellos. Estas banderas tienen una configuración binaria
única: 0 1 1 1 1 1 1 0.
Entre estos campos, hay que asegurarse que ningún otro contiene la misma secuencia de bits. Esto se
realiza mediante la técnica de inserción de cero:
- Entre dos banderas, el emisor inserta un cero después de cada sucesión de cinco unos consecutivos.
- El receptor elimina todo cero que siga inmediatamente a cinco unos consecutivos.
El campo Dirección:
Este campo identifica las estaciones primarias y secundarias involucradas en la transmisión de una
trama particular. Cada estación debe tener una dirección única. En configuraciones no equilibradas, los
campos de dirección de los comandos y de las respuestas contienen la dirección de la estación
secundaria. En configuraciones balanceadas, las tramas de tipo comando contienen la dirección del
destino mientras que las tipo respuesta contienen la dirección de la estación remitente.
El campo Control.
Define el tipo de trama y las funciones de ésta así como los números de secuencia necesarios para
llevar cuenta del flujo de datos entre las estaciones. Como todas las tramas tienen el mismo formato, es
UCLV 3
Mapas Conceptuales para la enseñanza de Redes de Computadoras
a través de este campo como se identifican cada tipo de trama. Existen tres formatos para este campo
que definen tres tipos de tramas:
Tramas de Información (tipo I). Son tramas que se utilizan para la transferencia normal de
datos.
Tramas de Supervisión (tipo S). Empleadas para acuse de recibo y para control del tipo de datos
en el enlace
Tramas no Numeradas (tipo U). Se utilizan también para tareas de control, como definir el tipo
de respuesta de una estación, su inicialización y su desconexión. También sirven para informar
de algunos errores de procedimiento y para transferir determinados tipos de datos.
El campo Información.
En este campo se incluyen los datos a transmitir, por lo tanto, solo está presente en las tramas I y en
alguna de tipo U que son las que portan datos. Contiene cualquier secuencia de bits cuyo número
también puede ser cualquiera (a excepción de las tramas tipo U).
El campo FCS (Frame Check Secuence).
Está formado por dos bytes (u octetos) que contienen la división de los bits que contiene la trama
(campos dirección, control e información) por un polinomio generador. Sirve para detectar y
posteriormente corregir, errores producidos en la transmisión de las tramas. La norma ISO DIS 3309
proporciona descripción detallada de como se realiza el cálculo de este campo que de forma
simplificada ya hemos visto en este documento en el apartado en que se describió el cálculo de los
Controles Cíclicos de errores (CRC).
El polinomio generador que se utiliza es el CRC-CCITT: x16 + x12 + x5 + 1 pero por convenio este
campo se puede extender a 4 bytes en cuyo caso el polinomio generador que se utiliza es:
x32 + x26 + x23+ x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 +x + 1.