PPPoE (Point-to-Point Protocol over Ethernet o protocolo punto a punto sobre Ethernet) es un protocolo de red para la encapsulación PPP sobre una capa de Ethernet. Es utilizada mayoritariamente para proveer conexión de banda ancha mediante servicios de cablemódem, DSL, y FTTH. Este ofrece las ventajas del protocolo PPP como son la autenticación, cifrado, mantenimiento y compresión. En esencia, es un protocolo, que permite implementar una capa IP sobre una conexión entre dos puertos Ethernet, pero con las características de software del protocolo PPP, por lo que es utilizado para virtualmente "marcar" a otra máquina dentro de la red Ethernet, logrando una conexión "serial" con ella, con la que se pueden transferir paquetes IP, basado en las características del protocolo PPP.
Point-to-Point Protocol over Ethernet PPPoE | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Familia | Protocolos de enlace punto a punto | |||||||||
Función | Encapsulado de datagramas PPP sobre Ethernet | |||||||||
Ubicación en la pila de protocolos | ||||||||||
| ||||||||||
Estándares | ||||||||||
RFC 2516 A Method for Transmitting PPP Over Ethernet (PPPoE). Febrero de 1999. | ||||||||||
Esto permite utilizar software tradicional basado en PPP para manejar una conexión que no puede usarse en líneas seriales sino con paquetes orientados a redes locales como Ethernet para proveer una conexión clásica con autenticación para cuentas de acceso a Internet. Además, las direcciones IP en el otro lado de la conexión sólo se asignan cuando la conexión PPPoE se abre, por lo que admite la reutilización de direcciones IP (direccionamiento dinámico).
El objetivo y funcionamiento de PPPoE es análogo al protocolo PPP sobre RTC con el que a finales de los 90 y bajo un stack tcp, se establecía un enlace ip punto a punto a través de la red telefónica conmutada (RTC), permitiendo utilizar por encima una serie de protocolos de nivel de aplicación tipo http, ftp, telnet, etc.
PPPoE fue desarrollado por UUNET, Redback y RouterWare. El protocolo está publicado en la RFC 2516.
El protocolo PPPoE se compone de dos fases diferentes: fase de descubrimiento y fase de sesión PPP.
Cuando un equipo desea establecer una sesión PPPoE, debe primero efectuar una fase de descubrimiento (PPPoED) para identificar la dirección MAC del otro extremo y establecer un identificador de sesión PPPoE. En la fase de descubrimiento, un equipo cliente descubre a un servidor PPPoE, denominado habitualmente Concentrador de Acceso. Según la topología de la red, puede haber más de un Concentrador de Acceso. La fase de descubrimiento permite al cliente identificar a todos los Concentradores de Acceso y seleccionar uno de ellos.
La fase de descubrimiento se divide en cuatro partes:
Una vez que la fase de descubrimiento se ha completado correctamente, tanto el cliente como el Concentrador de Acceso tienen la información necesaria para construir su conexión punto a punto sobre Ethernet. En la fase de sesión las tramas intercambiadas entre los dos extremos corresponden a las de una sesión PPP, con la particularidad de que dichas tramas van encapsuladas sobre tramas Ethernet.
La trama PPPoE es básicamente una trama Ethernet, con algún encapsulado adicional de la parte de datos.[1]
Los datos de la trama Ethernet para PPPoE tienen el siguiente formato:
Code | Tipo de paquete PPPoE |
---|---|
0x09 | PADI: PPPoE Active Discovery Initiation |
0x07 | PADO: PPPoE Active Discovery Offer |
0x19 | PADR: PPPoE Active Discovery Request |
0x65 | PADS: PPPoE Active Discovery Session-Confirmation |
0xA7 | PADT: PPPoE Active Discovery Terminate |
0x0 | Paquete en fase de sesión |