PPPoE
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. | ||||||||||
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.
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.
Descripción del protocolo PPPoE
[editar]El protocolo PPPoE se compone de dos fases diferentes: fase de descubrimiento y fase de sesión PPP.
Fase de descubrimiento (PPPoED)
[editar]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:
- PADI (PPPoE Active Discovery Initiation) El cliente envía un paquete de inicio a toda la red (paquete de broadcast), indicando los servicios que espera recibir
- PADO (PPPoE Active Discovery Offer) El concentrador de acceso, si puede satisfacer los servicios requeridos, envía al cliente un paquete de oferta, indicando los servicios que ofrece
- PADR (PPPoE Active Discovery Request) El cliente elige, de entre todos los Concentradores de Acceso que han enviado ofertas, aquel que mejor se ajusta a sus necesidades y envía a dicho concentrador un paquete de solicitud de establecimiento de sesión
- PADS (PPPoE Active Discovery Session-confirmation) El concentrador de acceso recibe la solicitud de establecimiento de sesión y envía un paquete de confirmación de sesión , indicando el identificador de la sesión establecida. A partir de este momento comienza la fase de sesión.
Fase de sesión
[editar]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.
Estructura de la trama Ethernet
[editar]La trama PPPoE es básicamente una trama Ethernet, con algún encapsulado adicional de la parte de datos.[1]
- DESTINATION ADDRESS
- Dirección MAC destino del paquete. En la fase de descubrimiento, puede contener la dirección de broadcast 0xFFFFFFFFFFFF.
- SOURCE ADDRESS
- Dirección MAC origen del paquete.
- ETHER_TYPE
- Indica que la trama debe interpretarse como PPPoE. Tiene un valor igual a 0x8863 en la fase de descubrimiento y 0x8864 en la fase de sesión.
- DATOS
- Datos de la trama Ethernet. La estructura de estos datos para PPPoE se explica en el apartado siguiente.
- CHECKSUM
- Checksum de los datos de la trama Ethernet.
Formato de los datos: trama PPPoE
[editar]Los datos de la trama Ethernet para PPPoE tienen el siguiente formato:
- VER
- Campo de cuatro bits que indica la versión de PPPoE. Debe ser 0x1.
- TYPE
- Campo de cuatro bits que indica el tipo de PPPoE. Debe ser 0x1.
- CODE
- Campo de ocho bits que indica el tipo de paquete PPPoE según la siguiente tabla:
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 |
- SESSION_ID
- Campo de dos bytes que identifica a la sesión PPPoE establecida. En la fase de descubrimiento, toma un valor igual a 0 hasta que el Concentrador de Acceso asigna un identificador a la sesión en marcha. Junto con la dirección origen y destino identifica unívocamente una sesión PPPoE.
- LENGTH
- Campo de dos bytes que indica el tamaño, en bytes, de la parte de datos PPPoE (payload). No incluye la cabecera Ethernet o PPPoE.
- PAYLOAD
- Datos del PPPoE. En la fase de sesión, son los datos del protocolo PPP propiamente dicho. En la fase de descubrimiento, el payload contiene cero o más etiquetas. Cada etiqueta está formada por dos bytes que indican el tipo de etiqueta, dos bytes que indican la longitud en bytes de la etiqueta, y el valor de la etiqueta. Las distintas etiquetas se usan para negociar las condiciones de establecimiento de la sesión PPPoE.
Notas
[editar]- ↑ En la actualidad, las tramas PPPoE se envían por ATM. En el equipo se puede configurar si este 'bridge' se desea realizar incluyendo el campo de 'checksum' o sin incluirlo.