802.2 Control de Enlaces Lógicos.


Define el protocolo de control de enlaces lógicos (LLC) del IEEE, el cual asegura que los datos sean transmitidos de forma confiable por medio del enlace de comunicación. La capa de Datos-Enlace en el protocolo OSI esta subdividida en las subcapas de Control de Acceso a Medios (MAC) y de Control de Enlaces Lógicos (LLC). En Puentes, estas dos capas sirven como un mecanismo de switcheo modular. El protocolo LLC es derivado del protocolo de Alto nivel para Control de Datos-Enlaces (HDLC) y es similar en su operación. Nótese que el LLC provee las direcciones de Puntos de Acceso a Servicios (SAP’s), mientras que la subcapa MAC provee la dirección física de red de un dispositivo. Las SAP’s son específicamente las direcciones de una o más procesos de aplicaciones ejecutándose en una computadora o dispositivo de red.

El LLC provee los siguientes servicios:

Servicio orientado a la conexión, en el que una sesión es empezada con un Destino, y terminada cuando la transferencia de datos se completa. Cada nodo participa activamente en la transmisión, pero sesiones similares requieren un tiempo de configuración y monitoreo en ambas estaciones.

Servicios de reconocimiento orientado a conexiones. Similares al anterior, del que son reconocidos los paquetes de transmisión.

Servicio de conexión sin reconocimiento. En el cual no se define una sesión. Los paquetes son puramente enviados a su destino. Los protocolos de alto nivel son responsables de solicitar el reenvío de paquetes que se hayan perdido. Este es el servicio normal en redes de área local (LAN’s), por su alta confiabilidad.

CRC



Para el diseño estándar de protocolos, se han especificado algunas cadenas de chequeo bien conocidas llamadas CRC-12, CRC-16 y CRC-CCITT con R=12,16 y 16 bits respectivamente. Estas cadenas se interpretan como polinomios de la manera que sigue.

CRC-12 = 1100000001111 = X^12 + X^11 + X^3 + X^2 + X + 1.

CRC-16 = 11000000000000101 = X^16 + X^15 + X^2 + 1

CRC-CCITT = 10001000000100001 = X^16 + X^12 + X^5 + 1

Observemos que la posición del bit con un uno representa la potencia del polinomio. Cada uno de estos polinomios se conocen como "generador polinomial" y las siglas CRC significan "Cyclic Redundancy Code".

Los tres pasos para detectar errores con estos polinomios son:

1 - Si el CRC es de grado R, tome el marco de tamaño M y concaténele R ceros al final generando una nueva cadena o polinomio P.
2 - Divida el polinomio P entre el CRC correspondiente usando división de módulo dos. En esta división se va a obtener un residuo K.
3 - Réstele K al polinomio P usando resta de módulo dos obteniendo así una cadena T. La cadena T es el marco que será enviado a través de la capa física.
El efecto del algoritmo anterior es simple, si hacemos lo mismo con un número decimal conocido. Supongamos que CRC=3 y P = 25. Al dividir 25 entre 3 nos da un residuo K=1. Entonces lo que enviamos es una cadena compuesta de las partes 25-1= (24). Observemos que no se transmite el 24, sino una cadena 25-1. En el destino, se hace la división (binaria) de la cadena compuesta (25-1)/3 = 8 y el residuo es cero, lo cual significa que la cadena original es correcta y son los primeros M bits.

Protocolo de enlace de datos PPP



Aunque existen muchos protocolos comerciales o aceptados en todo el mundo, tales como SDLC (Synchronous Data Link Control de SNA IBM), y sus derivados ADCCP (Advanced data Communication Control Procedure de ANSI), HDLC (High-level Data Link Control de ISO), LAP (Link Access Procedure de X.25), revisaremos el protocolo PPP (Point to Point Protocol) porque está en auge al igual que el uso de Internet.

El protocolo PPP esta descrito en los RFC 1661 a 1663. Es el estándar usado en Internet para conexiones de un nodo aislado (por ejemplo una computadora en el hogar) hacia un servidor en Internet (por ejemplo, un servidor de terminales de una LAN en Internet). PPP provee los siguientes servicios:

Los campos de un marco de PPP son:

Bandera de 1 byte: Que es un campo heredado de HDLC con valor de 01111110 el cual es un carácter de marca porque PPP delinea sus marcos con caracteres de inicio y fin.

Dirección de 1 byte: Que siempre tiene un valor de 11111111 que elimina la necesidad de asignar una dirección al enlace de datos.

Campo de control de 1 byte: Indica si se va a realizar control de marcos asignando números de secuencia a cada frame. Por omisión el valor es 00000011 que indica que no va a haber control. El RFC 1663 describe cómo se hace el control en caso de que este valor sea diferente.

Campo de protocolo de 1 o 2 bytes: Indica, dependiendo de su valor, que los datos dentro del marco pertenecen a IPX, AppleTalk, NCP, LCP, XNS, OSI, IP o CLNP. Si el primer bit de este campo es un uno, los datos pertenecen a otros protocolos que se negocian mediante NCP.

El campo de datos: Es de tamaño variable que se negocia con LCP, por omisión es de 1500 bytes.

Campo de chequeo de 2 o 4 bytes: Permite la verificación de la integridad de los datos como se explicó en secciones anteriores.

Bandera de fin: Tiene un valor de 01111110 al igual que la bandera de inicio.