
En redes informáticas , el Protocolo Punto a Punto ( PPP ) es un protocolo de comunicación de capa de enlace de datos (capa 2) entre dos enrutadores directamente sin ningún host ni ninguna otra red intermedia. [ 1 ] Puede proporcionar detección de bucles, autenticación , cifrado de transmisión [ 2 ] y compresión de datos .
El protocolo PPP se utiliza en muchos tipos de redes físicas, incluyendo cable serie (PPPoS), línea telefónica , línea troncal , telefonía celular , enlaces de radio especializados, ISDN y enlaces de fibra óptica como SONET . Dado que los paquetes IP no pueden transmitirse por sí solos a través de una línea de módem sin algún protocolo de enlace de datos que pueda identificar dónde comienza y dónde termina la trama transmitida, los proveedores de servicios de Internet (ISP) han utilizado PPP para el acceso telefónico a Internet de sus clientes .
PPP se utiliza en antiguas líneas de red de acceso telefónico . [ 3 ] Dos derivados de PPP, el Protocolo punto a punto sobre Ethernet (PPPoE) y el Protocolo punto a punto sobre ATM (PPPoA), son los que utilizan con mayor frecuencia los ISP para establecer una conexión de servicio de Internet de línea de abonado digital (DSL) LP con los clientes.
Descripción
PPP se usa muy comúnmente como protocolo de capa de enlace de datos para conexión a través de circuitos síncronos y asíncronos , donde ha reemplazado en gran medida al antiguo Protocolo de Internet de Línea Serie (SLIP) y los estándares exigidos por las compañías telefónicas (como el Protocolo de Acceso de Enlace, Balanceado (LAPB) en el conjunto de protocolos X.25 ). El único requisito para PPP es que el circuito proporcionado sea dúplex . PPP fue diseñado para funcionar con numerosos protocolos de capa de red , incluidos el Protocolo de Internet (IP), TRILL , el Intercambio de Paquetes de Internet (IPX) de Novell , NBF , DEC net y AppleTalk . Al igual que SLIP, esta es una conexión completa a Internet a través de líneas telefónicas mediante módem. Es más confiable que SLIP porque realiza una doble verificación para asegurar que los paquetes de Internet lleguen intactos. [ 4 ] Reenvía cualquier paquete dañado.
El protocolo PPP se diseñó siguiendo en cierta medida las especificaciones originales de HDLC . Sus creadores incluyeron numerosas características adicionales que hasta entonces solo se habían visto en protocolos de enlace de datos propietarios. PPP se especifica en el RFC 1661.
El RFC 2516 describe el Protocolo Punto a Punto sobre Ethernet (PPPoE) como un método para transmitir PPP sobre Ethernet que a veces se utiliza con DSL . El RFC 2364 describe el Protocolo Punto a Punto sobre ATM (PPPoA) como un método para transmitir PPP sobre la Capa de Adaptación 5 de ATM ( AAL5 ), que también es una alternativa común a PPPoE utilizada con DSL.
Los protocolos PPP, PPPoE y PPPoA se utilizan ampliamente en líneas WAN .
PPP es un protocolo en capas que tiene tres componentes: [ 4 ]
- Un componente de encapsulación que se utiliza para transmitir datagramas a través de la capa física especificada .
- Un protocolo de control de enlace (LCP) para establecer, configurar y probar el enlace, así como para negociar ajustes, opciones y el uso de funciones.
- Uno o más protocolos de control de red (NCP) utilizados para negociar parámetros de configuración y funcionalidades opcionales para la capa de red. Existe un NCP para cada protocolo de capa superior compatible con PPP.
Autoconfiguración
LCP inicia y finaliza las conexiones de forma segura, permitiendo a los hosts negociar las opciones de conexión. Es una parte integral de PPP y está definido en la misma especificación estándar. LCP proporciona configuración automática de las interfaces en cada extremo (como el tamaño del datagrama , los caracteres de escape y los números mágicos) y permite seleccionar la autenticación opcional. El protocolo LCP se ejecuta sobre PPP (con el número de protocolo PPP 0xC021), por lo que es necesario establecer una conexión PPP básica antes de que LCP pueda configurarla.
El RFC 1994 describe el Protocolo de Autenticación de Desafío-Intercambio (CHAP), que es el preferido para establecer conexiones de acceso telefónico con los proveedores de servicios de Internet (ISP). Aunque está en desuso, el Protocolo de Autenticación de Contraseña (PAP) todavía se utiliza en ocasiones.
Otra opción para la autenticación a través de PPP es el Protocolo de Autenticación Extensible (EAP), descrito en el RFC 2284.
Una vez establecida la conexión, puede realizarse una configuración adicional de la red ( capa 3 ). Generalmente se utiliza el Protocolo de Control de Protocolo de Internet (IPCP), aunque el Protocolo de Control de Intercambio de Paquetes de Red (IPXCP) y el Protocolo de Control de AppleTalk (ATCP) también fueron populares en el pasado. [ 5 ] [ 6 ] El Protocolo de Control de Protocolo de Internet versión 6 (IPv6CP) tendrá un uso extendido en el futuro, cuando IPv6 reemplace a IPv4 como el protocolo dominante de la capa 3.
Múltiples protocolos de capa de red
PPP permite que varios protocolos de capa de red operen en el mismo enlace de comunicación. Para cada protocolo de capa de red utilizado, se proporciona un Protocolo de Control de Red ( NCP ) independiente para encapsular y negociar las opciones de los distintos protocolos de capa de red. Este protocolo negocia la información de la capa de red, como la dirección de red o las opciones de compresión, una vez establecida la conexión.
Por ejemplo, IP utiliza IPCP, e Interwork Packet Exchange (IPX) utiliza el Protocolo de Control IPX de Novell ( IPX/SPX ). Los NCP incluyen campos con códigos estandarizados para indicar el tipo de protocolo de capa de red que encapsula la conexión PPP.
Los siguientes NCP se pueden utilizar con PPP:
- IPCP para IP, código de protocolo número 0x8021, RFC 1332
- El protocolo de control de la capa de red OSI (OSINLCP) para los diversos protocolos de la capa de red OSI , código de protocolo número 0x8023, RFC 1377
- Protocolo de control de AppleTalk (ATCP) para AppleTalk , código de protocolo número 0x8029, RFC 1378
- Protocolo de control de intercambio de paquetes de interconexión de redes (IPXCP) para el intercambio de paquetes de Internet , código de protocolo número 0x802B, RFC 1552
- el protocolo de control de fase IV de la red DEC (DNCP) para el protocolo de enrutamiento de fase IV del ADN ( fase IV de la red DEC ), código de protocolo número 0x8027, RFC 1762
- El protocolo de control de tramas NetBIOS (NBFCP) para el protocolo de tramas NetBIOS (o NetBEUI , como se llamaba antes), código de protocolo número 0x803F, RFC 2097
- El protocolo de control IPv6 (IPV6CP) para IPv6 , código de protocolo número 0x8057, RFC 5072
Detección de enlaces en bucle
PPP detecta enlaces en bucle mediante una función que utiliza números mágicos . Cuando un nodo envía mensajes LCP de PPP, estos mensajes pueden incluir un número mágico. Si una línea está en bucle, el nodo recibe un mensaje LCP con su propio número mágico, en lugar de recibir un mensaje con el número mágico del otro nodo.
Opciones de configuración
La sección anterior presentó el uso de opciones LCP para satisfacer requisitos específicos de conexión WAN. PPP puede incluir las siguientes opciones LCP:
- Autenticación : Los enrutadores pares intercambian mensajes de autenticación. Algunas opciones de autenticación son el Protocolo de Autenticación por Contraseña (PAP), el Protocolo de Autenticación por Intercambio de Retos (CHAP) y el Protocolo de Autenticación Extensible (EAP). La autenticación se explica en la siguiente sección.
- Compresión : Aumenta el rendimiento efectivo en las conexiones PPP al reducir la cantidad de datos en la trama que deben transmitirse a través del enlace, mediante un algoritmo acordado como BSD compress o Deflate. El protocolo descomprime la trama en su destino. Además, existen configuraciones de compresión para los paquetes de control y los campos de encabezado. Consulte la RFC 1962 para obtener más detalles.
- Detección de errores : identifica condiciones de fallo. Las opciones de Calidad y Número Mágico ayudan a garantizar un enlace de datos fiable y sin bucles. El campo Número Mágico ayuda a detectar enlaces en bucle. Hasta que la opción de configuración del Número Mágico se haya negociado correctamente, este debe transmitirse como cero. Los números mágicos se generan aleatoriamente en cada extremo de la conexión.
- Multilink : proporciona equilibrio de carga entre varias interfaces utilizadas por PPP a través de Multilink PPP (ver más abajo).
Marco PPP
Estructura
Los fotogramas PPP son variantes de los fotogramas HDLC :
Si ambos pares acuerdan comprimir los campos de dirección y control durante LCP, dichos campos se omiten. Del mismo modo, si ambos pares acuerdan comprimir el campo de protocolo, se puede omitir el byte 0x00.
El campo Protocolo indica el tipo de paquete de carga útil: 0xC021 para LCP , 0x80xy para varios NCP , 0x0021 para IP, 0x0029 AppleTalk, 0x002B para IPX , 0x003D para Multilink, 0x003F para NetBIOS , 0x00FD para MPPC y MPPE , etc. [ 7 ] PPP es limitado y no puede contener datos generales de la capa 3 , a diferencia del tipo de Ether .
El campo Información contiene la carga útil PPP; tiene una longitud variable con un máximo negociado denominado Unidad Máxima de Transmisión . Por defecto, el máximo es de 1500 octetos . Puede rellenarse durante la transmisión; si la información de un protocolo específico puede rellenarse, dicho protocolo debe permitir distinguir la información del relleno.
Encapsulación
Las tramas PPP se encapsulan en un protocolo de capa inferior que proporciona el encuadre y puede ofrecer otras funciones, como una suma de comprobación para detectar errores de transmisión. El protocolo PPP en enlaces serie suele encapsularse en un encuadre similar al HDLC , descrito en el RFC 1662 de la IETF.
El campo Bandera está presente cuando se utiliza PPP con encuadre tipo HDLC.
Los campos de dirección y control siempre tienen el valor hexadecimal FF (para "todas las estaciones") y hexadecimal 03 (para "información sin numerar"), y pueden omitirse siempre que se negocie la compresión de campos de dirección y control (ACFC) de PPP LCP.
El campo de secuencia de verificación de trama (FCS) se utiliza para determinar si una trama individual contiene un error. Contiene una suma de verificación calculada sobre la trama para brindar protección básica contra errores en la transmisión. Se trata de un código CRC similar al utilizado en otros esquemas de protección contra errores de protocolo de capa dos, como el utilizado en Ethernet. Según la RFC 1662, puede tener un tamaño de 16 bits (2 bytes) o 32 bits (4 bytes) (el valor predeterminado es de 16 bits: polinomio x 16 + x 12 + x 5 + 1).
El FCS se calcula sobre los campos de Dirección, Control, Protocolo, Información y Relleno después de que el mensaje haya sido encapsulado.
Activación de la línea y fases
- Enlace roto
- Esta fase se produce cuando falla el enlace o se le indica a una de las partes que se desconecte (por ejemplo, cuando un usuario finaliza su conexión telefónica).
- Fase de establecimiento de vínculos
- En esta fase se intenta negociar el Protocolo de Control de Enlace. Si la negociación es exitosa, el control pasa a la fase de autenticación o a la fase del Protocolo de Capa de Red, según se requiera o no la autenticación.
- Fase de autenticación
- Esta fase es opcional. Permite que las partes se autentiquen mutuamente antes de establecer la conexión. Si la autenticación es exitosa, el control pasa a la fase del protocolo de la capa de red.
- Fase del protocolo de capa de red
- En esta fase se invocan los protocolos de control de red (PCR) de cada protocolo deseado. Por ejemplo, el protocolo IPCP se utiliza para establecer el servicio IP a través de la línea. El transporte de datos para todos los protocolos que se hayan iniciado correctamente con sus respectivos PCR también se produce en esta fase. Asimismo, se produce el cierre de los protocolos de red.
- Fase de terminación del enlace
- Esta fase cierra la conexión. Esto puede ocurrir si hay un fallo de autenticación, si se producen tantos errores de suma de comprobación que ambas partes deciden cerrar la conexión automáticamente, si la conexión falla repentinamente o si el usuario decide colgar.
A través de varios enlaces
Multilink PPP
Multilink PPP (también conocido como MLPPP , MP , MPPP , MLP o Multilink) proporciona un método para distribuir el tráfico entre varias conexiones PPP distintas. Está definido en el RFC 1990. Se puede utilizar, por ejemplo, para conectar un ordenador doméstico a un proveedor de servicios de Internet mediante dos módems tradicionales de 56k, o para conectar una empresa a través de dos líneas arrendadas.
En una única línea PPP, las tramas no pueden llegar fuera de orden, pero esto sí es posible cuando se dividen entre varias conexiones PPP. Por lo tanto, Multilink PPP debe numerar los fragmentos para que puedan ordenarse correctamente al llegar.
Multilink PPP es un ejemplo de tecnología de agregación de enlaces . Cisco IOS versión 11.1 y posteriores son compatibles con Multilink PPP.
PPP multiclase
Con PPP, no se pueden establecer varias conexiones PPP distintas y simultáneas a través de un único enlace.
Esto tampoco es posible con Multilink PPP. Multilink PPP utiliza números consecutivos para todos los fragmentos de un paquete y, por lo tanto, no es posible suspender el envío de una secuencia de fragmentos de un paquete para enviar otro. Esto impide ejecutar Multilink PPP varias veces en los mismos enlaces.
PPP multiclase es un tipo de PPP multilink donde cada "clase" de tráfico utiliza un espacio de números de secuencia y un búfer de reensamblaje separados. El PPP multiclase está definido en el RFC 2686.
Túneles
Protocolos derivados
PPTP (Point-to-Point Tunneling Protocol) es una forma de PPP entre dos hosts a través de GRE que utiliza cifrado ( MPPE ) y compresión ( MPPC ).
Como protocolo de capa 2 entre ambos extremos de un túnel
Existen numerosos protocolos que permiten encapsular datos en redes IP. Algunos, como SSL , SSH o L2TP, crean interfaces de red virtuales y dan la impresión de conexiones físicas directas entre los extremos del túnel. En un sistema Linux , por ejemplo, estas interfaces se denominarían tun0 o ppp0 .
Dado que un túnel solo tiene dos extremos, se trata de una conexión punto a punto, y PPP es la opción natural como protocolo de capa de enlace de datos entre las interfaces de red virtuales. PPP puede asignar direcciones IP a estas interfaces virtuales, las cuales pueden utilizarse, por ejemplo, para enrutar el tráfico entre las redes a ambos lados del túnel.
Históricamente, IPsec en modo túnel no crea interfaces físicas virtuales al final del túnel, ya que este es gestionado directamente por la pila TCP/IP. L2TP puede utilizarse para proporcionar estas interfaces; esta técnica se denomina L2TP/IPsec. En este caso, PPP también proporciona direcciones IP a los extremos del túnel. Las implementaciones modernas de IPsec pueden ofrecer interfaces de túnel virtuales o interfaces VTI . Las interfaces VTI están disponibles en plataformas propietarias desde mediados de la década de 2000 [ 8 ] y en Linux desde 2012 [ 9 ].
estándares IETF
El protocolo PPP se define en el RFC 1661 (Protocolo punto a punto, julio de 1994). El RFC 1547 (Requisitos para un protocolo punto a punto estándar de Internet, diciembre de 1993) proporciona información histórica sobre la necesidad de PPP y su desarrollo. Se han redactado varios RFC relacionados para definir cómo diversos protocolos de control de red, incluidos TCP/IP , DECnet , AppleTalk e IPX , funcionan con PPP; estos se pueden consultar en el sitio web Datatracker IETF. [ 10 ]
Véase también
- Diámetro
- Protocolo de autenticación extensible
- Conjunto de comandos de Hayes
- Procedimiento de acceso al enlace para módems (LAPM)
- Encapsulación multiprotocolo (MPE) para flujo de transporte MPEG
- Demonio del protocolo punto a punto (PPPD)
- PPPoX
- RADIO
- Encapsulación ligera unidireccional (ULE) para flujo de transporte MPEG
Referencias
- ↑ RFC 1661
- ↑ RFC 1968
- ↑ "41. Protocolo punto a punto: redes de acceso telefónico", Linux: Tutorial y exposición para usuarios de Linux , consultado el 20 de agosto de 2024.
- 1 2 Stevens 1994 , págs. 26–27, sección 2.6: "PPP: Protocolo punto a punto"
- ↑ Simpson, William A. (diciembre de 1993). El protocolo de control de intercambio de paquetes de interconexión de redes PPP (IPXCP) (Informe). Grupo de trabajo de ingeniería de Internet.
- ↑ Parker, J. Bradford (noviembre de 1992). El protocolo de control PPP AppleTalk (ATCP) (Informe). Grupo de trabajo de ingeniería de Internet.
- ↑ "Asignaciones de campos del protocolo punto a punto (PPP)" . IANA . Consultado el 3 de septiembre de 2015 .
- ↑ Configuración de una interfaz de túnel virtual con seguridad IP (26 de octubre de 2006)
- ↑ Parche del kernel de Linux - net/ipv4: Soporte VTI, nuevo módulo para ip_vti
- ↑ «Rastreador de datos del IETF» . Consultado el 26 de agosto de 2023 .
Obras citadas
- William Richard Stevens (2016) [1994]. TCP/IP ilustrado [ TCP/IP详解] . Vol. 卷一:协议 (Volumen 1: Los protocolos) (1ª ed.). Pearson Education Asia Ltd. , 人民邮电出版社 (Prensa de Correos y Telecomunicaciones de China). ISBN 978-7-115-40132-8.
- Estándares de Internet
- Protocolos de enlace
- Control de enlace lógico
- módems
- Protocolos de telecomunicaciones
- redes de área amplia