HDLC (Control de enlace de datos de alto nivel)
Primero que todo HDLC es un protocolo de comunicación de datos punto a punto entre dos nodos basado en el ISO 3309. Forma parte de la base de las redes de comunicaciones X25. X25 es un protocolo para la transferencia de información usado especialmente en Iberpac, estableciendo circuitos virtuales, canales y enlaces. Proporciona recuperación de errores en caso de pérdida de paquetes de datos, fallos de secuencia y otros, por lo que ofrece una comunicación confiable entre el transmisor y el receptor.
Aunque HDLC es un protocolo muy viejo, se sigue utilizando en redes de todo el mundo. Todas se derivan del protocolo de enlace datos usado en la SNA de IBM, llamado SDLC (Synchonous Data Link Control Protocol, protocolo de control sincrónico de enlace de datos). Tras desarrollar SDLC, IBM lo sometió a ANSI y a la ISO para su aceptación como estándar de Estados Unidos e Internacional. ANSI lo modificó convirtiéndolo en ADCCP (Advanced Data Communication Control Procedure, Procedimiento avanzado de control de comunicaciones de datos) e ISO lo modificó para convertirlo en HDLC (High-level Data Link Control, Control de enlace de datos de alto nivel). Luego, el CCITT adoptó y modificó HDLC para su LAP (Link Access Procedure, Procedimniento de acceso de enlace) como parte del estándar de Interfaz X.25, pero después lo modificó nuevamente a LAPB para hacerlo más compatible con la versión posterior de HDLC.
HDLC usa transmisión síncrona. Todos los intercambios se realizan a través de tramas, HDLC utiliza un formato único de tramas que es válido para todos los posibles intercambios: datos e información de control.
El funcionamiento del HDLC implica tres fases.
Iniciación
La iniciación la puede solicitar cualquiera de los dos extremos transmitiendo una de entre las seis órdenes previstas para fijar el modo. Esta orden sirve para tres objetivos: 1. Se avisa al otro extremo sobre la solicitud de la iniciación. 2. Se especifica cual de los tres modos (NRM, ABM, ARM) se está solicitando. 3. Se especifica si se van a utilizar números de secuencia de 3 o 7 bits.
Si el otro extremo acepta la solicitud, se informará al extremo sobre esta contingencia mediante la transmisión de una trama de confirmación no numerada (UA, unnumbered acknowledged). Si la solicitud se rechaza, se envía una trama de modo desconectado (DM, disconnected mode).
Transferencia de datos
Cuando la iniciación se haya solicitado y haya sido aceptada, entonces se habrá establecido la conexión lógica. A partir de entonces, ambos lados pueden comenzar a enviar datos mediante tramas-I, comenzando con el número de secuencia igual a 0. Los campos N(S) y N(R) de una trama-I contendrán los números de secuencia con los que se lleva a cabo el control del flujo y de errores. La secuencia de tramas-I se numerará secuencialmente módulo 8 o módulo 128, dependiendo de si se utilizan respectivamente 3 o 7 bits, utilizando el campo N(S). El campo N(R) se utiliza para la confirmación de las tramas-I recibidas; de esta forma se facilita que el módulo HDLC indique al otro extremo el número de trama-I que se espera recibir.
Las tramas-S también se usan para controlar el flujo y los errores. La trama receptor preparado (RR, receive ready) confirma una trama-I recibida, indicando a la vez la siguiente trama-I que se espera recibir. La RR se usa cuando no hay tráfico en el sentido contrario (tramas-I) en el que se puedan incluir las confirmaciones. La trama receptor no preparado (RNR, receive not ready) confirma una trama-I, como la hace la RR, pero a la vez solicita a la entidad situada al otro extremo del enlace que suspenda la transmisión de tramas-I. Cuando la entidad que envió la RNR este de nuevo preparada, enviará una RR. La trama REJ sirve para iniciar el procedimiento ARQ con vuelta-atrás-N. Con ella se indica que la última trama-I recibida se ha rechazado y solicita la retransmisión de todas las tramas-I a partir de la N(R) indicada en la trama REJ. La trama de rechazo selectivo (SREJ, selective reject) se usa para solicitar la retransmisión de una única trama.
Desconexión
Cualquiera de las dos entidades situadas a ambos lados del enlace pueden iniciar la desconexión; tanto por iniciativa propia (si es que ha habido algún tipo de fallo) como tras la petición cursada por capas superiores. HDLC lleva a cabo la desconexión transmitiendo una trama de desconexión (DISC, disconnect). El otro extremo podrá aceptar dicha desconexión devolviendo una trama UA e informando al usuario de la capa 3 sobre el cierre de la conexión. Se puede perder cualquier trama-I pendiente de confirmarse, en ese caso su recuperación es responsabilidad de las capas superiores.
No hay comentarios:
Publicar un comentario