Les Virtuals Private Networks (VPN)


Le Réseau privé virtuel (VPN ou Virtual Private Network) peut être vu comme une extension des réseaux locaux qui préserve la sécurité logique que l’on peut avoir à l’intérieur d’un réseau local. Il consiste en l’interconnexion de multiples réseaux locaux à travers divers liens vers des réseaux extérieurs par une technique de « tunnel ». Ces liens vers des réseaux extérieurs constituent le « backbone » (ou dorsale). Il est partagé par plusieurs entités qui mettent en place la technique de tunnel afin d’étanchéifier virtuellement leur interconnexion de réseaux locaux. Cette interconnexion est appelée VPN. Le backbone peut être publique, comme c’est le cas sur Internet ou privé, grâce aux infrastructures mises en place par les opérateurs pour fournir des services de VPN aux entreprises. Sur Internet, les techniques de tunnel se sont particulièrement développées. Mais historiquement, il faut remonter à X25 pour voir les premières apparitions de VPN inter-sites mises en place chez les opérateurs. X25 a ensuite été remplacé par Frame Relay, ATM et MPLS de nos jours.

Beaucoup moins onéreuses que les solutions dédiées, les solutions s’appuyant sur internet sont de plus en plus populaires et offrent de très bons résultats. Le principe est ici d’encapsuler les données échangées par deux entités dans un protocole de « tunnelisation » qui s’occupe d’assurer les fonctions de base de sécurité : confidentialité, authentification et intégrité. Le réseau virtuel ainsi crée est alors un VPN. Il est dit virtuel car les réseaux physiques des entités à interconnecter sont reliés virtuellement à travers un autre réseau, non fiable : Internet. Il est également dit privé, car des personnes écoutant à l’extérieur du tunnel (sur Internet) ne peuvent savoir quelles données sont échangées à travers le tunnel et avec qui. Seuls les ordinateurs locaux de part et d’autre du VPN peuvent voir les données.

On voit ainsi que de tels VPN permettent d’obtenir des liens sécurisés entre différents sites, et à moindre coût. Seuls les équipements terminaux représentent un investissement conséquent. Bien évidemment, le fait de passer par Internet ne permet pas une aussi bonne qualité de service que l’on obtiendrait avec des liaisons dédiées, Internet étant publique et son débit non garanti. Il est donc de la responsabilité de parer à des défaillances du réseau publique avec des liens redondants et des Garanties de Taux de Rétablissement (GTR) élevées.


Réseau privé virtuel


Sur des réseaux publiques, le protocole le plus utilisé pour la mise en place de VPN est IPsec. Réalisée dans le but de fonctionner avec le protocole IPv6, IPSec fut adaptée pour l’actuel protocole IP (IPv4). Son objectif est d’authentifier et de chiffrer les données : le flux ne pourra être compréhensible que par le destinataire final (chiffrement) et la modification des données par des intermédiaires ne pourra être possible (intégrité). D’autres protocoles existent comme : GRE, PPTP, L2TP, SSL, SSH, etc.

Sur les réseaux opérateurs, la technologie la plus en vogue actuellement est MPLS (MultiProtocol Label Switching). Comme son nom l’indique, c’est une technologie de commutations de paquets pouvant s’accommoder de multiples protocoles.


Le protocole BGP



BGP (Border Gateway Protocol) est un protocole de routage entre systèmes autonomes (Autonomous System, AS), donc de type EGP (Exterior Gateway Protocol). Un AS est un réseau ou un ensemble de réseaux sous une même entité administrative, et ayant des politiques de routage identiques. BGP est le protocole de routage utilisé pour Internet, et est le protocole utilisé entre les Fournisseurs d’Accès Internet (FAI). Les réseaux clients (comme les entreprises, universités, etc.) en principe utilisent un protocole de type IGP (Interior Gateway Protocole) comme RIP ou OSPF pour échanger les routes à l’intérieur de leur réseau. Ces clients se connectent à un FAI et les FAI utilisent BGP pour échanger les routes des clients avec les autres FAI. Quand BGP est utilisé entre plusieurs AS, le protocole est dit eBGP (exterior BGP). Si un fournisseur d’accès utilise BGP pour échanger des routes à l’intérieur d’un AS, le protocole est dit iBGP (interior BGP).

BGP est un protocole très robuste est qui monte très bien en charge : en effet, c’est celui qui est utilisé sur Internet. A l’heure actuelle, la totalité des routes d’Internet représente environ 90000 routes. Pour assurer la montée en charge à ce niveau, BGP utilise beaucoup de paramètres de routes, appelés des attributs, pour définir des politiques de routage et maintenir un environnement stable de routage.

En plus des attributs BGP, CIDR (ClassLess InterDomain Routing) est utilisé par BGP pour réduire la taille des tables de routage d’Internet. Ce processus est appelé « summarization ». Par exemple, supposons qu’un FAI possède le bloque d’adresses 195.10.X.X provenant de l’espace d’adressage traditionnel de classe C. Ce bloque consiste en 256 adresses de classe C. Supposons maintenant que le fournisseur d’accès assigne une adresse de classe C à chacun de ses clients. Sans summarization, le FAI aurait avertit 256 bloques d’adresses de classe C à ses « peer » BGP. Avec la summarization, BGP peut « supernetter » l’espace d’adressage, et n’avertir que le bloque 195.10.X.X. Ce bloque a la même taille qu’une adresse de classe B. Cette technique a donc permis de rendre obsolète les classes d’adressage, permettant une réduction significative des tables de routage.

Des voisins BGP échangent la totalité des informations de routage quand une connexion TCP entre les deux voisins est la première fois établie. Quand des changements dans la table de routage sont détectés, les routeurs BGP envoient seulement les routes qui ont changées à leurs voisins. Les routeurs BGP n’envoient pas de mises à jour de routes périodiquement. De même que les mises à jour de routes BGP avertissent seulement du meilleur chemin jusqu’à une destination.

Les routes apprises par BGP ont des propriétés associées qui sont utilisées pour déterminer la meilleure route jusqu’à une destination quand de multiples chemins existent. Ces propriétés sont les attributs BGP. Il est nécessaire de comprendre la signification de ces attributs pour avoir une idée de la manière dont BGP sélectionne la meilleure route.

Les différents attributs sont :


Tous les routeurs participant au routage BGP au sein d’un AS doivent établir des connexions iBGP entre eux (full mesh) ce qui peut poser des problèmes de taille, le nombre de connexions augmentant selon le carré du nombre de routeurs présents dans l’AS. Deux solutions sont possibles pour passer outre cette limite : Route Reflectors et Confederations.



BGP


Lorsqu’un réseau est ajouté à un AS, il doit être annoncé au maillage BGP : soit au Route Reflector lorsqu’il existe, soit à l’ensemble des routeurs BGP de l’AS. Il fournit alors des informations permettant à l’ensemble des membres de l’AS d’atteindre le réseau. Le système est similaire pour l’interconnexion d’AS par eBGP, un lien est établi entre deux routeurs de chaque AS et ils échangent alors les réseaux qu’ils connaissent permettant ainsi à chacun de leurs membres de se connecter.


Le protocole MPLS



MPLS, (MultiProtocol Label Switching) est un protocole de transport de données se situant au niveau 2 (liaison données) du modèle OSI, donc en dessous de protocoles comme IP. Il a été conçu pour fournir un service unifié de transport de données pour les clients en utilisant une technique de commutation par paquets.

Il a été conçu pour être :


Le routeur de pénétration doit encapsuler le trafic reçu sur ses interfaces « clients » en appliquant au moins une étiquette à chaque paquet. Il envoi ensuite ces paquets sur une interface sortante. Pour créer cette étiquette, le routeur utilise des FEC (Forwarding Equivalence Class), qui sont des tables de correspondances dont les clefs sont un élément du paquet (adresse MAC, adresse IP, Class of Service, port TCP/UDP, etc.).

Le paquet atteint ensuite des commutateurs P. Afin d’effectuer la commutation, ceux-ci possèdent une table contenant quatre entrées :


L’opération de commutation est donc extrêmement simple : il suffit d’analyser l’étiquette se trouvant dans l’en-tête MPLS. Il n’est dont pas nécessaire d’extraire les en-têtes de protocoles de niveaux supérieurs puis de parcourir de très larges tables de routage. Un routeur P peut donc se concentrer sur la commutation : ce qui améliore sensiblement les performances et la montée en charge du réseau.


MPLS

Notons toutefois que la performance actuelle des routeurs permet de balancer cet argument qui a poussé originalement à la création de MPLS. Si on s’intéresse beaucoup à MPLS à l’heure actuelle c’est principalement pour ses autres avantages que sont l’ingénierie de trafic et la qualité de service. Encore une fois, relativisons cela, car l’ingénierie de trafic n’est pas utilisée pour le moment et beaucoup d’autres solutions de transport permettent de faire de la qualité de service efficace (ATM). Même si MPLS a le vent en poupe, il faut aussi le voir comme une technologie poussée par les équipementiers sans réel avantage sur des technologies plus anciennes. C’est pour cette raison que le protocole L2TP semble avoir un avenir plus prometteur.

Au niveau de sa configuration, MPLS est presque toujours configuré de manière dynamique, car beaucoup moins fastidieuse pour l’administrateur. Ainsi, les chemins MPLS, les LSP (Label Switching Path) sont établis à l’aide d’un protocole de signalisation comme LDP ou OSPF-TE (OSPF modifié pour MPLS).

Ainsi, contrairement à IP, MPLS n’est pas un protocole de bout en bout. Il définit seulement une technique d’encapsulation des protocoles de niveau 3 (IPv4 ou IPv6), de niveau 2 (Ethernet, ATP, FR, PPP, etc.) et même de niveau 1 (PDH et SDH). Il ne faut cependant pas confondre ces protocoles encapsulés des protocoles de niveau inférieurs (dits de niveau 2) qui permettent de transporter MPLS. En effet, il est possible d’encapsuler des cellules ATM arrivant sur des routeurs PE dans des paquets MPLS, puis de transmettre ces paquets à des routeurs P à l’aide de liaisons ATM.