34 0 116KB
INTRODUCTION : PPPoE fournit une méthode standard pour l’emploi des méthodes d’authentification du protocole point à point (PPP) sur un réseau Ethernet. Lorsqu’il est utilisé par les FAI (fournisseur d’accès internet), PPPoE permet l’attribution authentifiée des adresses IP. Dans ce type d’implémentation, le client et le serveur PPPoE sont interconnectés par des protocoles de couche 2 fonctionnant sur une connexion DSL ou à large bande. Le PPPoE se compose de deux phases principales :
Phase de découverte active (Active Discovery Phase) : Dans cette phase, le client PPPoE localise un serveur PPPoE, appelé concentrateur d’accès. Pendant cette phase, un ID de session est attribué et la couche PPPoE est établie.
Phase de session PPP (PPP Session Phase) : Dans cette phase, les options PPP sont négociées et l’authentification est effectuée. Une fois la configuration de la liaison terminée, PPPoE fonctionne comme une méthode d’encapsulation de couche 2, permettant le transfert des données sur la liaison PPP dans les en-têtes PPPoE.
CONFIGURATION PPP over Ethernet : Le caractère asymétrique du dialogue PPPoE a une influence importante sur la configuration des deux (systèmes|routeurs) virtuels. Le routeur Hub doit exécuter un processus spécifique pppoe-server qui lui permet d'attendre les requêtes du routeur Spoke. La configuration de ce routeur Spoke est très voisine de celle de n'importe quel client PPP. Il suffit juste de spécifier l'utilisation du greffon pppoe dans la configuration.
Exemple de configuration : PPPoE Router(config)# interface dialer 2 Router(config-if)# ip address negotiated Router(config-if)# mtu 1492 Router(config-if)# encapsulation ppp Router(config-if)# ppp chap hostname Finger Router(config-if)# ppp chap password InTheNet Router(config-if)# dialer pool 1 Router(config)# interface FastEthernet 0/1 Router(config-if)# no ip address Router(config-if)# pppoe-client dial-pool-number 1 Router(config-if)# pppoe enable
Comment et où fonctionne PPPoE ?
Le protocole de transport utilisant le réseau téléphonique utilise l'ATM. Le modem DSL encapsule les paquets PPP dans des cellules ATM et les envoie sur WAN.
PPP est le protocole d'accès point à point traditionnel, naturellement PPPoE est maintenant une relation client-serveur puisque plusieurs utilisateurs peuvent se connecter au fournisseur de services à partir d'une seule connexion physique. Le processus de découverte se compose de 5 étapes entre le point du fournisseur de services Internet et le PC client en tant que client. Ces étapes sont répertoriées ci-dessous.
du client au serveur :
Initiation PADI (PPPoE Active Discovery Initiation)
PADI est situé au début de la découverte active PPPoE. Le premier package est PADI. Si un utilisateur souhaite se connecter via DSL, le client doit d'abord trouver le concentrateur d'accès DSL (DSL-AC) (serveur) du point POP du FAI. La communication via Ethernet ne peut se faire que via des adresses MAC. Pendant ce temps, l'ordinateur ne connaît pas l'adresse MAC de DSL-AC, il envoie le paquet PADI via une diffusion Ethernet. Ce paquet PADI contient l'adresse MAC de l'expéditeur.
Src. (= Source) Conserve l'adresse MAC de l'expéditeur dans le package PADI.
Adresse de diffusion Ethernet du Dst. (= Destination).
Le package PADI peut être reçu par plusieurs DSL-AC. Seul le DSL-AC qui répond à la balise «Service-Name» répondra.
Serveur à client Offre (offre) PADO (L'offre PPPoE Active Discovery) PADO PPPoE est disponible pour l'offre d'exploration active. Une fois que l'ordinateur client envoie le paquet PADI, répond avec le paquet PADO en utilisant l'adresse MAC fournie avec le PADI DSL-AC. Le package PADO contient l'adresse MAC DSL-AC, comprend le nom mac et le nom du service. Si plusieurs POP DSL-AC répondent avec le package PADO, l'ordinateur choisit le nom et le service fournis. -AC-Name-> Le nom AC est conservé dans la chaîne de données, dans cet exemple «Ipzbr001» (l'Arcor DSL-AC à Leipzig) -Garde l'adresse MAC de Src.DSL-AC. L'adresse MAC de DSL-AC contient également les informations du fabricant (dans ce cas, Nortel Networks)
Exemple: accès PPPoE pour les utilisateurs IPv6 Du client au serveur Request PADR (The PPPoE Active Discovery Request) PADR PPPoE passe en tant qu'étape de demande dans le processus de découverte active. Ce paquet est envoyé au DSL-AC par l'ordinateur client en réponse au paquet (PADO) précédemment envoyé par DSL-AC. Ce package confirme l'acceptation de l'offre dans le package PADO précédemment envoyé par le DSL-AC concerné pour établir la connexion PPPoE.
Du serveur au client Ma session-confirmation. (Confirmation de session) PADS (confirmation de session de découverte active PPPoE) PADS est passé en tant qu'étape de confirmation de session dans le processus de découverte active PPPoE. L'identifiant de session (ID de session) est publié avec le package PADS approuvé par DSL-AC avec le package PADR. Désormais, la connexion à DSL-AC spécifiée pour ce POP est entièrement établie. Dernier point ou autre point final Terminaison PADT (PPPoE Active Discovery Terminate) PADS est appelé l'étape de terminaison dans le processus de découverte active PPPoE. Ce package met fin à la connexion POP. Ce paquet peut être envoyé par DLS-AC ou client. Raisons d'utiliser PPPoE Les méthodes d'accès Internet traditionnelles, dans lesquelles les ordinateurs sont connectés au modem d'accès à distance par l'utilisateur via des ports série, sont très lentes. PPP est conçu pour fonctionner directement sur ces connexions série. Avec le développement des technologies d'accès Internet à large bande telles que l'ADSL et le modem câble, la bande passante qui peut être offerte aux utilisateurs a connu une augmentation notable. Cette augmentation signifiait que les ordinateurs dotés de connexions ADSL ou de modem câble du côté utilisateur se propageaient sur un support plus rapide tel qu'Ethernet. Ethernet est le moyen le plus simple et le plus économique de connecter de nombreuses machines. Par conséquent, les scénarios qui connectent de nombreux ordinateurs entre eux et un périphérique d'accès Internet sont basés sur Ethernet. Avantages PPPoE PPPoE présente de nombreux avantages pour les fournisseurs de services aDSL (Digital Subscriber Line). Les sessions PPPoE ne sont vraiment que des sessions PPP. Les adresses IP peuvent être dynamiques. Il n'est pas possible que les adresses IP qui sont fréquemment renouvelées par DHCP restent fixes. Le fournisseur de services s'assure que l'adresse IP change à chaque fois qu'il se connecte à Internet. PPPoE crée une «session» par les fournisseurs de services en fonction du temps de connexion via Ethernet. Cela permet aux fournisseurs de services de se débarrasser des connexions permanentes et des abonnés excédentaires dans le pool d'adresses IP.
Les sessions PPP nécessitent presque toujours une authentification, de sorte que les fournisseurs de services DSL peuvent facturer le prix au bon client, quel que soit l'endroit où le client est connecté. PPPoE offre une prise en charge de plusieurs protocoles. Inconvénients : Ce sont quelques inconvénients principaux de PPPoE et comment elles diffèrent de PPPoA : Vous devez installer le logiciel de PPPoE Client sur tous les hôtes (PC) qui se connectent au segment d'Ethernets. Ceci signifie que le fournisseur Internet doit mettre à jour le CPE et le logiciel client sur le PC.
Puisque l'implémentation de PPPoE utilise le RFC 1483 jetant un pont sur, elle est susceptible des saturations de diffusion et des attaques par déni de service possibles.
Les différents services PPPoE (TAGs)
Le tableau ci-dessous présentent la liste des différentes commandes et services présents dans l’en-tête PPPoE et codés sous la forme TLV (Tag-Length-Value, c’est à dire Type/Longueur/Valeur) : Nom du TAG
Identifiant
End-Of-List
0x0000
Service-Name
0x0101
AC-Name
0x0102
Host-Uniq
0x0103
AC-Cookie
0x0104
Description Ce TAG indique qu’il n’y plus de TAG. C’est une marque de fin de liste. La longueur doit être nulle. Son utilisation n’est pas obligatoire, mais assure la compatibilité du protocole. Ce TAG indique le nom d’un service (nom de l’ISP, classe ou qualité de service). Le nom du service est une chaîne de caractères codée selon la norme UTF-8 (et non ASCII). La chaîne ne se termine pas par un NULL, la longueur est indiquée à la suite du TAG. Si la longueur spécifiée est nulle, cela indique un service quelconque. Ce TAG décrit de manière unique un point d’accès (Access Concentrator). Le codage est identique à celui du TAG précédent (Service-Name). La chaîne de caractères doit contenir : la marque du matériel, le modèle, le n° de série ou tout simplement l’adresse MAC en format UTF-8 non terminée par un zéro. Ce TAG est utilisé pour associer de manière unique un hôte et un point d’accès. La longueur et la valeur du TAG (valeur binaire quelconque) sont choisies par l’hôte émetteur. Ces données ne sont pas interprétées par le point d’accès, mais doivent figurer (au choix de l’hôte émetteur) dans les requêtes PADI ou PADR. Le point d’accès les replacent à l’identique dans les réponses PADO ou PADS. Ce TAG est utilisé pour assurer une sécurité minimale contre les actes de piratage (voir § précédent sur la sécurité). Le point d’accès transmet ce TAG dans les réponses PADO, et l’hôte doit le retourner sans modification dans les requêtes PADR.
Vendor-Specific
0x0105
Relay-Session-Id
0x0110
Service-Name-Error
0x0201
AC-System-Error
0x0202
Generic-Error
0x0203
Ce TAG est réservé aux constructeurs. Les 4 premiers octets doivent contenir un identifiant de constructeur. L’octet de poids fort est à 0, et les 3 octets de poids faible correspondent au code privé officiel et universel d’entreprise utilisé surtour dans les MIBs SNMP (SMI Network Management Private Entreprise Code of the Vendor), selon la RFC 1700 « Assigned Numbers ». Ce TAG peut être ajouté dans les paquets du « Discovery stage » par un point d’accès ou agent intermédiaire qui relaie le traffic. La valeur du TAG est inconnue de l’hôte émetteur et du point d’accès final. Ces derniers doivent inclure dans les requêtes du « Discovery stage » la valeur non modifiée de ce TAG. Chaque paquet PADI doit garantir une place disponible suffisante de 12 octets pour ce TAG. La valeur de ce TAG ne doit pas être modifiée par un second ou nième agent relais. Si la place nécessaire pour ajouter un autre TAG Relay-Session-Id est disponible dans le paquet, alors il y aura plusieurs TAGs de ce type. Dans le cas contraire un TAG GenericError est retourné à l’émetteur du paquet. Ce TAG (le plus souvent de longueur nulle) indique une erreur en réponse à une requête de type Service-Name. Au choix du destinataire, la valeur du TAG peut contenir une description de l’erreur survenue codée sous la forme UTF-8. Ce TAG indique qu’une erreur est survenue et que la requête de l’hôte ne peut aboutir (par exemple, plus de ressources suffisantes pour créer un circuit virtuel). Ce TAG est inclus dans les réponses PADS. Comme son nom l’indique, ce TAG informe qu’une erreur générique est survenue durant la session. Un message descriptif peut accompagner ce TAG sous la forme d’une chaîne de caractères codée en UTF-8.
CONCLUSION : En résumé, un poste sur lequel le protocole PPPoE a été implanté, désireux de communiquer avec un serveur d'accès distants (Broadband Remote Access Server, BRAS), suit le principe de communication ci-après : 1. l'établissement d'une connexion PPPoE avec obtention d'un identifiant de session; 2. l'identification du client via le protocole de gestion et de maintenance d'une connexion PPP (LCP); 3. l'obtention des paramètres de connexion IP par ce même protocole LCP; 4. le transport des datagrammes IP par PPP, lui-même transporté par Ethernet.
A contrario du protocole PPP qui établit une liaison point à point, le protocole PPPoE établit quant à lui une relation client-serveur, via une phase d'apprentissage, où un hôte peut choisir entre plusieurs BRAS pour l'établissement de la session. Une fois que la phase d'apprentissage est terminée, l'hôte et le BRAS possèdent les éléments nécessaires pour créer une connexion point à point au-dessus d'Ethernet.