El proceso de control de enlace de la capa de enlace de datos
Los principales protocolos de la capa de enlace de datos son:
(1) Protocolo punto a punto
(2) Ethernet
;( 3) Protocolo de enlace de datos avanzado;
(4) Retransmisión de tramas;
(5) El protocolo de sincronización orientado a caracteres es el protocolo de sincronización más antiguo; representante típico Es el protocolo de comunicaciones síncronas binarias (BISYNC o BSC) de IBM, a menudo también llamado protocolo básico. Posteriormente, tanto ANSI como ISO propusieron normas correspondientes similares. La norma ISO se denomina programa de control de modo básico para sistemas de comunicación de datos, norma ISO 1745. Cualquier protocolo de capa de enlace puede estar compuesto de tres partes: establecimiento de enlace, transferencia de datos y eliminación de enlace. Para realizar diversas funciones, como la gestión y sincronización de enlaces, como el establecimiento y desconexión de enlaces, además de la transmisión normal de bloques de datos y mensajes, también se requieren algunos caracteres de control. El protocolo BSC utiliza caracteres de control de transmisión (TC) definidos por conjuntos de caracteres ASC2 o EBCDIC para implementar las funciones correspondientes. Las etiquetas, nombres, valores de código ASC2 y valores de código EBCDIC de estos caracteres de control de transmisión se muestran en la Tabla 3.1. La función de cada carácter de control de transmisión es la siguiente:
SOH (Start of Header): Prefacio o inicio de encabezado, utilizado para indicar la información del encabezado o el comienzo de un mensaje (bloque).
STX (inicio del texto): El inicio del texto, que marca el final de la información del encabezado y el comienzo del texto del mensaje (bloque).
ETX (fin de texto): fin de texto, marca el final del texto del mensaje (bloque).
EOT (End of Transmission): Después de la entrega, se utiliza para indicar el final de uno o más bloques de texto y desmantelar el enlace.
ENQ (consulta): Consulta, utilizada para solicitar una respuesta de una estación remota, que puede incluir la identidad o el estado de la estación.
ACK (Acknowledge): Acuse de recibo, en el que el receptor envía un acuse de recibo positivo como respuesta a la recepción correcta de un mensaje (bloque) del remitente.
DLE (Data Link Escape): Escape, utilizado para modificar el significado de un número limitado de caracteres que siguen. Se utiliza para implementar una transmisión de datos transparente en BSC o para proporcionar nuevos caracteres de control de transmisión con escape cuando 10 caracteres de control de transmisión no son suficientes.
NAK (Negative Acknowledgment): Rechazo, acuse de recibo negativo enviado por el receptor como respuesta a una recepción incorrecta por parte del emisor.
SYN (Sincrónico): homofónico, utilizado en protocolos de sincronización para lograr la sincronización de caracteres entre nodos, o para mantener la sincronización durante la transmisión de datos de columnas.
ETB (Fin del bloque de transporte): El final de un bloque o grupo Cuando un mensaje se divide en varios bloques de datos, indica el final de un bloque de datos.
El protocolo BSC divide la información transmitida en el enlace en paquetes de datos y paquetes de monitorización, y también en monitorización directa y monitorización inversa. Cada mensaje contiene al menos un carácter de control de transmisión, que se utiliza para determinar la naturaleza de la información del mensaje o para implementar alguna función de control.
Mensajes de datos y texto. El texto es información de datos útil que se entregará y los mensajes están relacionados con la entrega de texto.
A veces, no se requiere ningún encabezado para manejar información auxiliar asociada y, para los mensajes que no exceden el límite de longitud, solo se puede usar un bloque de datos como unidad de transmisión. El receptor debe acusar recibo de cada bloque de datos recibido y el remitente no puede enviar el siguiente bloque de datos hasta que reciba el acuse de recibo. Hay cinco protocolos BSC en formato de bloque de datos, como se muestra en la Figura 3.5.
En el protocolo BSC, todos los datos transmitidos siguen al menos dos caracteres SYT para que el receptor pueda lograr la sincronización de caracteres. Los campos de encabezado se utilizan para describir el identificador del paquete (número de secuencia) y la dirección del segmento de texto de datos. Todos los bloques de datos no tienen un carácter de verificación de bloque BCC (carácter de verificación de bloque) después del calificador de fin de bloque (ETX o ETB). BCC puede ser una verificación de paridad vertical o CRC de 16 bits, y el rango de verificación comienza desde STX y termina con ETX o ETB.
Cuando el mensaje enviado son datos binarios en lugar de una cadena, las cadenas de bits similares a los caracteres de control de transmisión en los datos binarios pueden causar confusión en la transmisión. Para permitir los mismos datos que los caracteres de control de transporte en datos binarios (es decir, transparencia de datos), se puede agregar un carácter de escape DLE antes de los caracteres de control de transporte reales (excepto SYN) en cada cuadro. Al enviar, si aparece en el texto una cadena de bits binarios con el mismo carácter DLE, se puede insertar un carácter DLE adicional para marcar. En el extremo receptor se realiza la misma detección. Si se encuentra un solo carácter DLE, se sabe que los DLE posteriores son datos y uno de ellos se elimina antes de continuar con el procesamiento.
Hay cuatro formatos para mensajes de monitoreo directo e inverso.
(1) Confirmación positiva y respuesta selectiva:
Sincronización|Sincronización|Confirmación
(2) Confirmación negativa y respuesta selectiva:
Sincronización|Sincronización|Ninguno
(3) Solicitud de sondeo/selección:
SYN | Prefijo P/S | ) Cadena de desmontaje:
Sintético|Sintético|EOT
Los mensajes de monitoreo generalmente constan de un solo carácter de control de transmisión o un solo carácter de control de transmisión guiado por varios otros caracteres. Los caracteres principales se denominan colectivamente prefijos y contienen identificadores (números de serie), información de dirección, información de estado y otra información necesaria. La función de los mensajes de monitoreo ACK y NAK es, en primer lugar, responder a si el bloque de datos enviado anteriormente se recibió correctamente, por lo que contiene un identificador (número de secuencia), en segundo lugar, como respuesta a la información de monitoreo seleccionada, ACK indica el seleccionado; La estación puede recibir el bloque de datos, mientras que el NAK indica que no puede. ENQ se utiliza para sondear y seleccionar mensajes de monitoreo. En estructuras múltiples, la dirección de la mesa de votación o de elección precede al carácter ENQ. Los mensajes de monitoreo EOT se utilizan para marcar el final de los mensajes y dividir el enlace lógico entre dos estaciones.
La mayor desventaja del protocolo de sincronización orientado a caracteres es que está demasiado relacionado con un conjunto de codificación de caracteres específico, lo que no favorece la compatibilidad. Para lograr la transparencia de los datos, el método de relleno de caracteres es complicado de implementar y también depende del conjunto de codificación de caracteres utilizado. Además, debido a que BSC es un protocolo semidúplex, la eficiencia de transmisión de su enlace es muy baja. Incluso si el enlace físico admite la transmisión full-duplex, no se puede utilizar BSC. Sin embargo, el protocolo BSC todavía se usa ampliamente en sistemas de red orientados a terminales porque requiere una capacidad mínima de almacenamiento en buffer. A principios de la década de 1970, IBM tomó la iniciativa al proponer el protocolo de control de enlace de datos síncrono orientado a bits SDLC. Posteriormente, tanto ANSI como ISO adoptaron y desarrollaron SDLC y propusieron sus propios estándares: ADCCP (Protocolo avanzado de control de datos) de ANSI y HDLC (Protocolo avanzado de control de enlace de datos) de ISO. Los protocolos de control de enlaces se centran en la transmisión lógica de datos que se dividen en bloques o paquetes físicos que son guiados por un indicador de inicio y finalizados por un indicador de fin, también conocidos como tramas. Los marcos son el vehículo para cada control, cada respuesta y el medio a través del cual el protocolo transmite toda la información. Todos los protocolos de control de enlace de datos orientados a bits utilizan un formato de trama unificado en el que se transmiten datos e información de control individual.
Hay un código de bandera 01111110 antes y después de cada fotograma, que se utiliza para indicar el principio y el final del fotograma y para sincronizar el fotograma. No se permite que los códigos de logotipo aparezcan dentro del marco para evitar significados anormales. Para garantizar la unicidad del código de identificación y tener en cuenta la transparencia de los datos dentro del marco, se puede utilizar el "método de inserción de 0 bits" para resolver este problema. Este método monitorea todos los campos del remitente excepto el código de identificación. Cuando se encuentran cinco "1" seguidos.
, inserte un "0" después y luego continúe enviando el flujo de bits siguiente. En el lado receptor, también se monitorean todos los campos excepto el código de la bandera de inicio. Cuando aparecen cinco "1" continuamente, si aparece el siguiente bit "0", se eliminará automáticamente y se restaurará el flujo de bits original. Si se encuentran seis "1" consecutivos, es posible que el "0" insertado se haya cambiado por error a "1" o que se haya recibido un código de indicador de terminación de trama. Los dos últimos casos se pueden distinguir aún más por la secuencia de verificación del cuadro en el cuadro.
El "método de inserción de 0 bits" tiene un principio simple y es muy adecuado para la implementación de hardware. En el formato de trama del protocolo orientado a bits, hay un campo de control de 8 bits, que se puede utilizar para definir comandos y respuestas de control enriquecidos en el modo de codificación, lo que equivale a la función de transmitir muchos caracteres de control y secuencias de escape. en el protocolo BSC. Como protocolo típico de control de enlace de datos orientado a bits, HDLC tiene las siguientes características: el protocolo no depende de ningún conjunto de codificación de caracteres y los mensajes de datos se pueden transmitir de forma transparente, y el "método de inserción de 0 bits" utilizado para lograr una transmisión transparente es; fácil de implementar en hardware comunicación totalmente dúplex, los datos se pueden enviar continuamente sin esperar confirmación y la eficiencia de transmisión del enlace de datos es alta y la confiabilidad de la transmisión se realiza en todas las tramas y las tramas de información están numeradas. es alto; función de control de transmisión y procesamiento de funciones separadas, gran flexibilidad y funciones de control completas. Debido a las características anteriores, HDLC se utiliza ampliamente como protocolo de control de enlace de datos en el diseño de redes.
Modo de funcionamiento HDLC
HDLC es un protocolo de control de enlace de datos universal. Permite la selección de modos de funcionamiento específicos al establecer un enlace de datos. El llamado modo de funcionamiento del enlace, en términos sencillos, se refiere a un sitio que funciona en modo maestro, modo esclavo o ambos. La estación de destino utilizada para el control del enlace se denomina estación maestra y otras estaciones controladas por la estación maestra se denominan estaciones esclavas. El maestro es responsable de organizar el flujo de datos y recuperarse de errores en el enlace. Las tramas enviadas por la estación maestra a la estación esclava se denominan tramas de comando y las tramas devueltas por la estación esclava a la estación maestra se denominan tramas de respuesta. Los enlaces con múltiples estaciones suelen utilizar técnicas de sondeo. Una estación que sondea a otras estaciones se llama maestra y cada estación puede ser maestra en un enlace punto a punto. La estación maestra requiere más funciones lógicas que la estación esclava, por lo que cuando el terminal está conectado a la estación maestra, la estación maestra siempre es la estación maestra. Cuando una estación está conectada a múltiples enlaces, puede ser maestra para algunos enlaces y esclava para otros. Algunos pueden funcionar como estaciones maestras y esclavas. Esta estación se llama Union Station. El protocolo para la transmisión de información entre estaciones combinadas es simétrico, es decir, la estación maestra y la estación esclava tienen la misma función de control de transmisión en el enlace. Esto también se llama operación equilibrada y es un concepto muy importante en las redes informáticas. Por el contrario, ese funcionamiento se divide en estaciones maestra y esclava con diferentes funciones, lo que se denomina funcionamiento desequilibrado.
Hay tres modos de funcionamiento de HDLC comúnmente utilizados: (1) Modo de respuesta normal NRM es un modo de funcionamiento de enlace de datos desequilibrado, a veces también llamado modo de respuesta normal desequilibrado. Este modo de funcionamiento es adecuado para enlaces punto a punto o punto a multipunto orientados a terminales. En este modo de funcionamiento, el proceso de transmisión lo inicia la estación maestra y la estación esclava solo puede enviar información a la estación maestra en respuesta después de recibir la trama de comando de la estación maestra. El mensaje de respuesta puede constar de uno o más fotogramas. Si el mensaje consta de varias tramas, se indicará cuál es la última. La estación maestra es responsable de administrar todo el enlace y tiene la autoridad para sondear, seleccionar y enviar comandos a las estaciones esclavas. También es responsable de controlar los tiempos de espera, las retransmisiones y diversas operaciones de recuperación. El modo de operación de NRM se muestra en la Figura 3.7(a). (2) El modo de respuesta asíncrono ARM también es un modo operativo de enlace de datos desequilibrado. A diferencia de NRM, el proceso de transmisión de ARM lo inicia la estación esclava. Una trama o un grupo de tramas enviadas desde un esclavo a un maestro puede contener información o puede ser una trama enviada únicamente con fines de control. En este modo de funcionamiento, el esclavo controla los tiempos de espera y las retransmisiones. Este modo es crucial para Lotus Road con varias paradas que utilizan el modo de sondeo. El modo de trabajo de ARM se muestra en la Figura 3.7 (b). (3) ABM en modo equilibrado asíncrono, que es un modo operativo que permite que cualquier nodo inicie la transmisión. Para mejorar la eficiencia de la transmisión del enlace, los nodos requieren una mayor transmisión de información bidireccional. En este modo de operación, cualquier estación puede iniciar operaciones de transmisión en cualquier momento, cada estación puede ser tanto una estación maestra como una estación esclava, y cada estación es una estación combinada. Cada estación tiene el mismo conjunto de protocolos, cualquier estación puede enviar o recibir comandos y dar respuestas, y cada estación tiene la misma responsabilidad por el proceso de recuperación de errores.
Formato de cuadro HDLC
En HDLC, los datos y los mensajes de control se transmiten en un formato de cuadro estándar. Las tramas en HDLC son similares a los bloques de caracteres en BSC, pero los paquetes de datos y los paquetes de control en el protocolo BSC se transmiten de forma independiente y los comandos en HDLC deben transmitirse en un formato unificado.
Una trama HDLC completa consta de un campo de bandera (F), un campo de dirección (A), un campo de control (C), un campo de información (I), un campo de secuencia de verificación de trama (FCS), etc. Su formato se muestra en la Figura 3.8.
(1) Campo de bandera (F): El campo de bandera es un patrón de bits de 0111110 para marcar el comienzo de un cuadro y el final del cuadro anterior. El campo de bandera también se puede utilizar como caracteres de relleno entre fotogramas. Normalmente, el canal permanece activo durante los momentos en que no se realiza la transmisión de tramas. En este estado, el remitente continúa enviando el campo de bandera y se puede considerar que se ha iniciado una nueva transmisión de trama. La transmisión transparente de datos 0 se puede lograr utilizando el "método de inserción de 0 bits".
(2) Campo de dirección (a): El contenido del campo de dirección depende del modo de funcionamiento adoptado. En el modo de funcionamiento existen estaciones maestras, estaciones esclavas y estaciones unión. A cada estación esclava y combinada se le asigna una dirección única. El campo de dirección en la trama de comando lleva la dirección de otras estaciones, mientras que el campo de dirección en la trama de respuesta lleva la dirección de su propia estación. También se puede asignar una dirección a más de una estación, lo que se denomina dirección de grupo. Las tramas enviadas utilizando una dirección de grupo pueden ser recibidas por todas las estaciones del grupo propietario del grupo. Pero cuando una estación o combinación de estaciones envía una respuesta, aún debe usar su dirección única. Todas las direcciones "1" también se pueden utilizar para representar una dirección de todas las estaciones, denominada dirección de transmisión, y las tramas que contienen una dirección de transmisión se transmiten a todas las estaciones en el enlace. Además, también se estipula que todas las direcciones "0" son direcciones sin estación y no están asignadas a ninguna estación y solo se utilizan para pruebas.
(3) Campo de control (c): el campo de control se utiliza para formar varios comandos y respuestas para monitorear y controlar el enlace. La estación maestra o estación combinada del remitente usa el campo de control para notificar a la estación esclava o estación combinada direccionada que realice la operación acordada; a la inversa, la estación esclava usa este campo en respuesta a un comando para informar una operación completa o un cambio en el estado. Esta tierra es clave para HDLC. El primer bit o el primer y segundo bit en el campo de control indican el tipo de trama de transmisión. HDLC tiene tres tipos diferentes de cuadros: cuadros de información (cuadros I), cuadros de supervisión (cuadros S) y cuadros no numerados (cuadros U). El quinto bit del campo de control es el bit P/F, el bit de sondeo/final.
(4) Campo de información (I): El campo de información puede ser cualquier cadena de bits binarios. La longitud de la cadena de bits no está limitada. El límite superior está determinado por el campo FCS o la capacidad del búfer de la estación de comunicación. Se usan comúnmente 1000 ~ 2000 bits, mientras que el límite inferior puede ser 0, es decir, hay. sin campo de información. Sin embargo, el marco de supervisión (marco S) estipula que no puede haber un campo de información. (5) Campo de secuencia de verificación de trama (FCS): el campo de secuencia de verificación de trama puede usar 16 CRC para verificar el contenido de toda la trama entre los dos campos de bandera. La recomendación del polinomio generador CCITT V4.1 para FCS es x 16 x 12 x 5 1.
Tipos de fotogramas HDLC
HDLC tiene tres tipos diferentes de fotogramas: fotogramas de información (fotogramas I), fotogramas de monitorización (fotogramas S) y fotogramas no numerados (fotogramas U). El formato y la definición de bits del campo de control en cada trama se muestran en la Figura 3.9.
(1) Marco de información (marco I): el marco de información se utiliza para transmitir información o datos válidos, generalmente denominado marco I. Las tramas I se marcan con el primer bit "0" de la palabra de control. El N (S) en el campo de control de la trama de información se utiliza para almacenar el número de secuencia de la trama enviada, de modo que el remitente pueda enviar múltiples tramas continuamente sin esperar confirmación. N(R) se utiliza para almacenar el número de secuencia de la siguiente trama que el receptor espera recibir. N(R)=5 significa que el receptor recibirá la trama número 5 en la siguiente trama. Cuadro nº 5. N(S) y N(R) son códigos binarios de 3 bits y pueden tomar valores del 0 al 7.
(2) Marco de monitoreo (marco S): el marco de monitoreo se utiliza para el control de errores y el control de flujo, generalmente llamado marco S. Los fotogramas S están marcados con "10" con el primer y segundo bit del campo de control. Trama S con campo de información, solo 6 bytes o 48 bits. Los bits tercero y cuarto del campo de control de la trama S son el código de tipo de trama S. * * * Hay cuatro códigos diferentes, que representan:
00——RR, enviado por la estación maestra o. estación de esclavos.
La estación maestra puede usar la trama RR tipo S para sondear la estación esclava, es decir, quiero que la estación esclava envíe una trama I numerada N (R). Si existe tal trama, la estación esclava también puede enviarla; utilizar la trama RR tipo S para responder Indica que el número de la siguiente trama I que la estación esclava desea recibir de la estación maestra es N (R).
01-Rechazo (REJ), enviado por el maestro o esclavo, utilizado para solicitar al remitente que reenvíe la trama numerada N(R) y todas las tramas posteriores, que también significa N(R) La I anterior La trama se ha recibido correctamente.
10 - Recibir no listo (RNR), que indica que se ha recibido una trama I con el número menor que N(R), pero está en un estado ocupado y no está listo para recibir una trama I con el número N (R), disponible para controlar el tráfico del enlace. 11 - Rechazo selectivo (SREJ), que requiere que el remitente envíe una única trama I numerada N(R) e implica que todas las tramas I hasta su número han sido confirmadas.
Se puede ver que la trama RR tipo S recibida y la trama RNR tipo S recibida tienen dos funciones principales: primero, estos dos tipos de tramas S se utilizan para indicar si la estación esclava está lista para recibir. información, en segundo lugar, confirmar todas las tramas I recibidas cuyo número sea inferior a N(R). El rechazo de REJ y el rechazo selectivo de tramas S de tipo SREJ se utilizan para indicar a otra estación que se ha producido un error. La trama REJ se utiliza en la política GO-back-N para solicitar que se haya reconocido la trama antes de que se retransmita N(R). El estado REJ puede borrarse cuando se recibe una trama I con N(S) igual a N(R) de tramas REJ tipo S. La trama SREJ se utiliza para seleccionar una estrategia de retransmisión. El estado SREJ debe borrarse cuando se reciben tramas N(R) I.
(3) Marco no numerado (marco U): el marco no numerado recibe su nombre porque su campo de control no contiene los números N(S) y N(R), denominado marco U. La trama U se utiliza para proporcionar establecimiento de enlace, desconexión y diversas funciones de control, y está definida por 5 m bits (M1, M2, M3, M4, M5, también llamados bits de corrección). Cinco bits M pueden definir 32 funciones de comando adicionales o 32 funciones de respuesta, pero muchas de ellas están vacías.