home

=Bienvenu sur le wiki du groupe MPLS!=

Voici le dossier complet.

I]Introduction.......................................................................................................................... 2   1.L'objectif du projet tuteuré................................................................................................ 2   2.L'analyse des besoins........................................................................................................ 2   A -Le réseau de l'entreprise.............................................................................................. 2   B -Le réseau d'opérateur MPLS/IP..................................................................................... 3   3.La problématique des réseaux IP actuels............................................................................. 3   4.Les concurrents de MPLS et les offres des opérateurs des réseaux........................................ 4   A -La concurrence........................................................................................................... 4   B -Le prix à payer............................................................................................................ 4   II]L'une des solutions pour les réseaux d'opérateurs : MPLS......................................................... 4   1.Les objectifs et les missions............................................................................................... 5   2.VPN/MPLS........................................................................................................................ 5   3.Traffic Engineering ........................................................................................................... 5   4.QoS ................................................................................................................................ 6   III]Le Principe du MPLS............................................................................................................. 6   1.La commutation des labels................................................................................................ 6   2.Forwarding Equivalent Class.............................................................................................. 7   3.Distribution des labels....................................................................................................... 8   4.Rétention des labels.......................................................................................................... 8   5.Label Switching Path......................................................................................................... 9   6.Label Switching Path Tunneling........................................................................................ 10   7.Explicit Routing............................................................................................................... 10   IV]Principe du VPN/MPLS........................................................................................................ 13   1.Introduction................................................................................................................... 13   2.Réseau de démonstration................................................................................................ 13   3.Routeurs P, PE, CE........................................................................................................... 13   4.Routeurs virtuels : VRF.................................................................................................... 13   5.Multi-protocole BGP (MP-BGP)........................................................................................ 13   A -Notion de Route Distinguisher.................................................................................... 13   B -Notion de Router Target............................................................................................ 13   V]Traffic Engineering sur le réseau MPLS.................................................................................. 13   1.Introduction................................................................................................................... 13   2.Création d’un lien statique............................................................................................... 13   VI]Le support de la QoS par le réseau MPLS/IP......................................................................... 20   1.Signalisation et la QoS..................................................................................................... 20   2.Routage et la QoS........................................................................................................... 20   3.Architecture pour la QoS................................................................................................. 20   VII]Remarques et conclusion finale......................................................................................... 20   VIII]Planning.......................................................................................................................... 20   IX]Bibliographie..................................................................................................................... 21   X]Annexe.............................................................................................................................. 21  ** I] ** **Introduction** **// 1. //** **// L'objectif du projet tuteuré //** L'objectif de ce projet est de réaliser la maquette du réseau d'une entreprise repartie sur 3 sites géographiquement éloignés : agence centrale, agence 1 et agence 2. Les agences secondaires doivent accéder à des services communs de l'agence centrale : la téléphonie sur IP et les différents serveurs (web, mail, serveur des données). La salle de supervision des réseaux de l'agence centrale doit avoir accès à tous les équipements réseaux de l'entreprise. L'interconnexion des agences se fait avec le réseau d'opérateur MPLS/IP. La réalisation du projet est divisée en 2 parties distinctes : la réalisation du réseau local de chaque agence et la réalisation du réseau d'opérateur MPLS/IP. **// 2. //** // **L'analyse des besoins** // **A -** **Le réseau de l'entreprise** L'entreprise veut avoir un serveur de la téléphonie sur IP. Il faudra donc configurer le serveur ASTERISK pour l'ensemble de l'entreprise et mettre en place la qualité de service des réseaux locaux pour que le réseau téléphonique dispose d'une bande passante suffisante. L'agence centrale possède les postes de travail, les postes de supervision, les différents serveurs, les téléphones IP et un commutateur de niveau 2. Il faudra donc configurer le commutateur avec 4 VLAN différents : le réseau des postes de travail, le réseau de la téléphonie sur IP, le réseau des serveurs et le réseau de supervision. Un routeur relie cette agence au réseau d'opérateur MPLS/IP. Les 2 agences secondaires possèdent chacune un routeur d'accès au réseau d'opérateur MPLS/IP, des postes de travail, les téléphones IP et un commutateur de niveau 2. Il faudra donc configurer le commutateur avec 3 VLAN différents: le réseau des postes de travail, le réseau de la téléphonie sur IP et le réseau de supervision. Il faut également définir le plan d'adressage pour le réseau interne de l'entreprise ainsi que le plan de numérotation pour la téléphonie sur IP. La convention utilisés pour les adresses IP est la suivante : Agence 1: Réseau 192.168.1.0/24 Agence 2: Réseau 192.168.2.0/24 Agence centrale: Réseau 192.168.3.0/24 La convention utilisé pour le réseau téléphonique : Agence 1 : Les numéros de 101 à 199 Agence 2 : Les numéros de 201 à 299 Agence centrale : Les numéros de 301 à 399 Ici on se pose la question comment interconnecter le VLAN des serveurs avec le VLAN des postes sans le commutateur de niveau 3 puisque je ne vois pas comment on va faire. **B -** **Le réseau d'opérateur MPLS/IP** Tout d'abord il faut déterminer les routeurs et les versions des IOS supportant la technologie MPLS. Ici on parle des routeurs qu'on a, des IOS, comment mettre les IOS, des prix, etc, le chapitre des pré-requis quoi. Recherche de l'IOS Le materiel Cisco qui nous avons eu au début de projet poser des problemes car il n'integrait pas les commandes MPLS. Nous avons fait des recherces sur les routeurs et les IOS qu'il fallait qu'on installe sur les routeurs. Nous avons eu les routeurs suivants: -1841   -2801    -2811    Donc nous avons du aller sur le site officiel de cisco et telecharger une version superiueur a celle qui était fourni par le routeur de base. Les commandes pour mettre a jour l'IOS d'un routeur via TFTP: 1.Télécharger et installer l'utilitaire TFTP. 2.Créer un répertoire sur la racine et la partagé avec tout les droits pour tout le monde sur l'ordinateur. 3.Mettre adresse ip pour le routeur. 4.Copier l'image Il faut également définir le plan d'adressage pour le réseau d'opérateur MPLS/IP. Ainsi on pourra mettre en place le réseau d'opérateur MPLS/IP, mettre en évidence la technique des labels et ses avantages, comparer la technique des tunnels VPN/MPLS avec MPLS/IP. Les liaisons entre les routeurs de cœur de réseau MPLS/IP sont espionnées à l'aide d'un commutateur qui est configurer en mode monitoring pour pouvoir analyser les trames MPLS/IP. Ici on parle comment on a fait le mode monitoring.
 * Sommaire **

Réseau global à mette en place ||

  **// 3. //** **// La problématique des réseaux IP actuels //** Les réseaux actuels utilisent pour la plupart le protocole IP (Internet Protocole). C’est un protocole de niveau 3 dans le modèle OSI fonctionnant en mode non connecté. Le mode non connecté veut dire que l’émetteur d’un paquet ne peut pas prévoir le chemin que va emprunter ce dernier. Il est donc impossible d’avoir la certitude que le paquet arrivera à sa destination. Or ces dernières années lé réseau s'est développé énormément il en existe donc de plus en plus de chemins que peuvent emprunter les paquets. De plus des nombreuses applications se sont développées pour assurer non pas le transfert des données mais les services complets tels que la téléphonie sur IP et la vidéo à la demande. Ceci à amener l'augmentation de la bande passante et donc de la vitesse de transmission dans le cœur de réseau. C’est à ce moment là que IP a révélé des faiblesses. Sur les réseaux IP traditionnels les routeurs ont des tables de routages avec des routes pour chaque réseau connu. Le routeur fait un calcule sur le paquet qu'il reçoit afin de connaitre l'adresse IP du réseau de destination puis un autre calcule pour pouvoir l'envoyer au nœud suivant. Or les routeurs apprennent de plus en plus de routes et sont donc de plus en plus saturés. Le mode de routage non-connecté ne convient plus aux réseaux d'opérateurs. Si avant la priorité d’un opérateur de réseau était de transporter l’information «quand il le peut et par où il le peut», aujourd’hui avec la mise en place de la qualité de service, il est obligé de passer à d’autres techniques de transport des données. La preuve, lors de la signature d’un contrat l'opérateur garantit à ses clients une certaine disponibilité de service et s’engage à maintenir cette disponibilité pendant toute la durée de collaborations entre les deux parties. Ces nouvelles techniques de transmission des données doivent satisfaire certaines critères propre aux opérateurs de réseaux. Par exemple le routage d’un flux doit emprunter le même chemin (mode connecté) pour garantir un certain ordre dans la réception. Les décisions de routage pour l’établissement d’un chemin doivent prendre en compte l’utilisation actuelle du débit des liens, afin d’optimiser la bande passante pour éviter les «goulots d’étranglements». Pour combler les lacunes IP deux groupes de travail ont été désignés par l'IETF (Internet Engineering Task Force). L'un des groupes travaillant sur le routage des paquets s'est penché sur la création de nouveau protocole de routage hors du commun MPLS (Multi Protocol label Switching) normalisé sous le nom RFC 3031. **// 4. //** // **Les concurrents de MPLS et les offres des opérateurs des réseaux** // **A -** **La concurrence** Pour en bénéficier de cette technologie, l'entreprise doit souscrire un abonnement chez un opérateur de réseau qui mettra en place les lignes et se chargera de les entretenir. Le réseau utilisant MPLS est héberger chez un opérateur, ce réseau est donc privé. Il n'est donc pas nécessaire de crypter les données avant de les envoyer sur le support. Alors que la technologie d'IPSEC par exemple utilise les réseaux IP publique, ainsi, le cryptage des données est "obligatoire" pour garantir la sécurité des données. Donc la principale différence entre la technologie MPLS et IPSEC est le cryptage des données. **B -** **Le prix à payer** Il existe divers organismes proposant des services liés au MPLS allant de la mise en place des connexions à la maintenance des VPN et proposant pour chacun une qualité de service. On peut en citer quelques uns comme: Orange Business, Neuf Cegetel (qui détenait 35% des VPN MPLS/IP en France en 2006) et EasyNet. Cette technologie a évidemment un prix: par exemple, en 2007, la société EasyNet à mis en place un VPN pour une entreprise composée de neuf sites réparties sur la France et la Belgique. Le prix pour une telle installation était de 520000 € pour une durée de trois ans (soit environ 175000 € par an). A compléter si possible ** II] ** **L'une des solutions pour les réseaux d'opérateurs : MPLS** **// 1. //** **// Les objectifs et les missions //** Le principal objectif de MPLS était d'accroitre la vitesse de traitement des paquets dans le cœur du réseau. Mais les constructeurs de matériel de réseau ont trouvé des solutions pour augmenter les performances des routeurs avec l'introduction sur le marché des «gigarouteurs». Et donc aujourd'hui MPLS est surtout utilisé pour ces fonctionnalités : –  Utilisation des différents types de média –  Utilisation des différents protocoles par dessus de MPLS –  Utilisation des VPN/MPLS –  Trafic Engineering –  QoS Mais il offre également une meilleur rapidité de commutation des paquets car la décision de routage se fait en analysant un label inséré par le protocole MPLS entre les couches 2 et 3. Ainsi chaque routeur possède une table associant à un port un label d'entrée et un label de sortie. Cette table est rapide à parcourir via-à-vis d'une table de routage IP qui possède tous les routes des adresses de réseaux connues. La technologie MPLS n'étant pas lié à une technique de transmission particulière de niveau 2 de L'OSI peut être transmise sur n'importe lequel support de média : Ethernet, Frame Relay, ATM, PPP. A compléter avec les protocoles qu'on peut utiliser par dessus de MPLS. **// 2. //** **// VPN/MPLS //** Je sais pas quoi mettre. **// 3. //** **// Traffic Engineering //** C'est que du copier/coller. Dans un réseau, le Traffic Engineering (ou TE) permet d'optimiser l'utilisation des ressources d'un réseau afin d'éviter la congestion. C'est la prise en compte de la bande passante disponible sur un lien lors des décisions de routage qui rende possible cette optimisation. Nous avons vu plus haut que des protocoles de routage comme OSPF ou RIP n'était pas capable de déterminer le prochain saut en fonction du débit actuelle circulant sur les liens. Ainsi pour mettre en place du Traffic Engineering dans un réseau, l'opérateur doit utiliser un protocole de routage particulier qui doit implémenter l'algorithme CSPF : Constraint Shortest Path First. C'est cette algorithme qui permet le choix d'une route en fonction de paramètres comme par exemple le débit disponible sur un lien. Des évolutions des protocoles de routages existant comme OSPF-TE ou ISIS-TE ont été développé afin d'implémenter l'algorithme CSPF. **// 4. //** **// QoS //** C'est que du copier/coller. Tout comme le Traffic Engineering, la qualité de service est un élément crucial pour un réseau d'opérateur. En effet il doit pouvoir garantir à ses clients un transport de leurs flux en garantissant différentes contraintes, comme par exemple : * Débit minimal garanti * Débit maximal * Latence * Gigue Dans un réseau MPLS, le respect de ces contraintes lors des décisions de routage est fait grâce à la présence d'un protocole de routage implémentant l'algorithme CSPF (ISIS-TE ou OSPF-TE par exemple). Enfin, la réservation de bande passante éventuelle qui doit être faites sur les routeurs est très souvent faites grâce au protocole RSVP-TE. ** III] ** **Le Principe du MPLS** **// 1. //** **// La commutation des labels //** C'est que du copier/coller. Ici il faut se referer au paragraphe 5.1.1 du cahier des charges pour expliquer MPLS avec le réseau simple de 4 routeurs donc il faut que je reface ma partie de mise place de réseau MPLS que j'ai déjà fait. Les réseaux MPLS/IP fonctionnent en mode connecté, c’est-à-dire que lors d’activation d’une connexion entre les 2 réseaux distants un chemin logique LSP (Label Switching Path) se crée. La commutation des paquets circulant sur ce chemin logique se fait en fonction des labels contenus dans l'entête MPLS. Cet entête est inséré entre la couche 2 et la couche 3 par le routeur de bordure appelé LER (Label Edge Router). Les LER sont les routeurs MPLS se situant à la périphérie du réseau de l'opérateur. Les paquets labellisés sont ensuite routés vers le cœur du réseau en fonction de leurs numéro de label. Les routeurs MPLS du cœur de réseau appelé LSR (Label Switching Router) transfèrent ensuite les paquets jusqu’au LER de sortie de la destination voulue. Voici un schéma résumant le principe de la commutation de label entre l’agence 1 et l’agence 2 : Le schéma nous montre le détail de la pile de protocole mis en œuvre durant cette transmission, on remarque la présence du label MPLS entre la couche Ethernet et la couche IP. Nous allons maintenant analyser le format de l'entête MPLS : L’entête MPLS a une taille de 32 bits et est composé par les champs suivants : •Le numéro de label •CoS : Chaque paquet labelisé peut se voir attribuer une Class of service, afin de permettre différentes « discard politics » ou « scheduling politics » pour des paquets ayant le même numéro de label. Cependant la RFC précise que c’est un champ encore expérimental. •S : bottom of stack. Le bit "S" est à 1 quand le dernier label de la pile est atteint. On verra par la suite que l’on peut empiler les labels (par exemple pour créer des Tunnels). •TTL : Ce champ à le même rôle que le TTL de l’entête IP. Etant donné que l’entête IP n’est pas analyser par les LSR, la valeur du TTL est recopié dans l’entête MPLS à l’entrée du réseau par le Ingress LER. Ensuite, à chaque commutation par un LSR, le TTL est modifié. La valeur TTL de l’entête MPLS est ensuite recopiée dans l’entête IP à la sortie du réseau MPLS par le Egress LER. Nous allons maintenant voir, comment se fait la décision d’attribuer un label particulier à un paquet IP. Ensuite nous allons voir comment sont échangé les labels entre les LSR, car des échanges sont indispensable pour construire les LSP et les tables de commutations. **// 2. //** **// Forwarding Equivalent Class //** C'est que du copier/coller. Les paquets IP entrant sur le réseau MPLS sont associés à une classe appelée FEC (Forwarding Equivalent Class). Une FEC va définir comment sera acheminé le paquet à travers tout le réseau MPLS. En IP la classification d’un paquet est faite sur chaque routeur à partir de l'adresse IP de destination. En MPLS, le choix d’une FEC peut être fait selon plusieurs paramètres (adresse IP source, destination et paramètre de QoS). Les paramètres intervenant dans la classification d’un paquet dans une FEC dépend du protocole de distribution de label utilisé : LDP ou RSVP-TE. En effet seul RSVP-TE, que nous détaillerons plus tard, permet de classifier un paquet dans une FEC selon des paramètres de QoS. Pour classifier un paquet dans une FEC, MPLS s’appuie sur le protocole de routage mis en oeuvre sur le réseau IP. Par exemple, le protocole LDP associe une FEC par prefixe réseau présent dans la table de routage du routeur. De plus, une FEC peut se voir attribuer plusieurs "Class of service", afin de permettre différentes « discard politics » ou « scheduling politics » (champ CoS de l’entête MPLS). Ainsi, chaque FEC se voit associer un label de sortie. Le routeur saura donc quel label il doit attribuer aux paquets IP correspondant à telle ou telle FEC. Nous allons maintenant voir comment sont distribuer ces associations FEC/labels entre tous les routeurs du réseau. En effet, ces échanges sont indispensable à l'établissement de LSP, car chaque noeud doit savoir quel label il doit attribuer a une FEC avant de l'envoyer à son voisin. **// 3. //** **// Distribution des labels //** C'est que du copier/coller. Dans les réseaux IP/MPLS il existe deux modes de distribution des labels. Le premier mode de distribution est le "Unsolicited Downstream ". Voici un schéma synthétisant son fonctionnement : Le principe est simple, dès qu'un routeur à associé un label à une FEC, il informe tous ses voisins de cette association. Et cela de manière automatique. Ceci à pour but d'augmenter le trafic dû à la "signalisation" sur le réseau. Le deuxième mode de distribution, qui est le plus utilisé dans les réseaux IP/MPLS, se nomme "DownStream On Demand". Avec ce mode de distribution, le UpStream LSR demande au DownStream LSR de lui fournir le numéro de label qu'il a associé à une FEC particulière. Le UpStream LSR est le routeur qui envoit le trafic vers le DownStream LSR, ainsi lors du passage d'un paquet qui n'est pas encore associé à une FEC, le UpStream LSR va devoir demander l'association d'un label pour cette FEC au LSR suivant (le DownStream LSR sur ce schéma). C'est ce dernier mode de distribution qui est utilisé par le protocole RSVP-TE que nous verrons par la suite. **// 4. //** **// Rétention des labels //** C'est que du copier/coller. Nous avons vu dans la partie précédente que les routeurs recevaient de nombreuses informations à propos des associations FEC/label qui ont été faites par leurs voisins. On peut donc s'interroger sur la politique qui est mise en place par rapport à la conservation de ces associations FEC/label. L'architecture MPLS prévoit deux politiques de rétention des labels : •Mode "Libéral" : un LSR conserve tous les labels annoncés par ces voisins, même ceux qu'il n'utilise pas. Ce mode offre une convergence rapide lorsqu'un noeud du réseau tombe. Cependant ce mode est plus consommateur que le mode "Conservative". Le mode "libéral" est utilisé en mode de distribution de label "Unsolicited Downstream". •Mode "Conservative" : un LSR ne conserve que les labels envoyés par le routeur "next-hop" pour la FEC associé à ce label. Ce mode offre une convergence plus lente lors d'un changement de topologie du réseau (routeur en panne, etc), cependant il offre une faible consommation en mémoire. Le mode "Conservative" est utilisé en mode de distribution de label "DownStream On Demand". **// 5. //** **// Label Switching Path //** C'est que du copier/coller. La création d'un LSP à travers le réseau est différente selon le mode de distribution de labels utilisé dans le réseau. En mode "Unsolicited DownStream", le Egress LER qui est le dernier routeur MPLS avant la destination annonce à ses voisins une association de label à une FEC. Chaque noeud, entre le Egress LER et le Ingress LER vont propager à leur voisins l'association qu'ils ont faites pour la même FEC. Une fois que cette annonce parvient au Ingress LER, le LSP est établi ! LSP Tunneling Précédemment, je vous ai parler de la possibilité d'empiler les entêtes MPLS, et donc les labels MPLS. Ce principe nommé "Label Stacking" est utilisé pour créer des Tunnel LSP. Le LSP Tunneling est une composante importante de la technologie VPLS que je vous présenterai dans une autre section de ce site Web. Enfin, le LSP Tunneling est souvent mis en oeuvre pour aggréger plusieurs LSPs dans un seul, comme dans le schéma ci-dessous. Le schéma ci-dessus montre un réseau IP/MPLS contenant 3 Ingress LER, 3 LSR et 3 Egress LER. Trois LSP sont mis en place : •LSP entre "Ingress LER 1" et "Egress LER 1" dont les labels à travers le réseau sont de couleur cyan •LSP entre "Ingress LER 2" et "Egress LER 2" dont les labels à travers le réseau sont de couleur bleu •LSP entre "Ingress LER 3" et "Egress LER 3" dont les labels à travers le réseau sont de couleur gris On remarque que ces 3 LSP traverse les mêmes LSR dans le coeur du réseau. Pour aggréger ces 3 LSP dans un seul dans le backbone, un Tunnel LSP est présent. Le Tunnel LSP est marqué en rouge, et les différents labels associés à ce Tunnel LSP sont marqué en rouge. Ainsi, dans le coeur du réseau, le LSR du milieu ne connait qu'un seul LSP : le LSP rouge, qui encapsule tous les autres. Dans un vrai réseau, on pourrait imaginer que plusieurs LSR du backbone soit traversé par le Tunnel LSP. En résumé, on remarque que cette technique permet de diminuer le nombre de LSP connu par les LSR ! **// 6. //** **// Label Switching Path Tunneling //** C'est que du copier/coller. Précédemment, je vous ai parler de la possibilité d'empiler les entêtes MPLS, et donc les labels MPLS. Ce principe nommé "Label Stacking" est utilisé pour créer des Tunnel LSP. Le LSP Tunneling est une composante importante de la technologie VPLS que je vous présenterai dans une autre section de ce site Web. Enfin, le LSP Tunneling est souvent mis en oeuvre pour aggréger plusieurs LSPs dans un seul, comme dans le schéma ci-dessous. Le schéma ci-dessus montre un réseau IP/MPLS contenant 3 Ingress LER, 3 LSR et 3 Egress LER. Trois LSP sont mis en place : * LSP entre "Ingress LER 1" et "Egress LER 1" dont les labels à travers le réseau sont de couleur cyan * LSP entre "Ingress LER 2" et "Egress LER 2" dont les labels à travers le réseau sont de couleur bleu * LSP entre "Ingress LER 3" et "Egress LER 3" dont les labels à travers le réseau sont de couleur gris On remarque que ces 3 LSP traverse les mêmes LSR dans le coeur du réseau. Pour aggréger ces 3 LSP dans un seul dans le backbone, un Tunnel LSP est présent. Le Tunnel LSP est marqué en rouge, et les différents labels associés à ce Tunnel LSP sont marqué en rouge. Ainsi, dans le coeur du réseau, le LSR du milieu ne connait qu'un seul LSP : le LSP rouge, qui encapsule tous les autres. Dans un vrai réseau, on pourrait imaginer que plusieurs LSR du backbone soit traversé par le Tunnel LSP. En résumé, on remarque que cette technique permet de diminuer le nombre de LSP connu par les LSR ! **// 7. //** **// Explicit Routing //** L'Explicit Routing est la solution MPLS pour faire du Traffic Engineering dont l'objectif est le suivant : –  utiliser efficacement des ressources du réseau –  éviter les points de forte congestion en répartissant le trafic sur l'ensemble du réseau. En effet, le plus court chemin déterminé par le routage classique IP pour atteindre une destination peut ne pas être le seul chemin possible et certains chemins alternatifs peuvent être sous-utilisés alors que le plus court chemin est sur-utilisé. Historiquement, le Traffic Engineering a été réalisé grâce à des métriques de liens associées à des protocoles de routage internes (RIP, OSPF, IS-IS). A la fin des années 90, il a également été possible de faire du Traffic Engineering avec des technologies de niveau 2 telles que ATM et Frame Relay. Aujourd'hui, MPLS émerge comme un nouveau mécanisme de Traffic Engineering en offrant une plus grande flexibilité de routage IP (bande passante, QoS,...), grâce à l'Explicit Routing. Dans ce cas, le LSP n'est plus déterminé à chaque bond comme pour l'implicit routing : c'est l'ingress node qui choisit le chemin de bout en bout. Au niveau des LSR en coeur de réseau, seul le label MPLS est analysé (pas l'en-tête du datagramme IP). L'Explicit Routing permet à un opérateur de faire du Traffic Engineering en imposant au réseau des contraintes sur les flux, du point source jusqu'au point destination. Ainsi, des routes autres que le plus court chemin peuvent être utilisées. Le réseau détermine lui-même le chemin en suivant les étapes ci-dessous : –  connaissance de l'état du réseau : topologie, bande passante réelle d'un lien, bande passante utilisée, bande passante restante. Des extensions ont été apportées aux protocoles de routage OSPF et IS-IS car la distribution dynamique des bases de données était limitée aux noeuds adjacents et à une seule métrique. –  calcul d'un chemin répondant aux contraintes spécifiées. Les extensions d'OSPF et d'IS-IS sont nécessaires. –  établissement du ER-LSP (Explicitly Routed Path). La source connaît le chemin complet de l'ingress node à l'egress node et c'est elle qui spécifie les LSR à l'intérieur du LSP. Deux options de signalisation spécifiées pour l'établissement du LSP : RSVP ou CR-LDP (Constraint-Based Routing LDP) : CR-LDP est l'alternative à RSVP; il est jugé plus fiable dans la mesure où il met en oeuvre TCP (orienté connexion). De plus, CR-LDP peut interfonctionner avec LDP et utilise les messages LDP pour signaler les différentes contraintes. Les fonctions de CR-LDP sont réalisées par des instructions matérielles (asics) ne nécessitant pas de fréquents rafraîchissements, contrairement à RSVP dont les fonctions sont réalisées par le logiciel nécessitant de fréquents messages de rafraîchissement. envoi du trafic sur le chemin trouvé supervision de l'état des LSP et le transmet à l'IGP ré-optimisation des LSP quand nécessaire TCPIP IPV6 VOIP VPN IP IPV4 Les fonctions supportées par ER-LDP sont : ER-LSP de bout en bout strict/loose explicit routing : dans un LSP routé de manière " stricte ", chaque bond est spécifié. Une section du LSP peut être routée de manière " imprécise " lorsque sont introduits 2 LSR non directement connectés. spécification d'une classe de service réservation de bande passante route pinning : dans une section de ER-LSP routée de manière " imprécise ", les bonds sont sélectionnés selon une transmission bond par bond ER-LSP preemption : établissement/maintien de priorité ** IV] ** **Principe du VPN/MPLS** **// 1. //** **// Introduction //** **// 2. //** **// Réseau de démonstration //** **// 3. //** **// Routeurs P, PE, CE //** **// 4. //** **// Routeurs virtuels : VRF //** **// 5. //** // **Multi-protocole BGP (MP-BGP)** // **A -** **Notion de Route Distinguisher** **B -** **Notion de Router Target** ** V] ** **Traffic Engineering sur le réseau MPLS** **// 1. //** **// Introduction //** Le but des tests présentés ci-dessous est de mettre en œuvre certains mécanismes offerts par MPLS pour effectuer du Traffic Engineering sur un réseau. Les scénarios étudiés sont : - Création d’un lien statique pour répartir la charge sur un réseau - Création d’un lien de secours pour sécuriser un lien en cas de panne - Création d’un lien dynamique avec une contrainte de la bande passante Ces scénarios sont implémentés sur le réseau complet des 3 agences. **// 2. //** **// Création d’un lien statique //** 2.1 Objectif L'objectif de ce test est de définir explicitement une route reliant LER1 à LER2 en passant par LSR3. Or un paquet allant de LER1 à LER2 emprunte le chemin le plus direct, c’est-à-dire qu’il ne passe pas par LSR3. Sur un réseau réel, les chemins les plus courts sont parfois congestionnés alors que d’autres sont sous-utilisés. Le Traffic Engineering permet de répartir la charge sur le réseau en obligeant certains flux à emprunter les chemins moins utilisés par le protocole de routage interne. 2.2 Autoriser le Traffic Engineering sur les routeurs Pour commencer, il faut configurer tous les routeurs afin qu’ils supportent le Traffic Engineering. La commande mpls traffic-eng tunnels active la fonction tunnel du routeur. router(config)# mpls traffic-eng tunnels Afin que chaque routeur puisse être identifié par une adresse IP unique, nous utilisons une interface virtuelle appelée loopback 0. L’adresse IP de cette interface se configure de la même manière qu’une interface physique classique. Cette adresse doit posséder un masque de 32 bits. router(config)# interface loopback 0 router(config-int)# ip address 12.0.0.x 255.255.255.255 Voici les adresses IP utilisées pour chaque routeur : •LER1 : 12.0.0.1 •LSR1 : 12.0.0.2 •LSR2 : 12.0.0.4 •LSR3 : 12.0.0.3 •LER2 : 12.0.0.5 •LER3 : 12.0.0.6 Pour faire du Traffic Engineering, le routeur doit connaître la topologie du réseau. Pour cela, on peut lui dire d’utiliser la topologie connue par OSPF grâce à la commande mpls traffic-eng area. L’area est toujours la même que celle dans laquelle on veut faire du Traffic Engineering. router(config)# router ospf 10 router(config-router)# mpls traffic-eng area 0 La commande suivante permet de configurer l’identificateur du routeur utilisé pour le Traffic Engineering. Nous identifions les routeurs avec leur adresse de loopback. router(config-router)# mpls traffic-eng router-id loopback 0 Pour que OSPF ajoute les adresses d’identifications des routeurs dans les tables, il faut ajouter la plage d’adresse 12.0.0.0 dans l’area 0. router(config-router)# network 12.0.0.0 0.0.0.255 area 0 Pour autoriser les tunnels sur une interface, la commande mpls traffic-eng tunnels doit être ajoutée dans la configuration de cette interface. Chaque interface utilisée par le tunnel doit être configurée ainsi. router(config-int)# mpls traffic-eng tunnels 2.3 Création des chemins Un tunnel est unidirectionnel. Il faut donc créer un tunnel pour le chemin d’aller et un autre pour le chemin de retour. Un tunnel est défini sur le routeur se trouvant à son entrée. Dans notre cas, cela correspond aux deux LER. Configuration du tunnel 1 sur LER1 : Le routeur voit un tunnel comme une interface. Il suffit de taper la commande interface tunnel id pour le créer et entrer dans son mode de configuration. L'id étant le numéro permettant d’identifier le tunnel sur le réseau. LER1(config)# interface tunnel 1 Il faut configurer l’adresse IP de cette interface. Un tunnel MPLS ne doit pas être numéroté (unnumbered) car il représente une connexion unidirectionnelle. On l’associe à l’identificateur du routeur. LER1(config-int)# ip unnumbered loopback 0 Ensuite, il faut définir la destination du tunnel. Dans notre cas, cette destination est LER2 (12.0.0.5). LER1(config-int)# tunnel destination 12.0.0.5 La commande suivante indique que le mode d’encapsulation des paquets utilisé pour le tunnel est MPLS. LER1(config-int)# tunnel mode mpls traffic-eng Le tunnel doit être signalé aux IGP afin qu’il soit pris en compte lors de la création des tables de routage. Pour cela, il faut utiliser la commande suivante : LER1(config-int)# tunnel mpls traffic-eng autoroute announce La commande ci-dessous indique au tunnel qu’il doit suivre la route explicitée par l’identificateur 1. LER1(config-int)# tunnel mpls traffic-eng path-option 1 explicit identifier 1 Ci-dessous est définie la route explicitée par l'identificateur 1. Cette route est indiquée en faisant la liste des routeur devant être traversés par le tunnel. Selon la FIGURE 8.1, le tunnel 1 doit passer par LSR1, LSR3, LSR2 pour finir à LER2. LER1(config)# ip explicit-path identifier 1 LER1(cfg-ip-expl-path)# next-address 12.0.0.2 LER1(cfg-ip-expl-path)# next-address 12.0.0.4 LER1(cfg-ip-expl-path)# next-address 12.0.0.3 LER1(cfg-ip-expl-path)# next-address 12.0.0.5 Configuration du tunnel 2 sur LER2 : La configuration du second tunnel sur LER2 se fait de la même manière que celle de LER1 : LER2(config)# interface tunnel 2 LER2(config-int)# ip unnumbered loopback 0 LER2(config-int)# tunnel destination 12.0.0.1 LER2(config-int)# tunnel mode mpls traffic-eng LER2(config-int)# tunnel mpls traffic-eng autorouteannounce LER2(config-int)# tunnel mpls traffic-eng path-option 1 explicit identifier 1 LER2(config)# ip explicit-path identifier 1 LER2(cfg-ip-expl-path)# next-address 12.0.0.3 LER2(cfg-ip-expl-path)# next-address 12.0.0.4 LER2(cfg-ip-expl-path)# next-address 12.0.0.2 LER2(cfg-ip-expl-path)# next-address 12.0.0.1 Remarque : Pour que la route explicitée soit valide, il faut redémarrer les routeurs LER1 et LER2. 2.4 Test et analyse Le protocole MPLS propose deux protocoles permettant d’obtenir des labels, afin de créer des chemins avec contraintes. Le premier protocole est une extension de LDP nommée CR-LDP (Constraint-based Routing Label Distribution Protocol). Le second protocole est RSVP (Resource Reservation Protocol). Les routeurs Cisco implémentent uniquement le protocole RSVP. Voici le principe utilisé par ce protocole : La figure ci-dessus montre comment le tunnel 2 est réalisé. LER2 envoie un paquet RSVP PATH contenant toutes les adresses à une interface utilisée par le tunnel (champ EXPLICIT ROUTE). Ce paquet traverse tous les routeurs concernés en leur indiquant qu’un label doit être retourné (champ LABEL REQUEST) pour ce tunnel (champ Extended Tunnel ID). Chaque routeur répond à ce paquet en envoyant, au routeur le précédent, un message RSVP resv. Ce message contient le label à utiliser pour encapsuler les paquets devant circuler dans le tunnel (champ LABEL). En regardant la table de routage de LER1, on constate que les paquets à destinationde LER2 sont bien envoyés par le tunnel 1. De même, dans la table de forwarding (LFIB), on constate que pour le FEC 10.5.1.0, le champ Outgoing tag ne contient pas de label, mais pointe sur le tunnel à utiliser. La commande show mpls traffic-eng tunnels permet de voir les informations sur les tunnels présents sur le routeur. Voici ce qui est affiché pour le tunnel 1 sur LER1. On constate qu’il est bien du type explicite et traverse les interfaces correspondant à la route définie à la FIGURE 8.1. Le label à utiliser pour envoyer les paquets à travers le tunnel est défini dans le champ OutLabel de cette table. Ce label est le 25. En effectuant un ping depuis le client sur le serveur, on constate que les paquets empruntent bien les tunnels et non pas le chemin le plus direct comme mesuré au paragraphe 7.4. Ces paquets sont représentés sur la FIGURE 8.8. Les tables représentées ci-dessous contiennent uniquement les informations pour le tunnel 1. La totalité de ces tables se trouvent dans l’annexe Captures des tables des routeurs Cisco 2. On voit bien qu’une fois que le paquet est encapsulé avec le label 25, il suit le chemin explicité, car les labels, pour ce tunnel, ont été ajoutés dans les tables de forwarding par RSVP. 3. Création d’un chemin de secours 3.1. Objectif Le but de ce scénario est de protéger des chemins définis statiquement (tunnel 1 et tunnel 2) contre une coupure de connexion (FIGURE 8.9). Dans ce test, c’est la liaison entre LSR1 et LSR2 qui est protégée. Pour cela, nous créons deux tunnels de réserve (backup path) qui permettent de relier ces deux routeurs en passant par LSR3. Lorsque la liaison entre LSR1 et LSR2 est coupée, les paquets sont envoyés sur les backup path (tunnel 10 et tunnel 20) afin de contourner la ligne défectueuse. Lorsqu’ils détectent la coupure, la décision de rerouter les paquets dans les backup path est directement prise par LSR1, pour les paquets à destination du serveur, et par LSR2, pour les paquets à destination du client. L’avantage de ce système est la rapidité de reroutage des paquets (fast reroute). 3.2. Création des chemins La création des deux chemins reliant LER1 et LER2 (tunnel 1 et tunnel 2) est faite de la même manière que celle décrite dans le test précédent (voir § 2). Les changements à apporter à cette configuration sont indiqués ci-dessous. - Configuration du tunnel 1 sur LER1 : La route explicitée pour le tunnel 1 doit être modifiée pour n’emprunter que LSR1, LSR2 et LER2. LER1(config)# ip explicit-path identifier 1 LER1(cfg-ip-expl-path)# next-address 12.0.0.2 LER1(cfg-ip-expl-path)# next-address 12.0.0.3 LER1(cfg-ip-expl-path)# next-address 12.0.0.5 En ajoutant la commande suivante dans l’interface tunnel 1, on autorise ce tunnel à utiliser un backup path, si son chemin « normal » est interrompu : LER1(config)# interface tunnel 1 LER1(config-int)# tunnel mpls traffic-eng fast-reroute - Configuration du tunnel 2 sur LER2 : Les mêmes changements sont effectués pour le tunnel 2. LER2(config)# ip explicit-path identifier 1 LER2(cfg-ip-expl-path)# next-address 12.0.0.3 LER2(cfg-ip-expl-path)# next-address 12.0.0.2 LER2(cfg-ip-expl-path)# next-address 12.0.0.1 LER2(config)# interface tunnel 2 LER2(config-int)# tunnel mpls traffic-eng fast-reroute 3.3 Création des chemins de secours A présent, il faut créer les tunnels de backup (tunnel 10 et tunnel 20) reliant LSR1 à LSR2 en passant par LSR3. Ces tunnels sont créés de la même manière que précédemment. - Configuration du tunnel 10 sur LSR1 : Voici comment créer le tunnel 10 : LSR1(config)# interface tunnel 10 LSR1(config-int)# ip unnumbered loopback 0 LSR1(config-int)# tunnel destination 12.0.0.3 LSR1(config-int)# tunnel mode mpls traffic-eng LSR1(config-int)# tunnel mpls traffic-eng path-option 1 explicit identifier 1 LSR1(config)# ip explicit-path identifier 1 LSR1(cfg-ip-expl-path)# next-address 12.0.0.4 LSR1(cfg-ip-expl-path)# next-address 12.0.0.3 Ensuite, il faut configurer l’interface fastethernet1/0 pour qu’elle envoie les paquets dans le tunnel de backup (tunnel 10), si la connexion avec LSR2 est interrompue. LSR1(config)# interface f1/0 LSR1(config-int)# mpls traffic-eng tunnels LSR1(config-int)# mpls traffic-eng backup-path tunnel 10 - Configuration du tunnel 20 sur LER2 : La configuration du tunnel 20 sur LER2 se fait de la même manière que celle décrite ci-dessus. LSR2(config)# interface tunnel 20 LSR2(config-int)# ip unnumbered loopback 0 LSR2(config-int)# tunnel destination 12.0.0.2 LSR2(config-int)# tunnel mode mpls traffic-eng LSR2(config-int)# tunnel mpls traffic-eng path-option 1 explicit identifier 1 LSR2(config)# ip explicit-path identifier 1 LSR2(cfg-ip-expl-path)# next-address 12.0.0.4 LSR2(cfg-ip-expl-path)# next-address 12.0.0.2 Il ne reste plus qu’à configurer l’interface fastethernet1/0 pour rerouter les paquets dans ce tunnel si une coupure de connexion avec LSR1 est détectée. LSR2(config)# interface f1/0 LSR2(config-int)# mpls traffic-eng tunnels LSR2(config-int)# mpls traffic-eng backup-path tunnel 20 Le listing de configuration de chaque routeur se trouve dans l’annexe Listings de configuration 2. 3.4 Test et analyse La distribution des labels, pour chaque tunnel, est faite par le protocole RSVP selon le principe illustré à la FIGURE 8.2. En regardant la table des tunnels de LSR1 (FIGURE 8.10), on voit les caractéristiques du tunnel 10 créé par ce routeur. On constate qu’il traverse bien les interfaces correspondant à la route définie à la FIGURE 8.9. Le label à utiliser pour envoyer les paquets à travers le tunnel est le 25. On voit aussi les caractéristiques du tunnel 1. C’est dans le champ FRR OutLabel que le tunnel 10 est défini comme backup path. Lorsque la connexion entre LSR1 et LSR2 est active, LSR1 utilise le label 24 pour forwarder les paquets, dans le tunnel 1, vers LSR2. Si cette connexion est défectueuse, les paquets sont normalement encapsulés avec le label 24, puis envoyés dans le tunnel 10. Le label correspondant à ce tunnel est le 25. Ce label est ajouté au paquet avant de le forwarder dans ce tunnel (FIGURE 8.11). Le paquet possède donc une pile de labels(label stack). La FIGURE 8.12 montre un des ces paquets avec ses deux labels. LSR3, étant l’avant dernier routeur du tunnel 10, retire le label (PHP) se trouvant au sommet de la pile, puis le forward vers LSR2. Le label 24 étant toujours présent sur le paquet, LSR2 sait, grâce à sa table de forwarding, que le paquet correspond au tunnel 1 et doit être forwardé vers LER2. Grâce à ce mécanisme, le forwarding des paquets dans le tunnel 1 est préservé de bout en bout. 4. Création d’une route dynamique avec contrainte 4.1 Objectif Dans les deux scénarios précédents, nous avons créé des tunnels statiquement. Le but de ce test est de créer, dynamiquement, deux tunnels, entre LER1 et LER2, satisfaisant à une contrainte de bande passante de 25 Mbps. Afin de s’assurer que le choix de la route est bien effectué par rapport à la contrainte, le bande passante du chemin le plus direct est amené à une valeur inférieure à 25 Mbps. 4.2 Préparation des routeurs pour RSVP Pour que les routeurs puissent créer dynamiquement une route avec une contrainte sur la bande passante, ils doivent connaître la topologie du réseau. Cette topologie est connue grâce à OSPF. Ensuite, les ressources nécessaires pour garantir cette bande passante doivent être réservées sur chaque routeur. Cela est fait par le protocole RSVP lors de la création des tunnels. En reprenant la configuration décrite au paragraphe 8.2.2, préparant les routeurs pour le traffic engineering, il faut procéder comme suit pour configurer les routeurs : Pour que RSVP puisse réserver les ressources sur chaque routeur, il faut configurer la bande passante maximale que peut allouer chaque interface à ce protocole. Voici la commande permettant cela : ip rsvp bandwidth interface-kbps single-flow-kbps •interface-kbps : Bande passante maximale allouée au protocole RSVP, en kbps. •single-flow-kbps : Bande passante maximale allouée par flux de trafic, en kbps. Pour notre test, toutes les interfaces autorisent RSVP à réserver une bande passante de 80 Mbps. Seules les interfaces f1/0 de LSR1 et LSR2, limitent à 10 Mbps pour les raisons citées précédemment (FIGURE 8.12). routeur(config-int)# ip rsvp bandwidh 80000 80000 4.3 Création dynamique de tunnels avec contrainte Pour la création dynamique de tunnels avec contrainte, la plupart des commandes utilisées sont identiques à celles utilisées précédemment. C’est pourquoi, seules les nouvelles commandes sont commentées. - Configuration du tunnel 1 sur LER1 : Voici les commandes permettant de créer le tunnel 1 à destination de LER2 : LER1(config)# interface tunnel 1 LER1(config-int)# ip unnumbered loopback 0 LER1(config-int)# tunnel destination 12.0.0.5 LER1(config-int)# tunnel mode mpls traffic-eng LER1(config-int)# tunnel mpls traffic-eng autoroute announce La commande suivante permet de définir la bande passante requise pour le tunnel 1 Tunnel mpls traffic-eng bandwidth bandwidth •bandwidth : Bande passante du tunnel en kbps. Dans notre cas, le tunnel doit offrir une bande passante de 25 Mbps LER1(config-int)# tunnel mpls traffic-eng bandwidth 25000 La commande ci-dessous indique aux routeurs que le tunnel doit être créé dynamiquement en respectant la contrainte définie ci-dessus. LER1(config-int)# tunnel mpls traffic-eng path-option 1 dynamic - Configuration du tunnel 2 sur LER2 : La configuration de LER2 pour le tunnel 2 se fait de la même manière. LER2(config)# interface tunnel 2 LER2(config-int)# ip unnumbered loopback 0 LER2(config-int)# tunnel destination 12.0.0.1 LER2(config-int)# tunnel mode mpls traffic-eng LER2(config-int)# tunnel mpls traffic-eng autoroute announce LER2(config-int)# tunnel mpls traffic-eng bandwidth 25000 LER2(config-int)# tunnel mpls traffic-eng path-option 1 dynamic Le listing de configuration de chaque routeur se trouve dans l’annexe Listings de configuration 3. 4.4 Test et analyse En effectuant un ping depuis le client sur le serveur, on constate que les paquets circulent à travers LSR3. Cela montre que RSVP a bien tenu compte de la contrainte de la bande passante, en contournant la connexion à 10 Mbps entre LSR1 et LSR2. Une fois le tunnel constitué, le forwarding des paquets est effectué de la même manière que pour les tunnels créés statiquement. La figure ci-dessous montre le paquet circulant lors de ce ping. Afin de comprendre les mécanismes utilisés pour déterminer la route respectant la contrainte, il faudrait étudier, dans le détail, les protocoles OSPF et RSVP. Malheureusement, le peu de temps disponible pour ce travail ne nous permet pas de commencer une telle étude. On peut simplement constater que dans les paquets RSVP path (FIGURE 8.15) et RSVP resv (FIGURE 8.16), la bande passante désirée est signalée aux différents routeurs traversés par ces paquets. 5. Conclusion Les scénarios de Traffic Engineering testé ci-dessus ont tous fonctionné selon nos attentes. Mais comme nous l’avons vu, le protocole MPLS nécessite plusieurs autres protocoles pour effectuer du Traffic Engineering. Dans nos tests, nous avons utilisé OSPF, afin que les routeurs puissent connaître la topologie du réseau, et RSVP, pour la distribution des labels sur des routes explicites ou avec contraintes. Le but de ce travail de diplôme n’est pas de décrire ces protocoles, mais de montrer les possibilités offertes grâce au protocole MPLS. ** VI] ** **Le support de la QoS par le réseau MPLS/IP** **// 1. //** **// Signalisation et la QoS //** La QoS permet a un réseau de garantir à un utilisateur de pouvoir transmettre des données d'un point à un autre du réseau. Elle peut permettre de privilégié un envoie rapide avec un taux de perte, ou un envoie garantit peu importe le temps que cela prendra. MPLS doit garantir une gestion de la QoS en fonction des besoins et des priorités de certains flux (VoIP,données...), pour cela, on met en place un modèle permettant cette gestion (DiffServ). DiffServ utilise le champ TOS (Type Of Service) d'IPv4 renommé "champ DS" (DiffServ) pour effectuer une classification des paquets. MPLS est une technologie qui permet un routage plus rapide et plus simple des paquets à travers un réseau en utilisant une technique d'insertion et de commutation de labels (ou étiquettes) .Ces labels sont attribués à chaque interface d'un routeur présent dans la topologie grâce au protocole LDP ("Label Distribution Protocol"). Les routeurs déterminent eux-même les étiquettes à affecter aux paquets entrant en parcourant une base de données de labels appelée LIB (Label Information Base). MPLS peut permettre de transporter tout type de trafic comme de la voix ou des données avec différents degrés de priorité (Qualité de Service). Ce mécanisme est capable de fonctionner sur différents protocoles de routage (OSPF, IS-IS...). Les routeurs de frontière sont appelés PE (Provider Edge), ils insèrent des étiquettes (encapsulation) sur chaque paquet pour permettre leur routage à travers le réseau. Ces routeurs sont appelés différemment en fonction du sens dans lequel les paquets circulent. Lorsqu'un paquet entre dans le PE, on l'appelle routeur d'entrée ou Ingress Label Switch Router. A l'inverse, si le paquet en sort, on l'appelle routeur de sortie ou Egress Label Switch Router. Lorsqu'un paquet arrive sur l'interface d'entrée du routeur de frontière, une encapsulation est effectuée pour lui attribuer une étiquette. Cette étiquette dépend de la classe du paquet ou FEC (Forwarding Equivalence Class). Cette classe peut correspond à l'adresse IP de destination du paquet, à l'interface de sortie,...; c'est à dire que tout les paquets destinés au même endroit auront le même label et seront traités de la même manière. Le paquet entré dans le routeur est ensuite envoyé sur l'interface de sortie correspondante. A l'intérieur du "nuage" MPLS, les FEC ne sont plus utilisées. Les routeurs (Provider Router) ne font que de la commutation de labels, c'est à dire que lorsqu'un paquet entre sur une interface, le routeur le routeur détermine grâce à la LIB le label par lequel il va remplacer l'ancien pour que le transit puisse s'effectuer. Ainsi, le routeur n'a plus qu'a mettre à jour l'entête du paquet MPLS en modifiant le label et en réinitialisant le champ Time To Live. Lorsque le paquet atteint le routeur de sortie, le label est retiré pour que la destination puisse être atteinte. **// 2. //** **// Routage et la QoS //** **// 3. //** // **Architecture pour la QoS** // ** VII] ** ** Remarques et conclusion finale ** ** IX] ** ** Bibliographie ** ** X] ** ** Annexe ** Mise en place de réseau d'opérateur utilisant MPLS Introduction Le test qui va suivre consiste à utiliser le protocole MPLS pour relier les agences entre elles sans la QoS. Lors de ce test le protocole OSPF (Open Shortest Path First) sera utilisé comme le protocole de routage interne au cœur du réseau. Ce réseau est constitué de 6 routeurs Cisco et de 3 ordinateurs connectés selon le schéma ci-dessous. Mise en œuvre d’OSPF Le protocole OSPF (Open Shortest Path First) est utilisé sur les routeurs pour créer dynamiquement les tables de routage IP. Grâce à ce protocole, le routeur connaît la topologie du réseau et utilise le chemin le plus adapté pour envoyer des paquets IP vers n’importe quelle destination de ce réseau. Ce qui suit explique comment activer ce protocole sur les routeurs. Pour commencer, il faut configurer les interfaces des routeurs selon le schéma ci-dessus. - Pour LER1 : router>enable router#configure terminal router(config)# hostname LER1 LER1(config)#interface fastEthernet 0/0 LER1(config-int)# ip address 10.10.10.1 255.255.255.252 LER1(config-int)# no shutdown LER1(config)# interface fastEthernet 0/1 LER1(config-int)# ip address 192.168.1.254 255.255.255.0 LER1(config-int)# no shutdown La commande suivante active le protocole OSPF sur le routeur. LER1(config)# router ospf 10 La commande suivante permet de définir la zone du réseau couverte par OSPF. Dans notre cas, cette zone représente l’ensemble du réseau d’operateur et les réseaux locaux d'agences sur les routeurs d'extrémités. LER1(config-router)# network 10.0.0.0 0.255.255.255 area 0 LER1(config-router)# network 192.168.1.0 0.0.0.255 area 0 - Pour LER2 : router>enable router#configure terminal router(config)# hostname LER2 LER2(config)#interface fastEthernet 0/0 LER2(config-int)# ip address 10.10.10.5 255.255.255.252 LER2(config-int)# no shutdown LER2(config)# interface fastEthernet 0/1 LER2(config-int)# ip address 192.168.2.254 255.255.255.0 LER2(config-int)# no shutdown LER2(config)# router ospf 10 LER2(config-router)# network 10.0.0.0 0.255.255.255 area 0 LER2(config-router)# network 192.168.2.0 0.0.0.255 area 0 - Pour LER3 : router>enable router#configure terminal router(config)# hostname LER3 LER3(config)#interface fastEthernet 0/0 LER3(config-int)# ip address 10.10.10.9 255.255.255.252 LER2(config-int)# no shutdown LER2(config)# interface fastEthernet 0/1 LER2(config-int)# ip address 192.168.3.254 255.255.255.0 LER2(config-int)# no shutdown LER2(config)# router ospf 10 LER2(config-router)# network 10.0.0.0 0.255.255.255 area 0 LER2(config-router)# network 192.168.3.0 0.0.0.255 area 0 - Pour LSR1 : router>enable router#configure terminal router(config)# hostname LSR1 LSR1(config)#interface fastEthernet 0/0 LSR1(config-int)# ip address 10.10.10.30 255.255.255.252 LSR1(config-int)# no shutdown LSR1(config)# interface fastEthernet 0/1 LSR1(config-int)# ip address 10.10.10.2 255.255.255.0 LSR1(config-int)# no shutdown LSR1(config)#interface serial 0/2/0 LSR1(config-int)# ip address 10.10.10.33 255.255.255.252 LSR1(config-int)# no shutdown LSR1(config)# router ospf 10 LSR1(config-router)# network 10.0.0.0 0.255.255.255 area 0 - Pour LSR2 : router>enable router#configure terminal router(config)# hostname LSR2 LSR1(config)#interface fastEthernet 0/0 LSR1(config-int)# ip address 10.10.10.6 255.255.255.252 LSR1(config-int)# no shutdown LSR1(config)#interface serial 0/2/0 LSR1(config-int)# ip address 10.10.10.34 255.255.255.252 LSR1(config-int)# no shutdown LSR1(config)#interface serial 0/2/1 LSR1(config-int)# ip address 10.10.10.25 255.255.255.252 LSR1(config-int)# no shutdown LSR1(config)# router ospf 10 LSR1(config-router)# network 10.0.0.0 0.255.255.255 area 0 - Pour LSR3 : router>enable router#configure terminal router(config)# hostname LSR3 LSR3(config)#interface fastEthernet 0/0 LSR3(config-int)# ip address 10.10.10.29 255.255.255.252 LSR3(config-int)# no shutdown LSR3(config)# interface fastEthernet 0/1 LSR3(config-int)# ip address 10.10.10.10 255.255.255.0 LSR3(config-int)# no shutdown LSR3(config)#interface serial 0/2/0 LSR3(config-int)# ip address 10.10.10.26 255.255.255.252 LSR3(config-int)# no shutdown LSR3(config)# router ospf 10 LSR3(config-router)# network 10.0.0.0 0.255.255.255 area 0 Activation d’MPLS sur les routeurs La mise en œuvre du protocole MPLS sur les routeurs Cisco est très simple. La création des tables de forwarding est faite dynamiquement grâce au protocole de distribution de label. Pour pouvoir utiliser MPLS sur les routeurs Cisco, il faut d’abord activer le Cisco Express Forwarding (CEF). Sur nos routeurs cette commande est implémentée par défaut. router(config)# ip cef La commande suivante active MPLS et démarre le processus de distribution des labels. router(config)# tag-switching advertise-tags La commande suivante permet de sélectionner le protocole utilisé pour la distribution des labels. Par défaut, c’est le protocole propriétaire Cisco TDP (Tag Distribution Protocol) qui est utilisé. Pour notre réseau, nous utilisons LDP (Label Distribution Protocole). Les détails de ces protocoles sont expliqués dans un chapitre antérieur. router(config)# mpls label protocol ldp Les interfaces doivent encapsuler les paquets avant de les envoyer sur le réseau MPLS. Pour cela, la commande suivante doit être ajoutée dans la configuration de chaque interface. Cette configuration n’est pas utilisée pour les interfaces des LER connectées aux ordinateurs, car ces machines utilisent des paquets IP standards. router(config-int)# mpls ip Tests du réseau On peut vérifier que les tables de routage des routeurs sont bien remplies par OSPF, en utilisant la commande show ip route. Le schéma ci-dessous correspond à la table de routage de LSR1. Les routes précédées de la lettre «O » ont été ajoutées par OSPF. De même, la commande show mpls forwarding-table permet de voir le LFIB de LSR1 constitué dynamiquement grâce au protocole LDP. Les captures des tables de routage et de forwarding des autres routeurs se trouvent dans l’annexe. La figure ci-dessous montre la correspondance des LFIB pour un chemin donné. Le label Local correspond au label attribué à chaque préfixe (FEC) de la table de routage par le routeur. Ce label local est transmis, grâce au message LDP label mapping, aux autres routeurs afin qu’ils puissent compléter leur champ Outgoing label. Ainsi chaque routeur connaît le label à utiliser pour forwarder un label. Chemin emprunté par les paquets lors d’un ping Afin de vérifier le bon fonctionnement du réseau, un ping est effectué, depuis le client, sur le serveur schema ci-dessus. Cela permet de constater les choses suivantes : • Les paquets envoyés sur le réseau MPLS sont bien labellisés. • Les paquets empruntent le chemin le plus direct vers la destination. • Les labels sont déjà retirés des paquets par le dernier LSR se trouvant avant le LER. L’opération, décrite dans cette dernière constatation, se nomme Penultimate Hop Poping (PHP). Elle permet un gain de performance dans les LER. En effet, lorsque PHP n’est pas utilisé, le LER doit effectuer deux opérations pour forwarder les paquets. La première est la consultation de la table de forwarding qui indique que le label doit être retiré du paquet et l’entête IP consulté. La deuxième est la recherche de l’adresse IP du paquet dans la table de routage, pour l’envoyer vers sa destination. Avec PHP, le LSR, se trouvant avant le LER, forward les paquets sans ajouter de nouveau label. Ainsi, le LER n’a plus qu’à effectuer le forwarding IP. L’utilisation de PHP est demandée, par le LER, en utilisant une valeur de label de 3, lors de l’envoi du message LDP label mapping. ANNEXE: Traffic Engineering Par " Traffic Engineering MPLS ", il faut comprendre, établissement de connexions " à la demande ", " gestion de trafic ", gestion des routes, gestion des ressources, gestion de l'écoulement de flux de trafic à travers un réseau IP Dans un réseau d’operateur l’utilisation de cette technologie permet d'optimiser l'utilisation des ressources du réseau. En effet ces réseaux disposent des liens de secours en cas de panne. Mais il est souvent préférable d’utiliser un lien de secours pour diminuer la charge d’un lien surchargé avant la panne pour l’éviter. Il est possible de faire suivre les paquets IP un chemin à travers le réseau ne correspondant pas au chemin que ces mêmes paquets auraient suivi s'ils avaient été routés au niveau 3 (c'est à dire à partir des informations issues du protocole de routage interne du réseau, i.e. RIP, OSPF, IS-IS, EIGRP, etc.) avec le Traffic Engineering. Son principe se repose sur l’analyse de la bande passante disponible sur un lien lors de la décision de routage. Traffic Engineering permet l’établissement de connexions à la demande, gestion de trafic, gestion des routes, gestion des ressources, gestion de l'écoulement de flux de trafic à travers un réseau IP En effet, via un Label Switched Path (LSP), MPLS permet d'imposer le chemin que les paquets IP doivent suivre pour atteindre une destination donnée. Un LSP est donc unidirectionnel. Les protocoles de routage comme OSPF ou RIP ne sont pas capable de déterminer le prochain saut en fonction du débit actuelle circulant sur les liens. Ainsi pour mettre en place du Traffic Engineering dans un réseau, l'opérateur doit utiliser un protocole de routage particulier qui doit implémenter l'algorithme CSPF : Constraint Shortest Path First. C'est cet algorithme qui permet le choix d'une route en fonction de paramètres comme par exemple le débit disponible sur un lien. Des évolutions des protocoles de routages existant comme OSPF-TE ou ISIS-TE ont été développé afin d'implémenter l'algorithme CSPF.
 * VIII]Planning **