Académique Documents
Professionnel Documents
Culture Documents
C O M
Partage des connaissances du monde TCP/IP
(http://www.frameip.com/)
Sommaire [Masquer]
2 – Histoire
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.
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
(http://www.frameip.com/tcpip/), 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
(http://www.frameip.com/nat/) : translation d’adresses IP d’un réseau vers un
autre) et DHCP (http://www.frameip.com/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.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.
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.
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, 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
(http://www.frameip.com/rfc-2516-a-method-for-transmitting-ppp-over-ethernet-pppoe/) qui
sera décrite au cours de l’étude du protocole PPPoE, suivi d’une traduction en français
(http://www.frameip.com/rfc-2516-fr-une-methode-pour-la-transmission-du-ppp-sur-
ethernet/).
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 entêtes Ethernet ou PPPoE.
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.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.
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.
Quand un hôte ne reçoit pas de paquet PADO au bout d’un laps de temps déterminé, il doit
renvoyer le paquet PADI et doubler la période d’attente. Cela peut se répéter autant de fois
que souhaité et désiré. Si l’hôte attend pour recevoir un paquet PADS, un mécanisme
similaire de temps mort doit être employé, avec l’hôte renvoyant le PADR. Après un nombre
déterminé d’essais, l’hôte doit alors renvoyer un paquet PADI. Les valeurs du champ « Type
Ethernet » employées dans ce document (0x8863 et 0x8864) ont été assignées par l’IEEE
pour l’utilisation de PPPoE. L’utilisation de ces valeurs et le champ « Version » sont les seuls
identifiants du protocole.
4.5 – Sécurité
Afin de se protéger contre d’éventuels actes de piratage, le point d’accès (AC : Access
Concentrator) peut utiliser le TAG AC-Cookie. Ce dernier doit être en effet capable de
générer de manière unique une valeur de TAG basée sur l’adresse MAC source d’une
requête PADR, identifiant l’hôte émetteur. Cet identifiant permettra ainsi au point d’accès de
limiter le nombre de sessions simultanées pour un hôte donné. L’algorithme utilisé pour la
génération d’un identifiant unique à partir de l’adresse MAC est laissé au choix des
constructeurs (détail d’implémentation). L’algorithme HMAC (Keyed-Hashing for Message
Authentication) peut par exemple être mis en place. Il nécessite une clé privée qui n’est
connue que du point d’accès. Attention toutefois à l’utilisation du TAG AC-Cookie, car il est
une méthode de protection contre certaines attaques, mais il n’offre pas une garantie de
sécurité totale.
Certains point d’accès ne souhaitent pas forcément diffuser l’ensemble des services qu’ils
implémentent à des hôtes non authentifiés. Dans ce cas, deux stratégies peuvent être
employées :
Ne jamais refuser une requête basée sur le TAG Service-Name, et toujours lui
retourner la valeur du service demandé. Il y a donc correspondance entre le service
demandé et le service retourné à l’hôte émetteur.
N’accepter que les requêtes Service-Name ayant une longueur de TAG nulle
(indiquant n’importe quel service). L’hôte émetteur et le point d’accès connaissent
déjà le type de service utilisé pour cette session. L’information sur le service ne
circule donc plus sur le réseau.
5 – Le protocole L2TP
5.1 – Introduction
L2TP a été conçu pour transporter des sessions PPP au travers d’un réseau IP, et de
terminer physiquement les sessions PPP en un point de concentration déterminé dans le
réseau.
Le protocole L2TP (Layer 2 Tunneling Protocol), développé à partir du protocole point à point
PPP, est sans conteste l’une des pierres angulaires des réseaux privés virtuels d’accès. Il
rassemble en effet les avantages de deux autres protocoles L2F et PPTP. L2TP est une
norme préliminaire de l’IETF (Engineering Task Force) actuellement développée et évaluée
conjointement par Cisco Systems, Microsoft, Ascend, 3Com et d’autres acteurs clés du
marché des réseaux.
Le protocole L2TP est un protocole réseau qui encapsule des trames PPP pour les envoyer
sur des réseaux IP, X25, relais de trames ou ATM. Lorsqu’il est configuré pour transporter les
données sur IP, le protocole L2TP peut être utilisé pour faire du tunnelling sur Internet. Dans
ce cas, le protocole L2TP transporte des trames PPP dans des paquets IP. La maintenance
du tunnel est assurée à l’aide de messages de commandes au format L2TP tandis que
le protocole UDP (http://www.frameip.com/entete-udp/) est utilisé pour envoyer les trames
PPP au sein de trames L2TP.
6.1 – Architecture IP
Voici l’architecture PPP transporté sur un réseau d’infrastructure IP via L2TP :
7 – Conclusion
L2TP permet en conclusion le transport d’une couche 2 (PPP) over un réseau d’infrastructure
basé sur IP. Cela permet aux opérateurs de véhiculer des services étanches basés sur une
authentification Radius apportant un provisionning simple, dynamique et rapide. L’intérêt
d’une séparation du réseau d’infrastructure des services devient évidente.
Les réseaux, y compris ceux d’infrastructures opérateurs, évoluent vers du full IP. Les
services existants et futurs sont réalisés par des concepts de L3VPN et L2VPN. Ceci
permettant de répondre aussi aux exigences d’interconnexions Lan to Lan. L2TP se
positionne comme un tunnel transportant un L2 over IP, d’autres apparaissent sur le marché
comme VPLS, VPWS, PWE3 et comme le dit Cisco, l’ATOM (Any transport Over MPLS
(http://www.frameip.com/mpls-cisco/)).
8 – Suivi du document
Création et suivi de la documentation par _SebF – Merci à Emmanuel Hulin et Philippe
Masquart
Commentaire et discussion