PPPoE : le protocole pour le DNS

Il existe en réalité très peu de différence entre Internet, qui n’est rien de plus qu’un gigantesque réseau informatique, et un réseau local Local Area Network (LAN). Il ne faut cependant pas généraliser : compte tenu de la taille des fournisseurs d'accès à Internet et de la place que prennent leurs serveurs, il est devenu nécessaire pour le réseau mondial de disposer de sa propre technologie. Parmi ces technologies figure le PPPoE, le Point to Point protocol over Ethernet. En quoi consiste exactement ce protocole ?

Pourquoi utiliser le Point to Point protocol over Ethernet ?

Pour pouvoir établir une connexion Internet, votre PC (ou tout autre appareil équivalent) doit passer par un routeur. L’accès est mis à disposition par un fournisseur d’accès à Internet (FAI) qui est également dans l’obligation de vérifier que le client dispose d'une autorisation pour se connecter. Lorsqu’à l’époque Internet faisait son apparition dans les foyers avec l’ISDN, cette vérification s'effectuait au moyen du Point to Point protocol (PPP). Le périphérique (modem ou routeur) établissait une connexion directe avec le nœud du fournisseur d'accès à Internet qui vérifiait les données et autorisait l’accès au réseau.

Ce protocole permettait aux fournisseurs d’accès à Internet non seulement de contrôler les droits d’accès, mais aussi de fixer la quantité de données transférées ainsi que le temps de connexion. Ce protocole s’est avéré très avantageux pour les prestataires, car il était fréquent à l’époque de payer à la minute pour utiliser Internet. L'avènement de la technologie DSL ainsi que l’utilisation simultanée et de plus en plus fréquente de plusieurs appareils au sein d’un même foyer ont rendu nécessaire le recours à de nouvelles technologies.

Le PPPoE présente les mêmes avantages que le PPP, mais avec une technologie basée sur l’Ethernet. Cette technologie filaire s’est désormais généralisée et permet d’établir des connexions rapides et perfectionnées. La fameuse séquence PPP du paquet de données est encapsulée dans la trame Ethernet.

Remarque

Le pppoe protocol a été définit pour la première fois en 1999 dans la RFC 2516.

Structure et procédure du PPP over Ethernet

Le PPPoE est l’un des éléments de la pile de protocoles du modèle TCP/IP. Il figure sur la couche la plus basse, celle de l’accès au réseau. Le protocole se déroule en deux phases distinctes qui ont également un impact sur la structure. La première phase est la phase de découverte. À ce stade, le protocole détermine l'adresse MAC du nœud afin de pouvoir accéder à Internet. Cette requête se fait par l’intermédiaire d’une diffusion : les paquets de données sont envoyés sans but précis sur le réseau. Le nœud, appelé également point de présence (PoP), émet une réponse et établit un niveau de communication entre les deux parties connectées au réseau.

Vient ensuite l’étape de la session PPPoE qui va dans un premier temps traiter les détails. Le nœud vérifie notamment les droits d’accès du client. Vient ensuite l’utilisation proprement dite d'Internet qui correspond toujours à l’étape de la session PPPoE.

Afin de pouvoir identifier les différentes phases, il suffit de se reporter aux champs de la trame Ethernet. Le champ « type Ethernet » affiche 0x8863 pour la phase découverte ou 0x8864 pour la phase session. Vient ensuite la trame PPPoE, encapsulée dans le champ de données de la trame Ethernet. Le PPPoE est à nouveau réparti en plusieurs sections. C’est la version du PPPoE qui est transmise en premier lieu. Cependant, comme il n'existe qu'une seule version du protocole, on ne trouve ici que la valeur 1. Vient ensuite le type PPPoE qui correspond toujours à 1.

Alors que les deux premières versions n’étaient codées que sur 4 bits chacune, le code champ qui suit est de 1 octet (c'est-à-dire 8 bits). Ce champ est particulièrement important pour la phase de découverte du PPPoE. En effet, il indique aux deux parties à quel stade de la communication elles se trouvent. Si vous êtes déjà en phase session, le champ affiche simplement la valeur 0x00. La phase de découverte peut cependant comporter 5 valeurs différentes :

  • 0x09 Le paquet de découverte « Initialisation » (PADI)
  • 0x07 Le paquet de découverte « Offre » (PADO)
  • 0x19 Le paquet de découverte « Requête » (PADR)
  • 0x65 Le paquet de découverte « Confirmation de session » (PADS)
  • 0xa7 Le paquet de découverte « Terminaison » (PADT)

La phase de découverte débute avec la diffusion (PADI). Au cours de cette étape, le client transmet également sa propre adresse MAC afin de pouvoir obtenir une réponse. Dans le paquet de données suivant émis par le PoP, le PoP communique sa propre adresse MAC ainsi que son nom (PADO). Il est tout à fait possible que plusieurs nœuds répondent à la diffusion du client. L'ordinateur ou le routeur local doit alors choisir, en fonction du nom, le PoP qu’il souhaite contacter. Il en informe le nœud par une autre diffusion (PADR). Le point de présence (PoP) contacte alors à nouveau l'abonné du réseau, confirme la connexion et attribue à l'appareil un identifiant de session (PADS). La connexion Internet est désormais établie. Si l’une des parties souhaite mettre fin à la connexion, elle en informe l'autre appareil au moyen d’un paquet de données indiquant que la session est terminée (PADT).

Une fois que la connexion a été établie et que le point de présence a attribué un identifiant de session, c’est au tour des autres champs de la trame d’intervenir. Il faut tout d’abord saisir l’identifiant de la session qui va permettre d'identifier tous les paquets de données qui suivront. On définit ensuite la longueur définitive du champ de la charge utile. Cette information va permettre de s’assurer qu’aucune information ne sera perdue pendant le transfert. Le champ de protocole qui suit indique le type de protocole employé pour la charge utile, par exemple, IPv4 ou IPv6. Ces trois champs ont chacun une longueur de 2 octets. Finalement, le champ charge utile contient les données réelles destinées à être transmises. La durée de cette section peut varier (l’information aura été communiquée au préalable) et finalise la trame du PPPoE.

Les avantages du PPPoE

Le Point to Point protocol over Ethernet est fortement lié au développement de la technologie DSL ainsi qu’à la généralisation d’Internet. Son prédécesseur, le PPP avait été conçu à l’origine pour les lignes commutées comme l’ISDN. Avec la technologie DSL, l'Ethernet s’est généralisé un peu partout. Il a donc fallu mettre à jour l’ancien protocole qui jusqu’alors rencontrait un fort succès. Ethernet permet également à plusieurs appareils de partager la même connexion pour accéder à Internet. Ce qui n’était jusqu’à présent pas le cas avec le Point to Point protocol.

La plupart du temps, le routeur est chargé d’établir la connexion directe avec le fournisseur d’accès et permet ainsi d’accéder à Internet. En revanche, le PPPoE permet à un appareil individuel de communiquer directement avec le PoP. Il suffit d'activer le PPPoE-Passthrough sur le routeur. Le routeur transmet alors directement la demande de connexion de l'appareil. Les phases de découverte et de session se déroulent donc entre le PC (par exemple) et le PoP.

Le PPPoE a également un côté positif que le PPP avait déjà : c’est un protocole qui permet de vérifier assez facilement les droits d'accès du client. Il existe plusieurs méthodes pour y parvenir : le moyen le plus simple pour demander un mot de passe est le protocole d'authentification par mot de passe (PAP) qui consiste tout simplement à demander au client un mot de passe connu de lui seul. Cette technique n'est cependant plus très fiable, même si dans l’absolu elle donne de bons résultats. En effet, lors de la transmission, le mot de passe n'est pas chiffré et pourrait par conséquent être lu par un tiers.

Le protocole CHAP (Challenge Handshake Authentication Protocol) offre davantage de sécurité. Il repose sur l'échange d’une combinaison chiffrée du mot de passe et d’une valeur déterminée. Étant donné que le serveur de l'opérateur réseau connaît le mot de passe, il peut donc déchiffrer la combinaison et vérifier ainsi l'autorisation. Il existe une troisième possibilité d'authentification appelée EAP (Extensible Authentication Protocol). Il s'agit d'une sorte de cadre qui propose plusieurs options d'authentification.

Note

Lorsqu’on évoque le PPPoE, la notion de DHCP revient assez souvent, car ces protocoles, tous deux proposés par les fournisseurs d’accès, permettent de se connecter à Internet. Cependant, d’un point de vue technique, il s’agit de deux protocoles différents. Alors que le PPPoE crée un tunnel qui conduit au nœud, le DHCP s’utilise pour attribuer une adresse IP de façon dynamique.