PPPoE sessies

Wat is PPPoE

PPPoE staat voor Point to Point Protocol over Ethernet.
PPP is een serie afspraken waardoor twee systemen met elkaar kunnen communiceren over bijvoorbeeld een telefoon, radio of direkte kabel verbinding. Jaren geleden was dit de manier om via een (telefoon-)modem verbinding te krijgen met een internetprovider. De daadwerkelijke data werd "verpakt" via PPP pakketjes verzonden. Een speciale vorm van PPP is de variant PPPoE waarbij de PPP pakketjes over ethernet verzonden worden.

KPN en XS4ALL maken bij de glasvezeldienst op twee punten gebruik van PPPoE: bij het opzetten van de internet verbinding en bij het opzetten van de telefonie verbinding. PPPoE wordt gebruikt als een tunnel met authenticatie: ethernet is hier de glasvezeldienst en wat er overheen gaat is PPP wat de uiteindelijke bruikbare data in zich heeft.

Het toevoegen van PPPoE in deze situatie is een keuze. Ethernet is een standaard op zichzelf die prima internet kan transporteren. Het toevoegen van PPPoE brengt per 1500 bytes een overhead van 8 bytes met zich mee en het "verpakken" van de data vereist meer rekenkracht van de router thuis en bij de provider.

Hoe werkt PPPoE

PPPoE wordt opgezet in 4 verschillende fases, die met name bedoeld zijn om twee systemen die elkaar niet 'kennen' met elkaar in verbinding te brengen en daarbij allerlei configuratie uit te wisselen. In dit geval is de router thuis de zender die de verbinding initieert.

Stap 1: PADI (PPPoE Active Discovery Initiation) De zender stuurt een broadcast het netwerk op met het verzoek om gegevens te ontvangen van een ontvangende kant waar tegen gepraat kan worden. De zender weet op dit moment nog helemaal niks van het netwerk of benodigde configuratie.

Stap 2: PADO (PPPoE Active Discovery Offer) Een ontvanger (in dit geval van KPN) reageert op de PADI en stuurt zijn unieke naam terug (de DSL-AC NAME) zoals hij geadresseerd wil worden.

Stap 3: PADR (PPPoE Active Discovery Request) De zender stuurt een direct verzoek naar de AC-NAME voor een PPPoE sessie.

Stap 4: PADS (PPPoE Active Discovery Session-Confirmation) De ontvanger bevestigt dat er een PPPoE framework is gestart.

Strikt genomen zijn beide systemen het er na stap 4 over eens dat PPPoE opgezet is, maar er is nog geen PPP tunnel opgezet waar data over heen kan. Er volgen daarom nog diverse PPP configuratie berichten (IPCP: Internet Protocol Control Protocol) waarin onder andere de username/wachtwoord wordt uitgewisseld (via PAP of CHAP), de MTU wordt gezet en natuurlijk worden er IP adressen uitgedeeld. Dit gebeurt vergelijkbaar met hoe een DHCP server dit doet. Als dit achter de rug is, is de internetverbinding een feit.

Lukt het niet en krijg je een timeout foutmelding van je router waarbij een van deze PADx genoemd wordt, dan is er dus (nog) geen probleem met PPP maar een probleem met het bereiken van de servers. Meest voor de hand liggend is de VLAN configuratie op de router.

In Wireshark ziet dit hele proces er als volgt uit, dit is een praktijkvoorbeeld van het opzetten van de internet dienst.