Il existe sur le marché trois principaux protocoles :
Rappel sur PPP : Point-to-Point Protocol
Introduction
PPP fut développé pour transférer des données sur des liens synchrones ou asynchrones entre deux points en utilisant HDLC comme base d’encapsulation et un Frame Check Sequence (FCS) HDLC pour la détection des erreurs. Cette liaison permet le full duplex et garantit l’ordre d’arrivée des paquets.
Une fonctionnalité intéressante de ce protocole est le multiplexage simultané de plusieurs protocoles de niveau 3 du modèle OSI.
Ce protocole encapsule des paquets IP,IPX et NetBEUI, … dans des trames PPP, puis transmet ces paquets PPP encapsulés à travers la liaison point à point. PPP est donc utilisé entre un client distant et un serveur d’accès distant.
Le protocole PPP est décrit dans la RFC 1331.
Format de la trame PPP
Fanion : séparateur de trame. Un seul drapeau est nécessaire entre 2 trames.
Adresse : Le champ adresse correspond à une adresse HDLC, or PPP ne permet pas un adressage individuel des stations donc ce champ doit être à 0xFF (toutes les stations), toute adresse non reconnue fera que la trame sera détruite.
contrôle : Le champ contrôle doit être à 0x03, ce qui correspond à une trame HDLC non numérotée. Toute autre valeur fera que la trame sera détruite.
Protocole : La valeur contenue dans ce champ doit être impaire, l’octet de poids fort étant pair. Ce champ identifie le protocole encapsulé dans le champ informations de la trame. Les différentes valeurs utilisables sont définies dans la RFC " assign number " et représentent les différents protocoles supportés par PPP (OSI,IP,Decnet IV,IPX,…), les NCP associés ainsi que les LCP.
Informations : De longueur comprise entre 0 et 1500 octets, ce champ contient le datagramme du protocole supérieur indiqué dans le champ "protocole ". Sa longueur est détectée par le drapeau de fin de trame, moins 2 octets de contrôle
FCS (Frame Check Sequence) : Ce champ contient la valeur du checksum de la trame. PPP vérifie le contenu du FCS lorsqu’il reçoit un paquet. Le contrôle d’erreur appliqué par PPP est conforme à X25.
PPTP (Point to Point Tunnelling Protocol)
C’est un protocole de niveau 2 qui encapsule des trames PPP dans des datagrammes IP afin de les transférer sur un réseau IP. PPTP permet le cryptage des données PPP encapsulées mais aussi leur compression.
Le schéma suivant montre comment un paquet PPTP est assemblé avant d’être transmis par un client distant vers un réseau cible.
L’intérêt de PPTP est de ne nécessiter aucun matériel supplémentaire car les deux logiciels d’extrémité (le client et le serveur) sont intégrés dans NT4. Par contre, il ne fonctionne que sous NT pour le moment.
Le protocole d'authentification dans Microsoft PPTP est le protocole d'épreuve/réponse de Microsoft (MS-CHAP) et le protocole de chiffrement est le chiffrement Point to Point de Microsoft (MPPE). Après la cryptanalyse de Microsoft PPTP et la révélation publique de ses faiblesses importantes, Microsoft a mis à jour ses protocoles. La nouvelle version s'appelle MS-CHAP version 2 (MS-CHAPv2); l'ancienne version a été renommée MS-CHAP version 1.
C’est un protocole qui a été développé par Cisco, Northern Telecom et Shiva. Il est décrit dans la RFC 2341
L2F est un protocole de niveau 2 qui permet à un serveur d’accès distant de véhiculer le trafic sur PPP et transférer ces données jusqu’à un serveur L2F (routeur). Ce serveur L2F désencapsule les paquets et les envoie sur le réseau.
Il faut noter que contrairement à PPTP et L2PT , L2F n’a pas besoin de client.
Fonctionnement :
Ce protocole est progressivement remplacé par L2TP qui est plus souple.
L2TP (Layer Two Tunnelling Protocol)
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 de fractionnement en canaux : L2F (Layer 2 Forwarding), développé par Cisco Systems, et PPTP ( Point-to-Point Tunneling), de Microsoft. 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.
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, L2TP peut être utilisé pour faire du tunnelling sur Internet. Mais L2TP peut aussi être directement mis en œuvre sur des supports WAN (relais de trames) sans utiliser la couche de transport IP.
On utilise souvent ce protocole pour créer des VPN sur Internet. Dans ce cas, L2TP transporte des trames PPP dans des paquets IP. Il se sert d’une série de messages L2TP pour assurer la maintenance du tunnel et d’UDP pour envoyer les trames PPP dans du L2TP.
Concepts clés de L2TP
Concentrateur d'accès L2TP (LAC) Les périphériques LAC peuvent être intégrés à la structure d'un réseau commuté comme le réseau téléphonique commuté (RTC), ou encore associés à un système d'extrémité PPP prenant en charge le protocole L2TP. Le rôle du concentrateur d'accès LAC se limite à fournir un support physique qui sera utilisé par L2TP pour transférer le trafic vers un ou plusieurs serveurs réseau L2TP (LNS). Il assure le fractionnement en canaux pour tout protocole basé sur PPP. Le LAC est l'émetteur des appels entrants et le destinataire des appels sortants. Dans le cadre du protocole L2F (Layer 2 Forwarding), ce périphérique est connu sous le nom de serveur d'accès au réseau, ou NAS.
C’est lui qui sera l’originaire du tunnel et le responsable de l’identification du VPN.
Serveur réseau L2TP (LNS) Les serveurs réseau L2TP, ou LNS, peuvent fonctionner sur toute plate-forme prenant en charge la terminaison PPP. Le LNS gère le protocole L2TP côté serveur. Le protocole L2TP n'utilise qu'un seul support, sur lequel arrivent les canaux L2TP. C'est pourquoi les serveurs réseau LNS ne peuvent qu'avoir une seule interface de réseau local (LAN) ou étendu (WAN). Il sont cependant capables de terminer les appels en provenance de n'importe laquelle des interfaces PPP du concentrateur d'accès LAC : async., RNIS, PPP sur ATM ou PPP sur relais de trame. Le LNS est l'émetteur des appels sortants et le destinataire des appels entrants. Dans le contexte du protocole L2F, les serveurs réseau L2TP sont également connus sous le nom de " Home Gateway " ou HGW.
C’est le LNS qui sera responsable de l’authentification du tunnel.
Avantages de L2TP :
Prise en charge d'environnements multi-protocoles - L2TP assure le transit de tous les protocoles de routage, notamment IP, IPX et Appletalk.
Fonctionnement indépendant du support - La mise en ouvre de L2TP est opérationnelle sur n'importe quel réseau supportant les trames IP. Elle accepte toutes les technologies de réseau fédérateur étendu, notamment le relais de trame, ATM, X.25 ou SONET. Elle est également opérationnelle sur les réseaux locaux comme Ethernet, Fast Ethernet, Token Ring et FDDI.
Sécurité Le protocole de fractionnement de canaux L2TP prend en charge l'authentification des canaux et des utilisateurs. Par ailleurs, il est possible d’utiliser les fonctions de PPP (PAP, CHAP, MPPE) et il est conseillé de l’interfacer avec IPSEC.
Attribution et gestion des adresses : le protocole L2TP offre un support complet des fonctions d'attribution dynamique d'adresses IP à partir d'un pool d'adresses géré par l'entreprise. Ces fonctions incluent notamment la prise en charge intégrale des adresses privées (cf. RFC 1918). Le protocole L2TP inclut également la prise en charge de l'attribution dynamique d'adresses depuis le serveur DHCP.
Fiabilité : L2TP donne accès à des fonctions de sauvegarde permettant de configurer plusieurs pairs LNS et de les renforcer par des LNS de secours. Si une connexion vers le serveur LNS principal est indisponible pour une raison quelconque, le serveur d'accès réseau NAS (concentrateur d'accès LAC) établit une connexion vers le serveur LNS de secours.
Modularité : L2TP supporte un nombre illimité de connexions sur chaque LAC et peut assurer plus de 2 000 sessions par LNS sur une plate-forme de routage Cisco.
Gestion : afin d'optimiser la gestion des incidents, l'implémentation de L2TP inclut la prise en charge L2TP des bases MIB SNMP même avant que ne soit homologuée la norme MIB de l'IETF. Le support MIB offre une codification complète des incidents ainsi qu'un système exhaustif de diagnostic des motifs de déconnexion. En outre, L2TP comporte un ensemble de messages pouvant être envoyés à un serveur syslog (historique système). Cet ensemble de fonctionnalités offre aux réseaux privés virtuels d'accès basés sur L2TP une solution complète de bout en bout de résolution des incidents.
L2TP étant un protocole standard, tous les clients (qu'ils soient fournisseurs d'accès Internet ou administrateurs de réseaux d'entreprise) bénéficient d'une large gamme de solutions de services proposées par divers fournisseurs. Cette compatibilité garantit la perspective d'un déploiement international rapide d'un service standard de réseaux privés virtuels d'accès.