Control de enlace de datos de alto nivel
Control de enlace de datos de alto nivel (HDLC) es un protocolo de capa de enlace de datos síncrono transparente de código orientado a bits desarrollado por la Organización Internacional de Normalización (ISO). El estándar para HDLC es ISO/IEC 13239:2002.
HDLC ofrece servicios tanto orientados a la conexión como sin conexión.
HDLC se puede usar para conexiones punto a multipunto a través de los modos maestro-esclavo originales Modo de respuesta normal (NRM) y Modo de respuesta asíncrona (ARM), pero ahora se usan raramente; ahora se usa casi exclusivamente para conectar un dispositivo a otro, usando el modo balanceado asíncrono (ABM).
Historia
HDLC se basa en el protocolo SDLC de IBM, que es el protocolo de capa 2 para la arquitectura de red de sistemas (SNA) de IBM. Fue ampliado y estandarizado por la UIT como LAP (Procedimiento de acceso a enlaces), mientras que ANSI nombró a su versión esencialmente idéntica ADCCP.
La especificación HDLC no especifica la semántica completa de los campos del marco. Esto permite que se deriven de él otros estándares totalmente compatibles, y desde entonces han aparecido derivados en innumerables estándares. Fue adoptado en la pila de protocolos X.25 como LAPB, en el protocolo V.42 como LAPM, en la pila de protocolos Frame Relay como LAPF y en la pila de protocolos ISDN como LAPD.
Los estándares ISO originales para HDLC son los siguientes:
- ISO 3309-1979 – Estructura del marco
- ISO 4335-1979 – Elementos de procedimiento
- ISO 6159-1980 - Clases de procedimiento desequilibradas
- ISO 6256-1981 – Clases equilibradas de procedimiento
ISO/IEC 13239:2002, el estándar actual, reemplazó todas estas especificaciones.
HDLC fue la inspiración para el protocolo IEEE 802.2 LLC y es la base del mecanismo de tramas que se usa con el PPP en líneas síncronas, como lo usan muchos servidores para conectarse a una WAN, más comúnmente a Internet.
Se utiliza una versión similar como canal de control para E-carrier (E1) y líneas telefónicas multicanal SONET. Cisco HDLC utiliza técnicas de tramas HDLC de bajo nivel, pero agrega un campo de protocolo al encabezado HDLC estándar.
Encuadre
Las tramas HDLC se pueden transmitir a través de enlaces de comunicación serie síncronos o asíncronos. Esos enlaces no tienen ningún mecanismo para marcar el comienzo o el final de un cuadro, por lo que se debe identificar el principio y el final de cada cuadro. Esto se hace usando una secuencia única de bits como delimitador de marco, o bandera, y codificando los datos para garantizar que la secuencia de bandera nunca se vea dentro de un marco. Cada cuadro comienza y termina con un delimitador de cuadro. Un delimitador de cuadro al final de un cuadro también puede marcar el comienzo del cuadro siguiente.
Tanto en los enlaces síncronos como en los asíncronos, la secuencia de banderas es binaria "01111110" o hexadecimal 0x7E, pero los detalles son bastante diferentes.
Encuadre sincrónico
Debido a que una secuencia de bandera consta de seis bits de 1 consecutivos, se codifican otros datos para garantizar que nunca contengan más de cinco bits de 1 seguidos. Esto se hace mediante el relleno de bits: cada vez que aparecen cinco bits 1 consecutivos en los datos transmitidos, los datos se pausan y se transmite un bit 0.
El dispositivo receptor sabe que esto se está haciendo y, después de ver cinco bits 1 seguidos, se elimina un bit 0 siguiente de los datos recibidos. Si, en cambio, el sexto bit es 1, esto es una bandera (si el séptimo bit es 0) o un error (si el séptimo bit es 1). En este último caso, se aborta el procedimiento de recepción de la trama, que se reiniciará la próxima vez que se vea una bandera.
Este relleno de bits tiene un segundo propósito, el de garantizar una cantidad suficiente de transiciones de señal. En los enlaces síncronos, los datos se codifican con NRZI, de modo que un bit 0 se transmite como un cambio en la señal en la línea y un bit 1 se envía como sin cambio. Por lo tanto, cada bit 0 brinda una oportunidad para que un módem receptor sincronice su reloj a través de un bucle de sincronización de fase. Si hay demasiados bits 1 seguidos, el receptor puede perder la cuenta. El relleno de bits proporciona un mínimo de una transición cada seis bits durante la transmisión de datos y una transición cada siete bits durante la transmisión de una bandera.
Cuando no se transmiten tramas en un enlace síncrono simplex o full-duplex, se transmite continuamente un delimitador de trama en el enlace. Esto genera una de dos formas de onda continuas, dependiendo del estado inicial:
La especificación HDLC permite que el bit 0 al final de un delimitador de fotogramas se comparta con el inicio del siguiente delimitador de fotogramas, es decir, "011111101111110". Algunos hardware no soportan esto.
Para comunicación semidúplex o multipunto, donde varios transmisores comparten una línea, un receptor en la línea verá 1 bit inactivo continuo en el período entre tramas cuando ningún transmisor esté activo.
HDLC transmite bytes de datos con el bit menos significativo primero (que no debe confundirse con el orden little-endian, que se refiere a la ordenación de bytes dentro de un campo de varios bytes).
Encuadre asíncrono
Cuando se utiliza la comunicación en serie asíncrona, como los puertos serie estándar RS-232, el relleno de bits de estilo síncrono es inapropiado por varias razones:
- No se necesita un poco de relleno para asegurar un número adecuado de transiciones, ya que los bits de inicio y parada proporcionan que,
- Debido a que los datos están codificados por NRZ para la transmisión, en lugar de codificados por NRZI, la forma de onda codificada es diferente,
- RS-232 envía bits en grupos de 8, haciendo añadir trozos individuales muy incómodos, y
- Por la misma razón, sólo es necesario código especial bandera bytes; no es necesario preocuparse acerca del patrón de bits atrayendo múltiples bytes.
En su lugar, el encuadre asíncrono utiliza "transparencia de octeto de control", también llamado "relleno de bytes" o "relleno de octetos". El octeto de límite de trama es 01111110, (0x7E en notación hexadecimal). Un 'octeto de escape de control' tiene el valor 0x7D (secuencia de bits '10111110', ya que RS-232 transmite primero el bit menos significativo). Si cualquiera de estos dos octetos aparece en los datos transmitidos, se envía un octeto de escape, seguido del octeto de datos original con el bit 5 invertido. Por ejemplo, el byte 0x7E se transmitiría como 0x7D 0x5E ("10111110 01111010"). Otros valores de octetos reservados (como XON o XOFF) se pueden escapar de la misma manera si es necesario.
La "secuencia de cancelación" 0x7D 0x7E finaliza un paquete con una secuencia de relleno de bytes incompleta, lo que obliga al receptor a detectar un error. Esto se puede usar para abortar la transmisión del paquete sin posibilidad de que el receptor interprete el paquete parcial como válido.
Estructura
El contenido de un cuadro HDLC se muestra en la siguiente tabla:
Bandera | Dirección | Control | Información | FCS | Bandera |
---|---|---|---|---|---|
8 bit | 8 o más bits | 8 o 16 bits | Longitud variable, 8×n bits | 16 o 32 bits | 8 bits |
Tenga en cuenta que el indicador final de un cuadro puede ser (pero no tiene que ser) el indicador inicial (inicio) del siguiente cuadro.
Los datos generalmente se envían en múltiplos de 8 bits, pero solo algunas variantes lo requieren; otros teóricamente permiten alineaciones de datos en límites que no sean de 8 bits.
La secuencia de verificación de tramas (FCS) es un CRC-CCITT de 16 bits o un CRC-32 de 32 bits calculado sobre los campos Dirección, Control e Información. Proporciona un medio por el cual el receptor puede detectar errores que pueden haberse inducido durante la transmisión de la trama, como bits perdidos, bits invertidos y bits extraños. Sin embargo, dado que los algoritmos utilizados para calcular el FCS son tales que la probabilidad de que ciertos tipos de errores de transmisión pasen desapercibidos aumenta con la longitud de los datos que se verifican en busca de errores, el FCS puede limitar implícitamente el tamaño práctico de la trama.
Si el cálculo del FCS del receptor no coincide con el del remitente, lo que indica que la trama contiene errores, el receptor puede enviar un paquete de confirmación negativo al remitente o no enviar nada. Después de recibir un paquete de reconocimiento negativo o de esperar un paquete de reconocimiento positivo, el remitente puede retransmitir la trama fallida.
El FCS se implementó porque muchos de los primeros enlaces de comunicación tenían una tasa de error de bits relativamente alta, y el FCS podía calcularse fácilmente mediante un circuito o software simple y rápido. Los esquemas de corrección de errores de reenvío más efectivos ahora son ampliamente utilizados por otros protocolos.
Tipos de estaciones (computadoras) y modos de transferencia de datos
El control de enlace de datos síncrono (SDLC) se diseñó originalmente para conectar una computadora con varios periféricos a través de un bus multipunto. El "modo de respuesta normal" original es un modo maestro-esclavo en el que la computadora (o terminal principal) otorga a cada periférico (terminal secundario) permiso para hablar por turno. Debido a que todas las comunicaciones son hacia o desde el terminal principal, las tramas incluyen solo una dirección, la del terminal secundario; al terminal primario no se le asigna una dirección. Hay una distinción entre comandos enviados por el principal a un secundario y respuestas enviadas por un secundario al principal, pero esto no se refleja en la codificación; los comandos y las respuestas son indistinguibles excepto por la diferencia en la dirección en la que se transmiten.
Elmodo de respuesta normal permite que el enlace secundario a principal se comparta sin contención, ya que el principal otorga permiso a los secundarios para transmitir uno a la vez. También permite la operación sobre enlaces de comunicación semidúplex, siempre que el primario sea consciente de que no puede transmitir cuando ha dado permiso a un secundario.
El modo de respuesta asíncrono es una adición de HDLC para usar en enlaces full-duplex. Mientras conserva la distinción primario/secundario, permite que el secundario transmita en cualquier momento. Por lo tanto, debe haber algún otro mecanismo para garantizar que varios secundarios no intenten transmitir al mismo tiempo (o solo un secundario).
Modo balanceado asíncrono agrega el concepto de un terminal combinado que puede actuar como primario y secundario. Desafortunadamente, este modo de operación tiene algunas sutilezas de implementación. Si bien a los marcos enviados más comunes no les importa si están en un comando o en un marco de respuesta, a algunos esenciales sí (en particular, la mayoría de los marcos no numerados y cualquier marco con el bit P/F establecido), y el campo de dirección de un marco recibido debe ser examinado para determinar si contiene un comando (la dirección recibida es la nuestra) o una respuesta (la dirección recibida es la del otro terminal).
Esto significa que el campo de dirección no es opcional, incluso en enlaces punto a punto donde no es necesario eliminar la ambigüedad del par con el que se habla. Algunas variantes de HDLC amplían el campo de dirección para incluir direcciones de origen y de destino, o un bit de comando/respuesta explícito.
Operaciones HDLC y tipos de cuadros
Se pueden distinguir tres tipos fundamentales de tramas HDLC:
- Marcos de información, o I-frames, transportar datos de usuario desde la capa de red. También pueden incluir información de control de flujos y errores en los datos.
- Marcos de supervisión, o S-frames, se utilizan para el control de flujo y error siempre que el retroceso es imposible o inapropiado, como cuando una estación no tiene datos para enviar. S-frames no tienen campos de información.
- Marcos no numerados, o U-frames, se utilizan para diversos fines diversos, incluida la gestión de enlaces. Algunos U-frames contienen un campo de información, dependiendo del tipo.
Campo de control
El formato general del campo de control es:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|
N(R) Recibir secuencia no. | P/F | N(S) Enviar secuencia no. | 0 | I-frame | ||||
N(R) Recibir secuencia no. | P/F | Tipo | 0 | 1 | S-frame | |||
Tipo | P/F | Tipo | 1 | 1 | U-frame |
También hay formas extendidas (dos bytes) de tramas I y S. Nuevamente, el bit menos significativo (más a la derecha en esta tabla) se envía primero.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
N(R) Recibir secuencia no. | P/F | N(S) Enviar secuencia no. | 0 | Marco I ampliado | |||||||||||||
N(R) Recibir secuencia no. | P/F | 0 | 0 | 0 | 0 | Tipo | 0 | 1 | Extended S-frame |
Broca P/F
Poll/Final es un solo bit con dos nombres. Se llama Poll cuando es parte de un comando (establecido por la estación principal para obtener una respuesta de una estación secundaria) y Final cuando es parte de una respuesta (establecido por la estación secundaria para indicar una respuesta o el final de la transmisión). En todos los demás casos, el bit es claro.
El bit se usa como un token que se pasa de un lado a otro entre las estaciones. Solo debe existir un token a la vez. El secundario solo envía una Final cuando ha recibido una Encuesta del primario. El primario solo envía una encuesta cuando ha recibido una respuesta final del secundario, o después de un tiempo de espera que indica que el bit se ha perdido.
- En la NRM, la posesión de la ficha electoral también otorga el permiso secundario para transmitir. La secundaria establece el F-bit en su último marco de respuesta para renunciar a la autorización para transmitir. (Es equivalente a la palabra "Over" en el procedimiento de voz de radio.)
- En ARM y ABM, el bit P fuerza una respuesta. En estos modos, la secundaria no necesita esperar a que una encuesta transmita, por lo que el bit final puede ser incluido en el primero respuesta después de la encuesta.
- Si no se recibe respuesta a un P bit en un período razonable de tiempo, la estación primaria vuelve a salir y envía P de nuevo.
- El bit P/F está en el corazón de lo básico Retransmisión de puestos de control esquema que se requiere para implementar HDLC; todas las otras variantes (como el marco REJ S) son opcionales y sólo sirven para aumentar la eficiencia. Cada vez que una estación recibe un bit P/F, puede suponer que cualquier marco que haya enviado antes de transmitir por última vez el bit P/F y aún no reconocido nunca llegará, y así debe ser retransmitido.
Cuando se opera como una estación combinada, es importante mantener la distinción entre los bits P y F, porque puede haber dos ciclos de puntos de control operando simultáneamente. Un bit P que llega en un comando desde la estación remota no responde a nuestro bit P; sólo lo es un bit F que llega a una respuesta.
N(R), el número de secuencia de recepción
Tanto los marcos I como S contienen un número de secuencia de recepción N(R). N(R) proporciona un acuse de recibo positivo para la recepción de I-frames desde el otro lado del enlace. Su valor es siempre el primer cuadro aún no recibido; reconoce que se han recibido todas las tramas con valores N(S) hasta N(R)−1 (módulo 8 o módulo 128) e indica el N(S) de la siguiente trama que espera recibir.
N(R) funciona de la misma manera ya sea como parte de un comando o una respuesta. Una estación combinada solo tiene un espacio de número de secuencia.
N(S), el número de secuencia de la trama enviada
Esto se incrementa para I-frames sucesivos, módulo 8 o módulo 128. Dependiendo de la cantidad de bits en el número de secuencia, hasta 7 o 127 I-frames pueden estar esperando reconocimiento en cualquier momento.
I-Frames (datos de usuario)
Losmarcos de información, o marcos I, transportan datos de usuario desde la capa de red. Además, también incluyen información de control de errores y flujo respaldada en datos. Los subcampos en el campo de control definen estas funciones.
El bit menos significativo (primero transmitido) define el tipo de trama. 0 significa un cuadro I. Excepto por la interpretación del campo P/F, no hay diferencia entre un cuadro I de comando y un cuadro I de respuesta; cuando P/F es 0, las dos formas son exactamente equivalentes.
Cuadros S (control)
Los marcos de supervisión, o 'S-frames', se utilizan para controlar el flujo y los errores siempre que la superposición sea imposible o inapropiada, como cuando una estación no tiene datos para enviar. Los S-frames en HDLC no tienen campos de información, aunque algunos protocolos derivados de HDLC usan campos de información para el "rechazo multiselectivo".
El campo de control del marco S incluye un "10" indicando que es un S-frame. A esto le sigue un tipo de 2 bits, un bit de sondeo/final y un número de secuencia de 3 bits. (O un campo de relleno de 4 bits seguido de un número de secuencia de 7 bits).
Los primeros 2 bits (menos significativos) significan que es un S-frame. Todas las tramas S incluyen un bit P/F y un número de secuencia de recepción como se describe anteriormente. Excepto por la interpretación del campo P/F, no hay diferencia entre un marco S de comando y un marco S de respuesta; cuando P/F es 0, las dos formas son exactamente equivalentes.
Recibir lista (RR)
(feminine)- Valor de bits = 00 (0x00 para coincidir por encima del tipo de tabla de bits de campo)
- Indicar que el remitente está listo para recibir más datos (cancelará el efecto de un RNR anterior).
- Envíe este paquete si necesita enviar un paquete pero no tengo el marco para enviar.
- Una estación primaria puede enviar esto con el conjunto P-bit para solicitar datos de una estación secundaria.
- Un terminal secundario puede utilizar esto con el sistema F-bit para responder a una encuesta si no tiene datos para enviar.
Recibir no lista (RNR)
(feminine)- Valor de bits = 01 (0x04 para coincidir por encima del tipo de tabla de bits de campo)
- Reconozca algunos paquetes pero no solicite más ser enviado hasta nuevo aviso.
- Se puede utilizar como RR con P bit set para solicitar el estado de una estación secundaria
- Se puede utilizar como RR con F bit set para responder a una encuesta si la estación está ocupada.
Rechazar (REJ)
- Valor de bits = 10 (0x08 para coincidir por encima del tipo de tabla de bits de campo)
- Solicita la remisión inmediata a partir de N(R).
- Enviada en respuesta a una brecha de número de secuencia observada; por ejemplo, después de ver I1/I2/I3/I5, envía REJ4.
- Opcional para generar; una implementación de trabajo puede usar sólo RR.
Rechazo selectivo (SREJ)
- Valor de bits = 11 (0x0c para coincidir por encima del tipo de tabla de bits de campo)
- Solicita la remisión de sólo el marco N(R).
- No soportado por todas las variantes HDLC.
- Opcional para generar; una implementación de trabajo puede utilizar sólo RR, o sólo RR y REJ.
Marcos en U
Los marcos no numerados, o marcos en U, se utilizan principalmente para la gestión de enlaces, aunque algunos se utilizan para transferir datos de usuario. Intercambian información de gestión y control de sesión entre dispositivos conectados, y algunos U-frames contienen un campo de información, utilizado para información de gestión del sistema o datos de usuario. Los primeros 2 bits (11) significan que es un U-frame. Los cinco bits de tipo (2 antes del bit P/F y 3 bits después del bit P/F) pueden crear 32 tipos diferentes de U-frame. En unos pocos casos, la misma codificación se usa para diferentes cosas como un comando y una respuesta.
Configuración de modo
Los distintos modos se describen en § Configuraciones de enlaces. Brevemente, hay dos modos no operativos (modo de inicialización y modo desconectado) y tres modos operativos (respuesta normal, respuesta asíncrona y modos equilibrados asíncronos) con números de secuencia de 3 o 7 bits (extendidos).
- Respuesta del modo desconectado (DM)
- Cuando el secundario está desconectado (el estado predeterminado en el encendido), envía esta respuesta genérica a cualquier encuesta (encuadre encargado con el conjunto de la bandera de la encuesta) excepto un comando de configuración de modo aceptable. También puede dar una respuesta FRMR a un comando de configuración de modo inaceptable.
- Respuesta no numerada (AU)
- Esta es la respuesta de la secundaria a un comando de configuración de modo aceptable, indicando que ahora está en el modo solicitado.
- Modo de configuración... (SNRM, SARM, SABM)
- Coloque la secundaria en el modo especificado, con números de secuencia de 3 bits (1 campo de control de bytes). La secundaria reconoce con UA. Si el secundario no implementa el modo, responde con DM o FRMR.
- Set... modo extendido (SNRME, SARME, SABME)
- Coloque la secundaria en el modo especificado, con números de secuencia de 7 bits (2 campo de control de bytes).
- Modo de configuración (SM)
- Set de modo genérico, nuevo en ISO/IEC 13239, utilizando un campo de información para seleccionar parámetros. ISO/IEC 13239 agregó muchas opciones adicionales a HDLC, incluyendo números de secuencia de 15 y 31 bits, que sólo se pueden seleccionar con este comando.
- Desconexión (DISC)
- Este comando hace que el secundario reconozca con UA y desconecte (entrar modo desconectado). Cualquier marco no reconocido se pierde.
- Solicitud de desconexión (RD) respuesta
- Esta respuesta pide al primario que envíe un comando DISC. The primary should do so promptly, but may delay enough to ensure all pending frames are acknowledged.
- Establecer el modo de inicialización (SIM)
- Este comando raramente aplicado se utiliza para realizar alguna inicialización específica secundaria, como descargar firmware. Lo que sucede en el modo de inicialización no se especifica de otra manera en el estándar HDLC.
- Solicitud de respuesta al modo de inicialización (RIM)
- Esto pide a la primaria que envíe SIM e inicialice la secundaria. Envió en lugar de DM si la secundaria requiere inicialización.
Transferencia de información
Estos marcos pueden usarse como parte de la transferencia normal de información.
- Información no numerada (UI)
- Este marco (comandado o respuesta) comunica datos de usuario, pero sin reconocimiento ni remisión en caso de error.
- UI con control de cabecera (UIH)
- Este marco (comendado o respuesta), una adición ISO/IEC 13239 y rara vez utilizado, es como la interfaz de usuario, pero también excluye la protección de los derechos de autor. Sólo un prefijo configurable de longitud ("cabeza") del marco está cubierto por el polinomio CRC; no se detectan errores en el resto del marco.
- Unnumbered poll (UP) command
- Este comando solicita una respuesta de la secundaria. Con el bit set de la encuesta, actúa como cualquier otro marco de encuesta, sin el reconocimiento que debe ser incluido en el marco I o S. Con la encuesta poco clara, tiene un significado especial en el modo de respuesta normal: la secundaria podrá responder, aunque no haya recibido el bit de la encuesta. Esto raramente se utiliza en HDLC, pero se utilizó en el SDLC original de IBM como sustituto de la falta de modo de respuesta asincrónica; donde el canal de comunicación podría manejar respuestas simultáneas, el primario enviaría periódicamente UP a la dirección de emisión para recoger cualquier respuesta pendiente.
Recuperación de errores
- Rechazo del marco (FRMR) respuesta
- La respuesta de FRMR contiene una descripción del marco inaceptable, en un formato estandarizado. Los primeros 1 o 2 bytes son una copia del campo de control rechazado, los siguientes 1 o 2 contienen los números de secuencias actuales del secundario (y una bandera indicando que el marco era una respuesta, aplicable sólo en modo equilibrado), y los siguientes 4 o 5 bits son banderas de error que indican la razón del rechazo. La secundaria repite la misma respuesta de FRMR a cada encuesta hasta que el error sea aclarado por un comando de configuración de modo o RSET. Las banderas de error son:
- W: el tipo de marco (campo de control) no se entiende o no se implementa.
- X: el tipo de marco no se entiende con un campo de información no vacío, pero uno estaba presente.
- Y: el marco incluyó un campo de información que es mayor que el secundario puede aceptar.
- Z: el marco incluía un número de secuencia no válido N(R), uno que no está entre el valor previamente recibido y el número de secuencia más alto transmitido. (Este error no puede ser aclarado recibiendo RSET, pero puede ser aclarado por envío RSET.)
- V: el marco incluyó un número de secuencia de envío inválido N(S), mayor que el último número reconocido más el tamaño de la ventana de transmisión. Este error sólo es posible si se ha negociado un tamaño de ventana de transmisión menor al máximo.
- Las banderas de error son normalmente acolchadas con 0 bits a un límite de 8 bits, pero HDLC permite marcos que no son múltiples de un byte largo.
- Reset (RSET) comando
- El comando RSET hace que un secundario reajuste su número de secuencia recibida para que el siguiente marco esperado sea secuencia número 0. Esta es una posible alternativa para enviar un nuevo comando de configuración de modo, que reajusta ambos números de secuencia. Se reconoce con UA, como un comando de configuración de modo.
Descubrimiento de pares
- Identificación de intercambio (XID)
- Un comando XID incluye un campo de información que especifica las capacidades de la primaria; la secundaria responde con una respuesta XID que especifica sus capacidades. Esto se hace normalmente antes de enviar un comando de configuración de modo. Systems Network Architecture definió un formato para el campo de la información, en el que la parte más significativa del primer byte es clara (0), pero las implementaciones HDLC normalmente implementan la variante definida en ISO 8885, que tiene la parte más significativa del primer byte set (1).
- TEST
- Un comando TEST es simplemente un comando de ping para propósitos depuradores. La carga útil del comando TEST se devuelve en la respuesta TEST.
Definido en otros estándares
Hay varios marcos U que no forman parte de HDLC, pero están definidos en otros estándares relacionados.
- (NR0, NR1, NR2, NR3)
- Los comandos y respuestas "no conservados" están garantizados por el estándar HDLC para estar disponibles para otros usos.
- Sin conexión (AC0, AC1)
- Estos se definen en el estándar de control lógico del enlace IEEE 802.2.
- Configure (CFGR)
- Este comando fue definido en SDLC para depurar. Tenía una carga útil de 1 byte que especificaba un modo de prueba no estándar para la secundaria. Incluso los números desactivaron el modo, mientras que los números extraños lo permitieron. Una carga útil de 0 discapacitados todos los modos de prueba. El secundario normalmente reconoció un comando configurado haciendo eco en respuesta.
- Respuesta de Beacon (BCN)
- Esta respuesta se definió en SDLC para indicar un fallo de comunicaciones. Un secundario que no recibió ningún marco durante mucho tiempo comenzaría a enviar una corriente de respuestas beacon, permitiendo que se localice una falla unidireccional. Tenga en cuenta que ISO/IEC 13239 asigna UIH la misma codificación que BCN.
Configuraciones de enlaces
Las configuraciones de enlaces se pueden categorizar como:
- Desequilibrado, que consta de un terminal primario, y uno o más terminales secundarios.
- Saldo, que consta de dos terminales pares.
Las tres configuraciones de enlace son:
- Modo de respuesta normal (NRM) es una configuración desequilibrada en la que sólo el terminal primario puede iniciar la transferencia de datos. Las terminales secundarias transmiten datos únicamente en respuesta a comandos del terminal primario. El terminal primario encuesta cada terminal secundario para darle la oportunidad de transmitir cualquier dato que tenga.
- Modo de respuesta asincrónica (ARM) es una configuración desequilibrada en la que los terminales secundarios pueden transmitir sin permiso del terminal primario. Sin embargo, todavía hay una terminal primaria distinguida que conserva la responsabilidad de la inicialización de líneas, recuperación de errores y desconexión lógica.
- Asincrónico Modo equilibrado (ABM) es una configuración equilibrada en la que cualquiera de las estaciones puede inicializar, supervisar, recuperarse de errores y enviar marcos en cualquier momento. No hay relación maestro/esclavo. Los DTE (equipos terminales de datos) y DCE (equipo de determinación de circuitos de datos) se tratan como iguales. El iniciador del modo equilibrado asincrono envía un SABM.
Una configuración de enlace adicional es Modo desconectado. Este es el modo en el que se encuentra una estación secundaria antes de que la primaria la inicialice, o cuando se desconecta explícitamente. En este modo, el secundario responde a casi todos los cuadros que no sean un comando de configuración de modo con un "Modo desconectado" respuesta. El propósito de este modo es permitir que el primario detecte de manera confiable que un secundario se apague o se reinicie de otra manera.
Repertorio de comandos y respuestas HDLC
El conjunto mínimo requerido para la operación es:
- Comandos: I, RR, RNR, DISC y uno de SNRM, SARM o SABM
- Respuestas: I, RR, RNR, UA, DM, FRMR
Operaciones básicas
- La inicialización puede ser solicitada por ambos lados. Cuando el primario envía uno de los seis comandos de modo, es:
- Señala el otro lado que se solicita la inicialización
- Especifica el modo, NRM, ABM, ARM
- Especifica si los números de secuencia de 3 o 7 bits están en uso.
El módulo HDLC del otro extremo transmite la trama (UA) cuando se acepta la solicitud. Si se rechaza la solicitud, envía una trama de modo de desconexión (DM).
Extensiones funcionales (opciones)
- Para circuitos conmutados
- Comandos: ADD – XID
- Respuestas: ADD – XID, RD
- Para dos direcciones simultáneas " respuestas son ADD – REJ
- Para comandos de transmisión de marco único " respuestas: ADD – SREJ
- Para Comandos de Información > Respuestas: ADD – Ul
- Para inicialización
- Comandos: ADD – SIM
- Respuestas: ADD – RIM
- For Group Polling
- Comandos: ADD – UP
- Extended Addressing
- Suprímase los marcos de respuesta I
- Borrar los marcos del comando I
- Números extendidos
- Para el reinicio del modo (sólo ABM) Los comandos son: ADD – RSET
- Data Link Test Commands & Responses son: ADD – TEST
- Solicito desconexión. Las respuestas son ADD – RD
- FCS de 32 bits
Repertorio de comandos y respuestas HDLC
Tipo de marco | Nombre | Comando/ Respuesta | Descripción | Info | Formato C-Field | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||
Información(I) | C/R | Datos de intercambio de usuarios | N(R) | P/F | N(S) | 0 | ||||||
Supervisión (S) | Recibir listo (RR) | C/R | Reconocimiento positivo | Listo para recibir I-frame N(R) | N(R) | P/F | 0 | 0 | 0 | 1 | ||
No está listo (RNR) | C/R | Reconocimiento positivo | No está listo para recibir | N(R) | P/F | 0 | 1 | 0 | 1 | |||
Rechazo (REJ) | C/R | Reconocimiento negativo | Retransmitir a partir de N(R) | N(R) | P/F | 1 | 0 | 0 | 1 | |||
Rechazo selectivo (SREJ) | C/R | Reconocimiento negativo | Retransmitir sólo N(R) | N(R) | P/F | 1 | 1 | 0 | 1 |
Fotogramas sin numerar
Las tramas no numeradas se identifican porque los dos bits inferiores son 1. Con el indicador P/F, eso deja 5 bits como tipo de trama. Aunque se utilizan menos de 32 valores, algunos tipos tienen diferentes significados según la dirección en la que se envían: como comando o como respuesta. La relación entre el comando DISC (desconexión) y la respuesta RD (solicitud de desconexión) parece suficientemente clara, pero la razón para hacer numéricamente el comando SARM igual a la respuesta DM es oscura.
Nombre | Comando/ Respuesta | Descripción | Info | Formato C-Field | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
Establecer el modo de respuesta normal SNRM | C | Modo de configuración | Número de secuencia de 3 bits | 1 | 0 | 0 | P | 0 | 0 | 1 | 1 |
SNRM extended SNRME | C | Modo de configuración; extendido | Use 7 bit secuencia número | 1 | 1 | 0 | P | 1 | 1 | 1 | 1 |
Establecer el modo de respuesta asincrónica SARM | C | Modo de configuración | Número de secuencia de 3 bits | 0 | 0 | 0 | P | 1 | 1 | 1 | 1 |
SARM extendida SARME | C | Modo de configuración; extendido | Use 7 bit secuencia número | 0 | 1 | 0 | P | 1 | 1 | 1 | 1 |
Establecer modo equilibrado asincrónico SABM | C | Modo de configuración | Número de secuencia de 3 bits | 0 | 0 | 1 | P | 1 | 1 | 1 | 1 |
SABM extended SABME | C | Modo de configuración; extendido | Use 7 bit secuencia número | 0 | 1 | 1 | P | 1 | 1 | 1 | 1 |
Modo de configuración SM | C | Modo de configuración, genérico | Nuevo en ISO 13239 | 1 | 1 | 0 | P | 0 | 0 | 1 | 1 |
Establecer modo de inicialización SIM | C | Iniciar la función de control de enlace en la estación dirigida | 0 | 0 | 0 | P | 0 | 1 | 1 | 1 | |
Solicitud de modo de inicialización RIM | R | Iniciación necesaria | Solicitud SIM comando | 0 | 0 | 0 | F | 0 | 1 | 1 | 1 |
Desconexión DISC | C | Terminar la conexión lógica de enlace | Future I and S frames return DM | 0 | 1 | 0 | P | 0 | 0 | 1 | 1 |
Solicitud de desconexión RD | R | Petición DISC Comando | 0 | 1 | 0 | F | 0 | 0 | 1 | 1 | |
Unnumbered acknowledgment UA | R | Reconocer la aceptación de uno de los comandos de configuración. | 0 | 1 | 1 | F | 0 | 0 | 1 | 1 | |
Modo de desconexión DM | R | Responder en modo desconectado | Modo necesario | 0 | 0 | 0 | F | 1 | 1 | 1 | 1 |
Información no numerada UI | C/R | Datos no reconocidos | Tiene una carga útil | 0 | 0 | 0 | P/F | 0 | 0 | 1 | 1 |
UI con control de cabecera UIH | C/R | Datos no reconocidos | Nuevo en ISO 13239 | 1 | 1 | 1 | P/F | 1 | 1 | 1 | 1 |
Encuestas no numeradas Arriba | C | Solía solicitar información de control | 0 | 0 | 1 | P | 0 | 0 | 1 | 1 | |
Reset RSET | C | Se utiliza para la recuperación | Resets N(R) pero no N(S) | 1 | 0 | 0 | P | 1 | 1 | 1 | 1 |
Identificación cambiaria XID | C/R | Se utiliza para solicitar/deportar capacidades | 1 | 0 | 1 | P/F | 1 | 1 | 1 | 1 | |
Prueba TEST | C/R | Intercambio de campos de información idénticos para pruebas | 1 | 1 | 1 | P/F | 0 | 0 | 1 | 1 | |
Frame reject FRMR | R | Presentación de informes sobre el marco inaceptable | 1 | 0 | 0 | F | 0 | 1 | 1 | 1 | |
No merecido 0 NR0 | C/R | No estandarizado | Para uso de aplicaciones | 0 | 0 | 0 | P/F | 1 | 0 | 1 | 1 |
No merecía 1 NR1 | C/R | No estandarizado | Para uso de aplicaciones | 1 | 0 | 0 | P/F | 1 | 0 | 1 | 1 |
No merecía 2 NR2 | C/R | No estandarizado | Para uso de aplicaciones | 0 | 1 | 0 | P/F | 1 | 0 | 1 | 1 |
No se conservan 3 NR3 | C/R | No estandarizado | Para uso de aplicaciones | 1 | 1 | 0 | P/F | 1 | 0 | 1 | 1 |
Ack sin conexión, seq 0 AC0 | C/R | No es parte de HDLC | Extensión IEEE 802.2 LLC | 0 | 1 | 1 | P/F | 0 | 1 | 1 | 1 |
Ack sin conexión, seq 1 AC1 | C/R | No es parte de HDLC | Extensión IEEE 802.2 LLC | 1 | 1 | 1 | P/F | 0 | 1 | 1 | 1 |
Configuración para la prueba CFGR | C/R | No es parte de HDLC | Era parte de SDLC | 1 | 1 | 0 | P/F | 0 | 1 | 1 | 1 |
Beacon BCN | R | No es parte de HDLC | Era parte de SDLC | 1 | 1 | 1 | F | 1 | 1 | 1 | 1 |
Formato C-Field | Comando | Respuesta | Formato C-Field | Comando | Respuesta | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |||||
1 | 1 | 0 | 0 | P/F | 0 | 0 | 0 | UI | 1 | 1 | 1 | 0 | P/F | 0 | 1 | 0 | (no utilizado) | |||
1 | 1 | 0 | 0 | P/F | 0 | 0 | 1 | SNRM | 1 | 1 | 1 | 0 | P/F | 0 | 1 | 1 | CFGR | |||
1 | 1 | 0 | 0 | P/F | 0 | 1 | 0 | DISC | RD | 1 | 1 | 1 | 0 | P/F | 1 | 0 | x | (no utilizado) | ||
1 | 1 | 0 | 0 | P/F | 0 | 1 | 1 | SM | 1 | 1 | 1 | 0 | P/F | 1 | 1 | x | AC0-AC1 | |||
1 | 1 | 0 | 0 | P/F | 1 | 0 | 0 | Arriba | 1 | 1 | 1 | 1 | P/F | 0 | 0 | 0 | SARM | DM | ||
1 | 1 | 0 | 0 | P/F | 1 | 0 | 1 | (no utilizado) | 1 | 1 | 1 | 1 | P/F | 0 | 0 | 1 | RSET | |||
1 | 1 | 0 | 0 | P/F | 1 | 1 | 0 | UA | 1 | 1 | 1 | 1 | P/F | 0 | 1 | 0 | SARME | |||
1 | 1 | 0 | 0 | P/F | 1 | 1 | 1 | TEST | 1 | 1 | 1 | 1 | P/F | 0 | 1 | 1 | SNRME | |||
1 | 1 | 0 | 1 | P/F | 0 | x | x | NR0-NR3 | 1 | 1 | 1 | 1 | P/F | 1 | 0 | 0 | SABM | |||
1 | 1 | 0 | 1 | P/F | 1 | x | x | (no utilizado) | 1 | 1 | 1 | 1 | P/F | 1 | 0 | 1 | XID | |||
1 | 1 | 1 | 0 | P/F | 0 | 0 | 0 | SIM | RIM | 1 | 1 | 1 | 1 | P/F | 1 | 1 | 0 | SABME | ||
1 | 1 | 1 | 0 | P/F | 0 | 0 | 1 | FRMR | 1 | 1 | 1 | 1 | P/F | 1 | 1 | 1 | UIH | |||
BCN |
- * ^ ^ ISO/IEC 13239
- † ^ ^ ^ No es parte de HDLC
Los marcos UI, UIH, XID, TEST contienen una carga útil y se pueden usar como comandos y respuestas. El comando SM y la respuesta FRMR también contienen una carga útil.
- Un marco UI contiene información de usuario, pero a diferencia de un marco I no es reconocido ni retransmitido si se pierde.
- Un marco UIH (una adición ISO/IEC 13239) es como un marco UI, pero además aplica la secuencia de verificación de marco sólo a un prefijo de longitud especificada del marco; errores de transmisión después de este prefijo no se detectan.
- El marco XID se utiliza para intercambiar capacidades terminales. Systems Network Architecture define un formato, pero la variante definida en ISO 8885 es más comúnmente utilizada. Un primario anuncia sus capacidades con un comando XID, y un secundario devuelve sus propias capacidades en una respuesta XID.
- El marco TEST es simplemente un comando de ping para propósitos de depuración. La carga útil del comando TEST se devuelve en la respuesta TEST.
- El comando SM (an ISO/IEC 13239 addition) es un comando genérico "modelo de inicio" que incluye un campo de información (en el mismo formato ISO 8885 como XID) especificando parámetros. Esto permite valores de parámetro (como números de secuencia de 15 y 31 bits) y parámetros como tamaños de ventana y tamaños máximos de marco no expresibles por los comandos estándar de seis modos para ser negociados.
- La respuesta de FRMR contiene una descripción del marco inaceptable, en un formato estandarizado. Los primeros 1 o 2 bytes son una copia del campo de control rechazado, los siguientes 1 o 2 contienen el envío actual y reciben números de secuencia, y los siguientes 4 o 5 bits son banderas de error que indican la razón del rechazo.
Contenido relacionado
Autobús local VESA
Neopets
Muy alta frecuencia