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
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.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.
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.
Protocolo de enlace de datos PPP
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:
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.