Protocolo HDLC
Last updated
Last updated
Características generales de HDLC ○ HDLC = Control de enlace de datos de alto nivel (High-level Data Link Control)
Protocolo de enlace que ofrece servicios orientados a conexión
Modos de funcionamiento
NRM: modo normal de respuesta (Normal Response Mode)
Modelo de comunicación half-duplex maestro-esclavo
Las estaciones esclavas sólo pueden transmitir cuando la estación maestra lo ordena específicamente
ABM: Modo equilibrado asíncrono (Asynchronous Balanced Mode)
Modelo de comunicación full-duplex computador-computador
Todas las estaciones tienen la misma categoría
Cualquier estación puede transmitir en cualquier momento a través del enlace
Formato de trama HDLC
Campos
Banderas de inicio y fin (flags)
Patrón de bits = 01111110
Utiliza inserción y eliminación de bits cero para garantizar que el patrón no aparece dentro de la secuencia de bits
Campo FCS: secuencia de comprobación de trama
CRC de 16 bits que se calcula usando el generador polinómico: x16 + x12 + x5 + 1
Campo dirección (Address)
En modo NRM: especifica la dirección del esclavo
En modo ABM: en conexiones ABM punto a punto, el campo dirección se pone a valor 11111111 (dirección de difusión)
Campo Control. Especifica el tipo de trama e información adicional (número de secuencia, número de confirmación, bit P/F, etc.)
Tipos de tramas HDLC ○ Formato del campo CONTROL
Formato del campo CONTROL en tramas extendidas
Tramas que transportan datos de la capa superior
Números de secuencia, N(S)
Se utiliza para control de errores y flujo
Pueden ser de 3 bits (conexión normal) o de 7 bits (conexión extendida)
Nº secuencia de 3 bits → 8 identificadores distintos (valores 0 a 7)
Nº secuencia de 7 bits → 128 identificadores distintos (valores 0 a 127)
Números de confirmación, N(R)
Se utiliza para enviar confirmaciones superpuestas (técnica de piggy-backing)
Puesto que la conexión es de tipo full-duplex, se puede adjuntar la confirmación a los datos que viajan en sentido contrario
En caso de no existir tráfico en sentido contrario, las confirmaciones deben enviarse en tramas de confirmación explícitas
El número de confirmación contiene el identificador de la siguiente trama que se espera recibir
Bit P/F (Pregunta/Final)
Se utiliza sobre todo en modo NRM: el maestro pone el bit P/F a 1 para indicar al esclavo que debe confirmar la trama
También se usa cuando no se recibe la confirmación de una trama y expira el temporizador
Tramas de tipo RR (Receptor Ready, receptor preparado)
Es una trama de confirmación
Se utiliza para confirmar tramas de datos, en caso de no existir tráfico en sentido contrario
El número de confirmación, N(R), contiene el identificador de la siguiente trama que se espera recibir
Tramas de tipo REJ (Reject, rechazo)
Es una trama de confirmación negativa, para implementar el mecanismo RQ continuo con retroceso-N
Cuando el receptor recibe una trama errónea, devuelve una trama REJ, indicando en el nº de confirmación,N(R), el identificador de la siguiente trama que espera recibir.
El receptor descartará todas las tramas recibidas a continuación, hasta recibir la trama indicada en el campo N(R)
El emisor debe retransmitir todas las tramas, a partir la trama indicada en el campo N (R)
Tramas de tipo SREJ (Selective Reject, rechazo selectivo)
Es una trama de confirmación negativa para implementar el mecanismo RQ continuo con repetición selectiva
Cuando el receptor recibe una trama de información errónea, devuelve una trama SREJ, indicando en el nº de confirmación, N(R), el identificador de la trama que debe retransmitir el emisor
El emisor retransmite únicamente la trama especificada en el campo N(R)
Tramas de tipo RNR (Receptor Not Ready, receptor no preparado)
Se utiliza para controlar el flujo: permite al receptor indicar al emisor que suspenda temporalmente el envío de tramas
Esta trama confirma todas las tramas de información anteriores a la trama indicada en el número de confirmación, N(R), pero sin incluir ésta
Al recibir una trama RNR, el emisor debe detener inmediatamente el envío de nuevas tramas de información
Cuando el receptor está en condiciones de recibir nuevas tramas de información, debe enviar una trama supervisora de tipo RR.