Point-to-Point Protocol (PPP): Protocolo punto a punto para Internet

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 8,52 KB

Point-to-point Protocol, es decir, Protocolo punto a punto, es un protocolo de nivel de enlace estandarizado en el documento RFC 1661. Por tanto, se trata de un protocolo asociado a la pila TCP/IP de uso en Internet. Más conocido por su acrónimo: PPP.

Contenido[ocultar]

Descripción

El protocolo PPP permite establecer una comunicación a nivel de enlace entre dos computadoras. Generalmente, se utiliza para establecer la conexión a Internet de un particular con su proveedor de acceso a través de un módem telefónico. Ocasionalmente también es utilizado sobre conexiones de banda ancha (como PPPoE o PPPoA). Además del simple transporte de datos, PPP facilita dos funciones importantes:

  • Autenticación. Generalmente mediante una clave de acceso.
  • Asignación dinámica de IP. Los proveedores de acceso cuentan con un número limitado de direcciones IP y cuentan con más clientes que direcciones. Naturalmente, no todos los clientes se conectan al mismo tiempo. Así, es posible asignar una dirección IP a cada cliente en el momento en que se conectan al proveedor. La dirección IP se conserva hasta que termina la conexión por PPP. Posteriormente, puede ser asignada a otro cliente.

PPP también tiene otros usos, por ejemplo, se utiliza para establecer la comunicación entre un módem ADSL y la pasarela ATM del operador de telecomunicaciones. También se ha venido utilizando para conectar a trabajadores desplazados (p. ej. ordenador portátil) con sus oficinas a través de un centro de acceso remoto de su empresa. Aunque está aplicación se está abandonando en favor de las redes privadas virtuales, más seguras.

Trama PPP

Una trama PPP esta basada en HDLC.[1] Tiene un mínimo de 6 bytes y un máximo indeterminado. La trama HDLC con PPP es:

  • Bandera
  • Dirección
  • Control
  • Protocolo
  • Datos
  • FCS
  • Bandera

Nota: 0x7e son 8 bits en notación hexadecimal, ver Hexadecimal para más información.

La dirección siempre es 0xFF que es la dirección de difusión estandar de todos los destinos. En PPP no hay direcciones individuales de cada estación dado que sólo hay dos. El campo control vale 0x03, que corresponde con tramas de usuario no númeradas en HDLC. Estos dos campos se pueden eliminar si se negocia en LCP "Address-and-Control-Field-Compression" (ACFC, compresión de los campos de dirección y control).

Los identificadores de protocolo están especificados en el RFC 1661. Los más importantes son:

  • 0x0021 para IP.
  • 0xc021 para LCP.
  • 0xc023 para PAP.
  • 0xc223 para CHAP.

El campo FCS (Frame Check Sequence) es una secuencia de comprobación de trama. Se utiliza para detectar errores en la transmisión de la trama. El transmisor calcula el CRC del contenido de la trama y lo coloca en el campo FCS. El receptor calcula el CRC de la trama que recibe y lo compara con el valor que hay en el FCS. Si los valores son distintos, hay bits erróneos en la trama, por lo que se descarta. Si el campo FCS es de 2 bytes se usa un CRC de 16 bits. Si el campo FCS es de 4 bytes, se usa un CRC de 32 bits.

Funcionamiento

Protocolo PPP

PPP consta de las siguientes fases:

  • Establecimiento de conexión. Durante esta fase, una computadora contacta con la otra y negocian los parámetros relativos al enlace usando el protocolo LCP. Este protocolo es una parte fundamental de PPP y por ello están definidos en el mismo RFC. Usando LCP se negocia el método de autenticación que se va a utilizar, el tamaño de los datagramas, números mágicos para usar durante la autenticación,...
  • Autenticación. No es obligatorio. Existen dos protocolos de autenticación. El más básico e inseguro es PAP, aunque no se recomienda dado que manda el nombre de usuario y la contraseña en claro. Un método más avanzado y preferido por muchos ISPs es CHAP, en el cual la contraseña se manda cifrada.
  • Configuración de red. En esta fase se negocian parámetros dependientes del protocolo de red que se esté usando. PPP puede llevar muchos protocolos de red al mismo tiempo y es necesario configurar individualmente cada uno de estos protocolos. Para configurar un protocolo de red se usa el protocolo NCP correspondiente. Por ejemplo, si la red es IP, se usa el protocolo IPCP para asignar la dirección IP del cliente y sus servidores DNS.
  • Transmisión. Durante esta fase se manda y recibe la información de red. LCP se encarga de comprobar que la línea está activa durante periodos de inactividad. Obsérvese que PPP no proporciona cifrado de datos.
  • Terminación. La conexión puede ser finalizada en cualquier momento y por cualquier motivo.

PPP tiene todas las propiedades de un protocolo de nivel de enlace:

  • Garantía de recepción.
  • Recepción ordenada.
  • Uso del puerto 53 para conexión bidireccional de sockets.

PPP versus SLIP

El protocolo SLIP cumple la misma función que PPP, pero se trata de un protocolo mucho más anticuado. Las ventajas de PPP sobre SLIP son:

  • Permite la conexión tanto mediante líneas síncronas como asíncronas.
  • Permite la asignación dinámica de direcciones IP en ambos extremos de la conexión.
  • Permite el transporte de varios protocolos de red sobre él (SLIP solamente permite IP).
  • Implementa un mecanismo de control de red NCP.
  • Usado también en Redes Neuronales Artificiales (RNA).
  • Suelen estar almacenados en contenedores Enterprise Java Bean (EJB).
  • Implementado en los puentes H con transistores NPN (Puente de WeatStone).

El protocolo PPP se puede usar también para crear Redes Privadas Virtuales (RPV) tanto cifradas como no cifradas, pero si se desea cifrado, se debe implementar por debajo de PPP.

Entradas relacionadas: