Protocolo de enlace de datos PPP
Aunque existen muchos protolos 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ándard 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:
- Un método de enmarcado que delimita sin ambigüedad los límites de los marcos
- El formato de los marcos contempla una cadena de chequeo que permite la detección de errores.
- Un protocolo LCP (Link Control Protocol) para levantar, probar, negociar y eliminar los enlaces apropiadamente.
- Un mecanismo (Network Control Procolo) para negociar opciones con la capa de red que permite soportar varios protocolos de capa de red.
Una sesión típica con el protocolo PPP sería que un ama de casa inicia una llamada a su proveedor de Internet por medio de un módem. El módem establece un enlace físico con el enrutador del proveedor de Internet y el protocolo LCP se encarga de negociar cómo se va a trabajar a nivel de enlace de datos. Después una serie de paquetes de tipo NCP negocían con la capa de red la obtención de una dirección IP para tener la suite completa de TCP/IP. En este momento podemos decir que el ama de casa forma parte de la red de su proveedor de Internet y cuando termine su sesión de trabajo, NCP se encargará de negociar con la capa de red (IP) la terminación de la conexión, luego LCP cerrará el enlace y el módem colgará la llamada. 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 caracter 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 negocían mediante NCP.
- El campo de datos: Es de tamaño variable que se negocía 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.