24

Click here to load reader

Architecture L2TP

Embed Size (px)

Citation preview

Page 1: Architecture L2TP

Architecture L2TP - Layer 2 Tunneling ProtocolPar _SebF1 - Introduction2 - Histoire        2.1 - Rappel du contexte technico-économique        2.2 - Les différentes connexions "Haut débit" par modem xDSL        2.3 - L'alternative PPPoE        2.4 - Statut de PPP over Ethernet3 - Le protocole PPP        3.1 - Introduction        3.2 - Format de l'entête        3.3 - Etablissement d'une connexion        3.4 - LCP - Link Control Protocol        3.5 - NCP - Network Control Protocols        3.6 - Authentification4 - Le protocole PPPoE        4.1 - Introduction        4.2 - L'histoire        4.3 - Format de l'entête        4.4 - Les étapes        4.5 - Sécurité5 - Le protocole L2TP        5.1 - Introduction        5.2 - Format de l'entête        5.3 - Les concentrateurs d'accès - LAC        5.4 - Les serveurs réseau - LNS        5.5 - Avantages et inconvénients6 - L'architecture PPP - L2TP        6.1 - Architecture IP        6.2 - Les encapsulations        6.3 - Les tailles maximums de l'OverHead        6.4 - Problématique liée au MTU7 - Conclusion8 - Discussion autour de la documentation9 - Suivi du document

1 - Introduction

La première partie du dossier est un peu théorique. Après un bref rappel du contexte technico-économique et des différentes problématiques rencontrées par les fournisseurs d'accès à Internet (ISP) avec les connexions « Haut Débit » chez le particulier (technologies xDSL ou liaison câble), le protocole PPPoE sera présenté en détail ainsi que PPP afin d'aborder L2TP. La seconde partie du document est plus orientée pratique. Elle décrit la mise en place d'une solution L2TP et présente les différentes encapsulations et taille des trames.

Page 2: Architecture L2TP

L2TP, définit par la Rfc 2661, est issu de la convergence des protocoles PPTP et L2F. Il est actuellement développé et évalué conjointement par Cisco Systems, Microsoft, Ascend, 3Com ainsi que d'autres acteurs clés du marché des réseaux. Il permet l'encapsulation des paquets PPP au niveau des couches 2 (Frame Relay et ATM) et 3 (Ip). Lorsqu'il est configuré pour transporter les données sur IP, L2TP peut être utilisé pour faire du tunnelling sur Internet. L2TP repose sur deux concepts : les concentrateurs d'accès L2TP (LAC : L2TP Access Concentrator) et les serveurs réseau L2TP (LNS : L2TP Network Server). L2TP n'intègre pas directement de protocole pour le chiffrement des données. C'est pourquoi L'IETF préconise l'utilisation conjointe d'IPSEC et L2TP.

2 - Histoire

2.1 - Rappel du contexte technico-économique

Les services Internet proposés au particulier et aux petites entreprises sont de plus en plus nombreux (connexion via un fournisseur d'accès, travail à distance, services à valeur ajoutée tels que l'e-mail, serveur Web hébergé, VPN, etc.). Cette population appelée communément SOHO (Small Office / Home Office) est la cible des grands de l'industrie du réseau (opérateurs, constructeurs, etc.).

En effet, le besoin de connexion à « Haut-débit » est de plus en plus fort, mais face à des technologies de plus en plus complexes, les déploiements sont ralentis car trop coûteux (liens fibres optiques, terminaux de connexion ATM), trop spécifiques (encapsulations multiples des protocoles pour interfacer PC et modem) ou encore trop difficiles à mettre en place par les opérateurs (configuration, formation des utilisateurs).

Différentes propositions ont été faites afin de « standardiser » et « simplifier » le mode de connexion entre un micro-ordinateur personnel PC et un modem de type xDSL ou modem câble. Ces différentes solutions sont présentées en paragraphe II.2.

Rappelons que les objectifs qui animent ces recherches sont la facilité et la vitesse de déploiement des connexions « Haut débit » chez les consommateurs SOHO, et de surcroît à moindre coût !

2.2 - Les différentes connexions "Haut débit" par modem xDSL

Dans le cas de connexion par RTC (Réseau Téléphonique Commuté), les utilisateurs finaux (SOHO ou particuliers pour un usage privé) sont habitués à utiliser un matériel « banalisé » comme un modem analogique fonctionnant en bande téléphonique analogique (30Hz -> 3,6 KHz), dont le coût d'achat est faible, et surtout dont la configuration est minimale (utilisation des protocoles PPP, SLIP, RAS, etc. nativement gérés par les systèmes d'exploitations les plus répandus du marché).

Dans le cadre des connexions « Haut-débit », un matériel plus sophistiqué de type modem xDSL ou modem câble est nécessaire. Son coût d'acquisition est plus élevé que dans le cas précédent, et la configuration est plus complexe car elle s'appuie sur des technologies plus élaborées.

Les recherches menées par l'industrie du réseau et des télécommunications ont abouti à

Page 3: Architecture L2TP

plusieurs propositions d'architecture décrites ci-après, chacune basée sur les technologies ATM sur xDSL. Un des objectifs étant la simplicité de configuration, le protocole PPP a été retenu comme point de départ. Chacune des solutions diffère sur le mode de connexion entre le micro-ordinateur et le modem xDSL.

2.2.1 - ATM sur interface xDSL

Le schéma suivant présente la première proposition de configuration.

Une carte d'interface xDSL est implantée directement dans le micro-ordinateur, sur lequel sont installés un driver PPP et un driver ATM. L'avantage principal est l'utilisation de PPP pour l'utilisateur, donc la configuration et la procédure de connexion est connue car identique à celle utilisée dans le cas de connexion analogique par RTC. La connexion PPP s'effectue au travers de la boucle locale jusqu'au réseau de données régional vers un POP (Point-Of-Presence) de fournisseur d'accès.

Deux inconvénients majeurs à cette architecture :

Le marché des interfaces xDSL n'en est qu'à ses premiers pas et le manque d'inter-opérabilité entre les différents équipements xDSL ne permet pas la réalisation d'économies d'échelles nécessaires pour la production d'interfaces xDSL standards à coût réduit.

La ligne xDSL ne peut être utilisée que par un seul micro-ordinateur à la fois, ce qui limite l'intérêt de ce type de connexion pour les SOHO.

2.2.2 - Interface ATM et modem xDSL

La seconde proposition d'architecture est présentée dans le schéma ci-dessous.

Page 4: Architecture L2TP

Les limites reconnues d'une interface xDSL, les approches suivantes, dont celle-ci, s'appuient sur un équipement xDSL externe (modem). La configuration proposée ici repose sur un lien ATM entre le micro-ordinateur et le modem xDSL. A cet effet, une interface ATM est implantée dans le PC.

Les inconvénients de cette proposition sont les suivants :

Les interfaces ATM sont peu répandues chez les utilisateurs finaux. Cette configuration était la première hypothèse des opérateurs pour le déploiement des connexions « Haut débit » chez le consommateur. Pour rappel, elle n'a pas été retenue pour des raisons économiques. De plus, ce type d'interface est difficile à installer et à configurer par l'utilisateur. Cette complexité risque de ralentir le déploiement et l'acceptation de la technologie xDSL chez les consommateur.

Il n'existe pas d'interface ATM pour les micro-ordinateurs portables, ce qui est un inconvénient pour les SOHO, le plus souvent nomades.

Le partage d'une telle connexion nécessite l'utilisation d'un commutateur ATM, ce qui rend difficile, voir quasi impossible le déploiement d'un telle solution.

2.2.3 - Interface Ethernet, L2TP sur IP et modem xDSL

La troisième solution est présentée dans le schéma suivant.

Page 5: Architecture L2TP

Cette architecture est plus « ouverte » dans la mesure où le lien entre le micro-ordinateur et l'équipement xDSL repose sur une technologie éprouvée : Ethernet. En effet, le modem xDSL dispose d'un banal connecteur Ethernet qui peut être soit attaché directement à une carte Ethernet implantée dans le client PC (liaison à l'aide d'un câble « croisé » ou « droit » ), soit indirectement via un Hub (ou Switch) Ethernet. Le micro-ordinateur doit être configuré comme sur un réseau local d'entreprise (LAN : Local Area Network), c'est à dire : posséder un driver de carte réseau (NIC Ethernet), une pile de protocole TCP/IP, et une couche logicielle permettant la gestion de sessions PPP (pour la connexion à l'ISP).

Cette topologie a l'avantage de permettre le partage de la connexion xDSL au travers d'un réseau. Autre avantage d'un telle architecture : le coût peu élevé de l'équipement. A noter quand même les quelques inconvénients suivants :

Cette configuration n'intègre pas nativement ce qui est nécessaire au départ, à savoir un mécanisme de transport et de gestion de sessions PPP au travers d'Ethernet. L'utilisation d'un protocole de « tunneling » comme L2TP (ou PPTP) peut s'avérer un moyen pour assurer le transport de PPP sur IP, mais ajoute une complexité à la configuration.

Le modem xDSL doit, dans ce type de solution, posséder une adresse IP (configurable de préférence) pour la communication au niveau du réseau Ethernet. Le client PC a donc quant à lui deux adresses IP : la première pour la connexion au réseau Ethernet (afin d'établir correctement le tunnel L2TP), la seconde pour la liaison PPP vers un ISP.

Quelles adresses IP utiliser pour établir le tunnel L2TP entre le client PC et le modem xDSL ? Une des réponses possibles à cette problématique est l'implantation et l'utilisation combinée de mécanismes comme NAT (Network Address Translation : translation d'adresses IP d'un réseau vers un autre) et DHCP (attribution dynamique d'une adresse IP à un client, à partir de plages définies). Même si ces techniques sont connues et maîtrisées dans le monde du réseau, elles sont loin d'être à la portée des utilisateurs finaux.

2.2.4 - Interface Ethernet, ATM sur BMAP et modem xDSL

La quatrième et dernière architecture proposée est la suivante.

Les inconvénients apportés par l'utilisation d'un protocole de « tunneling » comme L2TP pour transporter du PPP sur de l'Ethernet ont entraîné le développement d'un nouveau protocole

Page 6: Architecture L2TP

baptisé BMAP (Broadband Modem Access Protocol). Dans l'approche qui est présentée sur le schéma ci-avant, la configuration reprend le principe de PPP sur ATM, mais le transport entre le client PC et le modem xDSL sur Ethernet, est assuré par ce protocole BMAP. La configuration de l'équipement xDSL est nettement simplifiée, mais cette solution apporte d'autres inconvénients que ceux cités auparavant :

La pile de protocole au niveau du client PC est bien plus complexe que le modèle Dial-up standard. Alors que ce dernier consiste à adresser directement le modem analogique à partir du protocole PPP, le modèle présenté ici introduit un réseau Ethernet et de l'ATM cohabitant avec du BMAP pour transporter le protocole PPP vers le modem xDSL. La complexité d'un telle configuration est donc une fois de plus mise en avant.

Concernant le partage de la connexion : la nature du protocole BMAP est telle que si plusieurs clients PC veulent accéder au modem xDSL (donc à la même ligne) au même moment, un des micro-ordinateurs du réseau doit être défini pour fonctionner en mode passerelle, relayant ainsi le trafic des autres postes vers le modem. Cet aspect augmente encore le niveau de complexité de cette solution.

Pas ou peu d'équipement xDSL intègre la gestion du protocole BMAP. De plus, il n'y a pas encore de drivers BMAP disponibles pour les systèmes d'exploitations Windows.

2.2.5 - Conclusion

En conclusion de la présentation de ces quatre propositions, il apparaît chaque fois plus d'inconvénients que d'avantages. D'un côté la configuration à mettre en place est soit trop coûteuse ou soit trop complexe pour l'utilisateur final, d'un autre côté les équipements n'intègrent pas les fonctionnalités nécessaires. C'est pour cette raison qu'aucune d'entre elles n'a été retenue.

2.3 - L'alternative PPPoE

La solution qui a été retenue a donné naissance à un nouveau protocole baptisé PPPoE : PPP over Ethernet. Comme son nom l'indique, cette technique repose sur le meilleur des deux mondes :

Le protocole PPP pour la communication avec un ISP au travers de l'architecture xDSL mise en place. Respectant un des objectifs majeurs initiaux, la solution se rapproche du modèle Dial-Up bien connu. L'utilisateur final a déjà une connaissance de l'utilisation et de la configuration de ce mode de connexion.

La topologie Ethernet pour le partage du modem xDSL au travers d'un réseau local bâti autour de Hub (ou Switch) ou de rattachement direct au client PC dans lequel est implantée une carte d'interface Ethernet (NIC), s'appuyant ainsi sur un standard de l'industrie.

Le schéma suivant présente l'architecture PPPoE :

Page 7: Architecture L2TP

Le modem xDSL peut être préconfiguré par l'opérateur (CVP pour le lien opérateur), réduisant ainsi le temps d'installation d'une telle solution chez l'utilisateur final. Ce dernier n'a plus que quelques étapes à réaliser pour finaliser sa connexion « Haut débit » :

Implanter une carte d'interface Ethernet dans le ou les clients PC. Connecter la carte directement au modem xDSL ou sur un Hub Ethernet (dans le cas du partage de la connexion).

Installer le driver Ethernet de la carte correspondant au système d'exploitation du client

Installer le driver PPPoE qui fera le lien PPP entre le client et le modem xDSL.

Créer une connexion à un ISP de façon tout à fait classique.

Le résultat d'une demande de connexion est l'établissement d'une session PPP over Ethernet. Le modem xDSL joue un rôle de pont MAC/LLC qui se contente de faire transiter du flux PPP encapsulé dans des trames Ethernet d'un côté, vers du flux PPP circulant dans un CVP ATM sur support xDSL de l'autre. Le CVP ATM défini permet la connexion directe à un POP via la boucle locale « Haut débit ». Ce dernier doit être équipé de telle manière à accepter des connexions PPP sur ce canal virtuel. L'ISP voit quand à lui arriver une demande de connexion PPP des plus classiques. Lors du partage de connexion, il n'est pas nécessaire de définir de CVP supplémentaires. En effet, le multiplexage de sessions PPP se réalise de manière transparente.

Redback Networks est une des sociétés qui a activement participé à l'élaboration du protocole PPPoE. Elle propose un équipement complet pour les POP s'appuyant sur un serveur SMS1000.

Le schéma suivant résume une solution mettant en oeuvre PPPoE et le serveur de RedBack.

Page 8: Architecture L2TP

2.4 - Statut de PPP over Ethernet

Depuis son développement initial, PPPoE a été soumis en Août 1998 à l'IETF (Internet Engineering Task Force) comme Internet Draft. Une session BOF (Birds Of a Feather) a abouti à la mise à jour de l'Internet Draft initial.

Les sociétés qui ont participé à l'élaboration de PPPoE (RedBack Networks, UUNET, Routerware) ont demandé à l'IETF d'inclure PPPoE dans les RFC (Request for Comment), proposition qui a été retenue et qui fait référence à la RFC 2516.

3 - Le protocole PPP

3.1 - Introduction

Le protocole Point à Point (PPP) propose une méthode standard pour le transport de datagrammes multi-protocoles sur une liaison simple point à point. PPP comprend trois composants principaux:

Une méthode pour encapsuler les datagrammes de plusieurs protocoles.

Un protocole de contrôle du lien "Link Control Protocol" (LCP) destiné à établir, configurer, et tester la liaison de données.

Une famille de protocoles de contrôle de réseau "Network Control Protocols" (NCPs) pour l'établissement et la configuration de plusieurs protocoles de la couche "réseau".Dans notre cas nous n'utilisons que NCP/IP.

Nous présentons l'organisation et les méthodes utilisées par PPP, ainsi que l'encapsulation effectuée par ce protocole, un mécanisme extensible de négociation d'options spécifique à son utilisation capable de négocier une large gamme de paramètres de configuration et apportant des fonctions étendues de gestion. Dans cette présentation Nous étudierons les spécificités de son utilisation dans une cession de type PPPoE.

Page 9: Architecture L2TP

3.2 - Format de l'entête

La trame PPP est constituée d'un en-tête et d'un bloc de données. Cette encapsulation nécessite l'usage d'un tramage dont le but principal est d'indiquer le début et la fin de l'encapsulation. Les champs ci-dessous sont toujours transmis de gauche à droite.

Flag - Indicateur de début ou fin de trame (Valeur = 01111110).

Adresse - Adresse de broadcast standard (Valeur = 11111111), car PPP n'attribue pas d'adresse d'hôte (Couche 2).

Contrôle - Fourniture d'un service non orienté connexion (semblable au LLC) (Valeur = 00000011).

Protocole - Identification du protocole encapsulé (LCP=Cxxx, NCP=8xxx,Protocole de niveau 3=0xxx).

Code Protocole

8021 IP

8023 OSI

8025 XNS, Vines

8027 DECnet

8029 AT

8031 Bridge

Page 10: Architecture L2TP

Données - Contient soit la valeur zéro, soit des données (1500 octets maximum).

FCS - Séquence de contrôle de trame pour une vérification des erreurs.

3.3 - Etablissement d'une connexion

Pour établir une connexion sur un lien Point à Point, chaque extrémité doit dans un premier temps émettre des paquets LCP pour configurer et tester le support de liaison.

Ensuite, PPP envoie des paquets NCP pour choisir et configurer un ou plusieurs protocoles réseau disponibles. Une fois ces protocoles configurés, les datagrammes peuvent être envoyés sur la liaison. Celle-ci reste disponible jusqu'à ce que des paquets LCP ou NCP spécifiques ne la ferment explicitement.

Dead - Une communication débute et se termine nécessairement dans cet état. Le passage à la phase d'établissement s'effectue lorsque le niveau physique est prêt à accueillir la connexion.

Etablissement - Grâce au protocole LCP, les équipements distants s'échangent des paquets de configuration par l'intermédiaire desquels ils négocient les paramètres de la connexion. Au cours de cette phase, tout paquet non-LCP est ignoré.

Authentification - Par défaut, l'authentification n'est pas demandée mais sur certaines liaisons, elle peut être indispensable. Dans ce cas, c'est lors de la phase d'établissement que le protocole d'authentification doit être spécifié.

Connexion - le protocole réseau utilisé (IP, IPX ou Apple Talk) doit être configuré via le protocole NCP. Le trafic sur le lien peut alors avoir lieu.

Fin - la fermeture de la liaison peut survenir suite à plusieurs événements comme la perte de la porteuse, la chute d'une temporisation d'attente ou plus fréquemment suite à la demande d'un utilisateur.

Page 11: Architecture L2TP

Voici un exemple appliqué dans le cadre d'une connexion d'un internaute à un provider:

3.4 - LCP - Link Control Protocol

LCP transporte les paquets permettant d'établir, de maintenir et de terminer PPP. Pour l'établissement de PPP, il faut négocier de paramètres de fonctionnement. LCP gère les options PPP indépendantes des protocoles de la couche réseau. Les premiers paquets envoyés par les extrémités PPP négocient les options configurables au début d'une connexion. Il existe trois classes de paquets LCP :

Les paquets de Configuration de Liaison utilisés pour établir et configurer une communication (Requête-Configuration, Configuration-Acquittée, Configuration-NonAcquittée et Configuration-Rejetée).

Les paquets de Fermeture de Liaison utilisés pour couper une communication (Requête-Fermeture et Fermeture-Acquittée).

Les paquets de Maintenance de Liaison utilisés pour gérer et déterminer une liaison (Code-Rejeté, Protocole-Rejeté, Requête-Echo, Réponse-Echo, et Requête-Elimination).

Lorsque le champ Protocole du paquet PPP indique une valeur hexadécimale c021 (Link Control Protocol). Format d'un paquet LCP :

Page 12: Architecture L2TP

Code - Le champ Code comporte un octet, et identifie le type de paquet LCP.

Valeur Nom Signification

1 Configure-Request Départ de la connexion, définie et négocie la configuration

2 Configure-Ack Accusé de la réception d'un Configure-Request

3 Configure-Nak Réponse négative à la réception d'un Configure-Request

4 Configure-Reject Options de configurations non reconnaissables

5 Terminate-Request Fermeture de la connexion

6 Terminate-Ack Accusé de la réception d'un Terminate-Request

7 Code-Reject Code reçu inconnu

Identificateur - Le champ Identificateur comporte un octet, et fournit un moyen d'associer requêtes et réponses. Lorsqu'un paquet présente un Identificateur invalide, il est ignoré sans affecter l'automate.

Longueur - Le champ Longueur comporte deux octets, et donne la longueur du paquet LCP, y compris l'octet de Code, d'Identificateur, le champ Longueur lui-même et le champ Données. La longueur ne doit pas excéder l'U R M de la liaison.

Données - Le champ Données comporte zéro ou un nombre quelconque d'octets, selon l'indication du champ Longueur. Le format interne du champ Données dépend de la valeur présente dans le champ Code.

Options de LCP pour PPPoE:

Page 13: Architecture L2TP

Recommandé : numéro magique, MRU (<=1492 Octets).

Non recommandé : Compression des champs (PFC).

Non utilisation : Vérification du séquencement des champs (FCS), Compression des champs adresse et contrôle (ACFD); Table des caractères de contrôle asynchrones (ACCM).

3.5 - NCP - Network Control Protocols

L'état réseau d'une connexion PPP suit soit l'état d'authentification, soit l'état d'établissement. A ce stade, LCP a déjà établi toutes les options de PPP. La connexion est active et presque prête à transporter les données de l'utilisateur. Le NCP configure les protocoles de la couche réseau que la connexion PPP va transporter (IP pour PPPoE). Il existe trois classes de paquets NCP :

Les paquets de Configuration, utilisés pour établir et configurer une communication (Requête-Configuration, Configuration-Acquittée, Configuration-NonAcquittée et Configuration-Rejetée).

Les paquets de Fermeture, utilisés pour couper une communication (Requête-Fermeture et Fermeture-Acquittée).

Le paquet erreur (Code-Rejeté).

Détail du paquet NCP :

Code - Le champ Code comporte un octet, et identifie le type de paquet NCP.

Valeur Nom Signification

1 Configure-Request Départ de la connexion, définie et négocie la configuration

Page 14: Architecture L2TP

2 Configure-Ack Accusé de la réception d'un Configure-Request

3 Configure-Nak Réponse négative à la réception d'un Configure-Request

4 Configure-Reject Options de configurations non reconnaissables

5 Terminate-Request Fermeture de la connexion

6 Terminate-Ack Accusé de la réception d'un Terminate-Request

7 Code-Reject Code reçue inconnue

8 Protocol-Reject Réception avec une valeur de protocole inconnu

9 Echo-Request Loopback pour la détermination de la qualité du lien

10 Echo-Reply Réponse au Echo-Request

11 Discard-Request Ignore la requête reçue

Identificateur - Le champ Identificateur comporte un octet, et fournit un moyen d'associer requêtes et réponses. Lorsqu'un paquet présente un Identificateur invalide, il est ignoré sans affecter l'automate.

Longueur - Le champ Longueur comporte deux octets, et donne la longueur du paquet NCP.

Données - Le champ Données comporte zéro ou un nombre quelconque d'octets, selon l'indication du champ Longueur. Le format interne du champ Données dépend de la valeur présente dans le champ Code.

3.6 - Authentification

PPP peut supporter les opérations d'authentifications au début d'une connexion.

L'état d'authentification fait suite à l'état d'établissement si l'une ou l'autre des extrémités est d'accord pour utiliser un protocole d'authentification. La négociation de cette option s'effectue lors de la montée du niveau LCP. Les deux protocoles d'authentifications :

Password Authentication Protocol (PAP) - PAP implémente la méthode traditionnelle avec l'utilisation d'un nom d'utilisateur et d'un mot de passe. Sur demande d'un authentificateur , le récepteur répond avec le nom et le mot de passe, l'authentificateur valide l'information et envoie un accusé de réception positif ou négatif.

Challenge Handshake Authentification Protocol (CHAP) - CHAP implémente une authentification utilisant un nom d'utilisateur et une chaîne aléatoire CHAP. L'authentificateur envoie son nom et sa chaîne aléatoire, le récepteur transforme cette chaîne par un algorithme de calcul et une clé CHAP secrète. Il envoie ensuite le résultat avec son propre nom,

Page 15: Architecture L2TP

l'authentificateur compare la réponse avec sa propre copie de la clé secrète. Enfin, il envoie un accusé de réception indiquant un échec ou un succès.

4 - Le protocole PPPoE

4.1 - Introduction

Les technologies d'accès modernes font face à quelques problèmes et buts contradictoires. Il est souhaitable de connecter des hôtes multiples à un site distant à travers un même dispositif d'accès client. Un autre but est de fournir un contrôle d'accès et facturer selon la même méthode que celle utilisée par PPP sur réseau commuté. Dans beaucoup de technologies d'accès, la méthode la plus avantageuse financièrement pour rattacher des hôtes multiples à un dispositif d'accès client est l'utilisation d'Ethernet. Enfin, la minimisation des coûts est importante ; il faut utiliser la plus petite configuration possible ou mieux aucune configuration.

PPP sur Ethernet (PPPoE) fournit la capacité de connecter un réseau d'hôtes vers un concentrateur d'accès distant à travers un simple dispositif d'accès ponté. Avec ce modèle, chaque hôte utilise sa propre pile PPP et l'utilisateur garde une interface familière. Le contrôle d'accès, la facturation et les autres services peuvent être réalisés par un utilisateur final plutôt que par un site final (la base).

Pour fournir une connexion point à point à travers Ethernet, chaque session PPP doit apprendre l'adresse Ethernet de la machine distante afin d'établir et d'identifier une session unique. PPPoE inclut donc un protocole de découverte.

4.2 - L'histoire

Ce document présente le protocole de communication baptisé PPPoE (Point to Point over Ethernet) permettant de véhiculer du flux PPP (Point to Point Protocol) encapsulé dans des trames Ethernet. Cette technologie (1998-99) est née d'un travail conjoint de UUNET Technologies Inc., RedBack Networks Inc., et RouterWare Inc. Elle fait l'objet de la Rfc 2516 qui sera décrite au cours de l'étude du protocole PPPoE, suivi d'une traduction en français.

4.3 - Format de l'entête

Page 16: Architecture L2TP

L'entête pour PPPoE se définie comme suit :

Version - 4 bits qui doivent être à la valeur 0x1 pour cette version de la spécification PPPoE.

Type - 4 bits qui doivent être à la valeur 0x1 pour cette version de la spécification PPPoE.

Code - 8 bits définis plus bas pour l'étape de découverte et l'étape de la session PPP.

Id - Valeur non signée sur 16 bits. C'est la valeur définie lors de l'étape de la découverte. Cette valeur est fixée pour une session PPP donnée entre l'adresse Ethernet source et l'adresse Ethernet destination. La valeur 0xffff est réservée pour un usage futur et ne doit pas être utilisée.

Longueur - 16 bits indiquant la longueur de la charge utile PPPoE. Cela n'inclut pas la longueur des en-têtes Ethernet ou PPPoE.

Voilà comment l'entête Ethernet spécifie l'intégration de PPP

Page 17: Architecture L2TP

Adresse de destination - Ce champs, basé sur 6 octets contient soit une adresse Ethernet unicast soit une broadcast (0xFFFFFFFFFFFF). Pour les paquets de découverte, la valeur peux être soit unicast soit broadcast. Pour le trafic de session PPP, ce champ doit contenir l'adresse unicast du peer distant qui a été déterminée lors de l'étape Découverte.

Adresse source - Ce champs, basé sur 6 octets, doit contenir l'adresse MAC de l'équipement source.

Type Ethernet - Ce champ codé sur 16 bits doit être configuré à 0x8863 pour l'étape Découverte et 0x8864 pour la session PPP.

CRC - Ce champ permet en 4 octets de valider la conformité de la trame.

4.4 - Les étapes

PPPoE est composé de deux étapes distinctes : la découverte et la session PPP. Quand un hôte veut initier une session PPPoE, il doit tout d'abord lancer une requête de découverte afin d'identifier l'adresse Ethernet MAC de son vis à vis puis définir un identificateur de session PPPoE. Alors que PPP définit une liaison de bout en bout, la phase de découverte correspond à un rapport client-serveur. Lors du processus de découverte, un hôte (le client) découvre un concentrateur d'accès (le serveur). Selon la topologie du réseau, il peut y avoir plus d'un concentrateur d'accès avec lequel l'hôte peut communiquer. L'étape de la découverte permet à l'hôte de découvrir tous les concentrateurs d'accès et d'en sélectionner un. Quand la découverte s'achève avec succès, l'hôte et le concentrateur d'accès sélectionné possèdent les informations qu'ils emploieront pour construire leur connexion point à point sur Ethernet.

L'étape de la découverte attend alors jusqu'à ce qu'une session PPP soit établie. Une fois qu'une session PPP est établie, l'hôte et le concentrateur d'accès doivent allouer les ressources pour une interface virtuelle PPP.

4.4.1 - Découverte

L'étape de découverte s'effectue en quatre temps. Quand elle s'achève, chaque vis à vis connaît l'identificateur de session PPPoE ainsi que les adresses Ethernet des extrémités; cela suffit pour définir une session PPPoE. Les étapes sont :

Emission par diffusion d'un paquet d'initialisation par l'hôte.

Emission de paquets d'offres par un ou plusieurs concentrateurs d'accès.

Emission adressée d'un paquet de demande de session par l'hôte.

Emission d'un paquet de confirmation par le concentrateur d'accès sélectionné.

Quand l'hôte reçoit le paquet de confirmation, il peut passer à l'étape suivante : la session PPP. Toutes les trames de découvertes Ethernet ont la valeur 0x8863 dans le champ « Type Ethernet ». La charge utile PPPoE contient zéro ou plusieurs TAGs. Un TAG est un ensemble type-longueur-valeur (TLV) construit et défini comme suit :

Type - 16 bits. L'annexe A contient une liste de tous les types et de leurs valeurs.

Page 18: Architecture L2TP

Longueur - Valeur non-signée sur 16 bits indiquant en octets la longueur de « Valeur ».

Si un paquet de découverte est reçu avec un TAG de type inconnu, il doit être ignoré à moins qu'il n'en soit spécifié autrement dans ce document. Ceci fournira une compatibilité ascendante lorsque de nouveaux TAGs seront ajoutés. Lorsque de nouveaux TAGs indispensables seront ajoutés, le numéro de version sera incrémenté.

Voici un exemple appliqué dans le cadre de l'ADSL. En effet lors de connexion PPPoE, le client pourra choisir l'équipement de connexion pour soit aller vers son provider, soit vers un serveur multicast ou établir deux sessions simultanées.

Le paquet de découverte « Initialisation » (PADI)

Les hôtes envoient le paquet PADI (PPPoE Active Discovery Initition) en plaçant l'adresse de diffusion dans le champ « Adresse de destination ». Le champ « Code » contient 0x09 et le champ « Identificateur de session » contient