!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> VPN

Virtual Private Network

L2TP

Présentation

L2TP est un protocole de niveau 2, s'appuyant sur PPP et permettant l'établissement d'un tunnel. Ce protocole n'assure que le transport des données et leur intégrité, pas leur confidentialité. Ainsi les données qui transitent par l'intermédiaire de ce protocole ne sont pas cryptées et donc potentiellement lisible par quelqu'un.

Pour cette raison, L2TP encapsule souvent des paquets IPSec pour assurer la confidentialité des données, mais j'en parlerais plus en détail dans quelques instants. Cette procédure d'encapsulation fait l'objet d'une RFC, la RFC 3193.

Architecture

La mise en place d'un VPN L2TP nécessite deux serveurs d'accès.

Les concentrateurs d'accès L2TP, signifiant L2TP Access Concentrateur (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é à 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 concentrateur d'accès LAC joue le rôle de serveur d'accès, il est à l'origine du tunnel et est responsable de l'identification du VPN.

Les serveurs réseau LNS, signifiant L2tp Network Server , peuvent fonctionner sur toute plate-forme prenant en charge la terminaison PPP et gèrent le protocole L2TP côté serveur. Les serveurs LNS sont les émetteurs des appels sortants et les destinataires des appels entrants. Ils sont responsables de l'authentification du tunnel. Pour comprendre un peu mieux sous quelle forme transitent les données, je vais vous montrer un schéma plus orienté protocole.

Schéma récapitulatif de l'empilement des couches

On peux observer ci-dessous un exemple d'utilisation de L2TP par un client souhaitant accéder au contenu HTTP d'un serveur de son entreprise. Ce schéma de couches permet de mieux comprendre le fonctionnement de ce protocole

Comme on peut le voir, le client tente d'envoyer une requête HTTP au serveur situé de l'autre coté du tunnel. Cette requête est encapsulé dans un paquet TCP, lui-meme encapsulé dans IP (ayant une adresse de réseau privée). Jusque-là tout est normal. Le client est ensuite relié au LAC au moyen d'une connexion Point-to-Point (PPP) basée elle-même sur une liaison Ethernet.

Le LAC qui reçoit la requête. A ce moment, il va forger un paquet avec son adresse publique et envoyer toutes les données qu'il a reçu du client à partir de la couche 3 dans un paquet UDP aynat le numéro de port 1701. On remarque qu'ici, le paquet IP envoyé sur Internet est un paquet IPSec avec chiffrement des données selon le protocole ESP afin de garantir la confidentailité des données.

Ces données sont ensuite reçues par le serveur LNS présent dans l'entreprise. Celui-ci récupère les données présente au dessus de la couche UDP pour les placer directement dans une trame Ethernet avant de l'envoyer sur le réseau. La requête ira ensuite directement au serveur HTTP qui répondra au client en suivant le processus inverse.

Cet exemple illustre bien la méthode de tunnelisation utilisée dans les VPNs.

Iconvenients du protocole

Ce protocole présente les inconvénients suivants :
   -> l'empilage des protocoles est lourd et on perd beaucoup en débit utile.
  -> Il est important de veiller à ce que le MRU de la connexion PPP soit en accord avec le MTU des réseau traversés au travers du tunnel. Une fragmentation supplémentaire des paquets réduirai encore un peu plus le débit utile.