Vers un réseau déterministe
Transcription
Vers un réseau déterministe
Vers un réseau déterministe 1ere partie : Généraliste: Notions et définitions 2eme partie et 3eme partie : - MPLS et compagnie (RSVP, OSPF, BGP, TE, FR, VPLS...) - Topologie : Intégration du paramètre COUT. Conclusion et références. 4eme partie : Travaux Pratiques Présentation du cours Vers un réseau déterministe 1) Introduction Un réseau peut être vu comme un ensemble de ressources mises en place pour offrir un ensemble de services. C’est l’évolution des services et des trafics qui en découlent qui a piloté, dans les dernières années, l’évolution technologique qui a permis d’augmenter la capacité et les fonctionnalités des réseaux. Ainsi, par exemple, le succès des services de l’Internet a engendré une explosion de trafics qui a mené les opérateurs à utiliser de nouvelles technologies dans le cœur de réseau tel que l’IP (Internet Protocol) sur ATM (Asynchronous Transfer Mode), le PoS (Packet over Sonet/SDH) , ou encore MPLS (Multi Protocol Label Switching). Vers un réseau déterministe Le routage dans les réseaux IP Le routage IP est un routage de proche en proche. Dans un routeur, une table de routage IP contient la liste des adresses connues localement afin d’associer une interface de sortie à toutes les destinations (next-hop). Lorsqu’un paquet de destination inconnue (non locale) est reçu, le paquet est envoyé vers le routeur de frontière par défaut (passerelle). Le routage se compose de deux éléments essentiels : • Détermination des chemins optimaux de routage, • Envoi des paquets IP à travers des réseaux. L’envoi des paquets est une tâche assez simple. La détermination d’un routage optimal est beaucoup plus complexe. Les routeurs dans l’Internet sont organisés de manière hiérarchique. Des routeurs sont utilisés pour envoyer les informations dans des groupes de routeurs particuliers sous la même responsabilité administrative. Ces groupes sont appelés des « Autonomous Systems » (AS). Ces routeurs, appelés Interior Gateway Router, utilisent des protocoles de routage appelés Interior Gateway Protocols (IGP). D’autres routeurs permettent à différents Autonomous Systems de communiquer entre eux. Ils utilisent des protocoles de routage appelés Exterior Gateway Protocols (EGP). En échangeant régulièrement des informations, les routeurs construisent une image de la topologie du réseau ce qui permet de créer les tables de routage. Les tables de routage contiennent en tout nœud, le prochain routeur à utiliser (next hop) pour une destination donnée. Le routage IP spécifie donc bond par bond (hop by hop) comment envoyer des paquets pour une adresse destination donnée. Vers un réseau déterministe Les principaux objectifs à atteindre par un protocole de routage sont : - Optimisation (sélectionner le meilleur chemin selon les critères choisis), - Simplicité (le plus simple possible), - Robustesse et souplesse (faire face à toutes sortes d’imprévus), - Convergence rapide (recalculer les routes rapidement pour éviter les boucles, les pannes réseau,...). Vers un réseau déterministe Le protocole OSPF Le protocole OSPF (Open Shortest Path First) est un protocole de routage à état de lien (Link-State) créé par l’IETF [RFC2328]. Il est actuellement l'IGP (Interior Gateway Protocol) le plus répandu. L'état de lien permet au routeur d’avoir une vision globale du réseau et de sa topologie et l’émission des mises à jour n’est déclenchée qu’en cas de modifications topologiques. Pour générer la table de routage, le protocole OSPF utilise un arbre du plus court chemin d’abord (SPF Tree : Short Path First Tree) et un algorithme du plus court chemin d’abord (SPF Algorithm) appelée aussi algorithme de Dijkstra, qui détermine le meilleur chemin en terme de coût. Le coût du chemin dépend de métriques figées par l’opérateur sur chacune des interfaces du réseau. La métrique, est un coût sans dimension aucune valeur n’est imposée. Libre à l’opérateur de choisir la valeur qu’il juge pertinente . Le protocole OSPF est capable de différencier les classes de service, grâce au champ ToS, permettant ainsi un routage différent selon le type de trafic dans le réseau. Les tables de routages pouvant être différentes selon les classes de services, on peut utiliser une métrique différente pour chacune d’elle. Lorsque plusieurs routes sont équivalentes d’un point de vue métrique (même coût), le partage de charge (Load-Balancing) entre ces routes peut être employé. Le nombre de routes sur lesquelles on peut faire du partage de charge est en général limité (à quatre sur certains routeurs). Un réseau OSPF peut-être composé d’un ou plusieurs domaines de routage, les aires (Areas), au sein d’un même système autonome : l’aire 0 constitue l’aire de backbone. Vers un réseau déterministe Vers un réseau déterministe Le protocole BGP Le protocole BGP (Border Gateway Protocol) est un protocole de routage entre AS [RFC1771]. BGP est utilisé pour l'échange d'informations de routage entre AS de l'Internet. Les informations de routage se présentent sous la forme de la suite des numéros d'AS à traverser pour atteindre la destination. C’est BGP qui assure la propagation des routes à l’échelle mondiale. Quand BGP est utilisé entre AS, le protocole est connu sous le nom de BGP Externe (e-BGP). Si BGP est utilisé à l'intérieur d'un AS pour échanger des routes, alors le protocole est connu sous le nom de BGP interne (i-BGP). Les routeurs de frontière communiquant par i-BGP doivent être complètement maillés (mais pas forcément directement connectés). Avec BGP4, on peut toutefois utiliser les techniques dites de route reflector et de confédérations pour diminuer le nombre d'échanges de messages à l'intérieur d'un grand AS. BGP est un protocole très robuste et très « scalable » : les tables de routage BGP de l'Internet comprennent plus de 90000 routes. Si BGP a atteint ce niveau de « scalabilité », c'est essentiellement parce qu'il associe aux routes des attributs permettant de définir des politiques de routage entre AS (c'est aussi grâce au sous-adressage). Les voisins BGP échangent toutes leurs informations de routage au début, lors de l'établissement d'une connexion TCP entre eux. Par la suite, les routeurs BGP n'envoient à leur voisins que des mises à jour des tables de routage lorsqu'un changement de route est détecté ou qu'une nouvelle route est apprise. Ainsi, les routeurs BGP n'envoient pas des mises à jour périodiquement et ne diffusent que le chemin « optimal » vers un réseau destination. Vers un réseau déterministe Vers un réseau déterministe MPLS Avec l’augmentation du débit des liens de communication, les routeurs de l’Internet menaçaient de devenir des goulots d’étranglement. L’IETF a ainsi défini le nouveau protocole MPLS [RFC3031], [RFC3032] avec deux objectifs principaux : • Permettre un acheminement rapide des paquets IP en remplaçant la fonction de routage par une fonction de commutation qui est beaucoup plus rapide, la taille des matrices de commutation étant très petite. La recherche se fait suivant le principe « exact match » au lieu de « best match ». • Faciliter l’ingénierie réseau en fournissant aux opérateurs la maîtrise de l’acheminement des données, qui étaient très complexes avec des protocoles comme OSPF. Le protocole MPLS, basé sur le paradigme de changement de label, dérive directement de l’expérience acquise avec l’ATM (étiquettes VPI/VCI). Ce mécanisme est aussi similaire à celui de Frame Relay ou de liaisons PPP. L’idée de MPLS est de rajouter un label de couche 2 aux paquets IP dans les routeurs frontières d’entrée du réseau. Le réseau MPLS va pouvoir créer des LSPs (Label Switching Path), similaires aux PVC d’ATM. Vers un réseau déterministe MPLS Le but est d'associer la puissance de la commutation de la couche 2 avec la flexibilité du routage de la couche 3. Schématiquement, on peut le représenter comme étant situé entre la couche 2 (liaison) et la couche 3 (réseau). Vers un réseau déterministe MPLS MPLS apporte plusieurs autres bénéfices pour les réseaux IP : - Gestion du trafic (Traffic Engineering) i.e. la capacité de configurer le chemin que vont emprunter les différents flux sur le réseau et d'associer des caractéristiques de performances à une classe de trafic, - Etablissement de VPNs, i.e. la possibilité d'établir des VPNs sur un réseau MPLS sans la nécessité d'utiliser des protocoles de cryptage ou des applications clientes particulières, - Transport de services associés au niveau 2 ( tels Ethernet, Frame Relay and ATM ) au dessus d'un noyau IP/MPLS, - Suppressions des " Multiple layers " i. e. que typiquement la plus part des fournisseurs de réseau utilisent un modèle de recouvrement où SONET/SDH est déployé à la couche 1, ATM est utilisé à la couche 2 et l'IP est utilisé à la couche 3. En utilisant MPLS, les fournisseurs de réseaux peuvent faire passer plusieurs des fonctions de contrôle de SONET/SDH et d'ATM à la couche 3, simplifiant de ce fait la gestion du réseau et sa complexité. Un chemin basé sur les mécanismes MPLS (LSP) peut être établi en traversant plusieurs couches de transports de niveau 2 tels que ATM, Frame Relay ou l'Ethernet. Une des vraies promesses de MPLS est la capacité de créer les circuits de bout en bout, avec des caractéristiques de performances spécifiques, à travers n'importe quel type de support de transport, éliminant le besoin de réseaux de recouvrement ou de mécanismes de contrôle de niveau 2 seulement. Ainsi, MPLS peut assurer une transition facile vers l'Internet optique. MPLS n'étant pas lié à une technique de niveau 2 particulière, il peut être déployé sur des infrastructures hétérogènes (Ethernet, ATM, SDH, WDM, etc.). Vers un réseau déterministe MPLS Dans un réseau mettant en oeuvre MPLS, tout paquet entrant se voit attribuer un "label" par un Label Edge Router (LER). Les paquets sont routés le long d'un Label Switch Path (LSP) où chaque Label Switch Router (LSR) prend les décisions de routage en s'appuyant seulement sur la valeur des " label ". A chaque " saut ", le LSR remplace l'ancien " label " par un nouveau qui indique comment router le paquet au prochain saut. - Label : Un label est un entier qui est associé à un paquet lorsqu'il circule dans un réseau MPLS et sur lequel ce dernier s'appuie pour prendre des décisions de routage. - LSR : Un routeur de commutation par label ou LSR (Label Switch Router) est un routeur d'un réseau MPLS qui est capable de retransmettre les paquets au niveau de la couche 3 en s'appuyant seulement sur le mécanisme des labels. Toutes ses interfaces supportent le protocole IP. - LER : Un LER (Label Edge Routeur) est un LSR qui fait l'interface entre le réseau MPLS et le monde extérieur. C'est lui qui est chargé par exemple de " labelliser " les paquets à leurs entrées dans le réseau MPLS. Il est équivalent à un ingress node ou egress node. En général, une partie de ses interfaces supportent le protocole MPLS et l'autre un protocole style IP. - Forward Equivalence Class : Une classe d'équivalence pour la transmission ou Forward Equivalence Class ou FEC, est un ensemble de paquets au niveau de la couche 3 qui sont transmis de la même manière i.e qu'ils suivent le même chemin au sein du réseau et qu'ils ont la même priorité. - Label Switch Path : Un Label Switched Path ou LSP est le chemin établi au travers de un ou plusieurs LSRs pour rejoindre plusieurs LERs au sein d'un réseau MPLS, configuré uniquement via le mécanisme les labels, pour une FEC particulière. Il peut être établi statiquement ou dynamiquement. - Label Distributed Protocol : Label Distributed Protocol (LDP) est le protocole utilisé pour distribuer les labels au sein d'un réseau MPLS, sans tenir compte de notion de qualité de service ou d'ingénierie de trafic. Vers un réseau déterministe MPLS Vers un réseau déterministe MPLS Le LSP est une succession de routeurs LER et LSR, c’est le chemin que vont suivre les paquets dans le réseau MPLS. Un LSP est défini par les attributs suivants : • • • • • • Le LSR d’entrée (Ingress LSR) et de sortie (Egress LSR), La (ou les) FEC qu’il transporte, La bande passante réservée, Mandatory : est activé si le chemin est imposé au LSP, Hierarchy : peut être activé lorsque plusieurs chemins sont disponibles, Affinity : (ou couleur) permet de marquer les différentes ressources du réseau. On peut alors imposer à un LSP d’utiliser certaines classes de ressources (et donc pas d’autres). Par exemple n’utiliser que des liaisons chiffrées, cryptées ou satellites etc, • Setup Priority : permet d’affecter une priorité aux LSPs. Cette priorité est tout d’abord utilisée pour déterminer l’ordre dans lequel les LSPs doivent être établis, et donc l’ordre dans lequel ils vont accéder aux ressources du réseau, • Holding Priority : permet à un LSP de remplacer un autre LSP de son chemin, si cela est nécessaire. Cela est utile si des LSPs de haute priorité doivent être absolument reroutés en cas de panne et remplacer d’autres LSPs moins prioritaires. Cette situation peut arriver en cas de manque de bande passante, • Fast ReRouting : indique la présence d’un chemin de contournement à utiliser en cas de pannes, Vers un réseau déterministe MPLS Explicite Routing : permet de spécifier entièrement (strict) ou partiellement (loose) le chemin du LSP, • Adaptivity : permet de spécifier si un LSP est réoptimisable (c’est-à-dire si on lui cherche un autre chemin de secours) en cas de problème (panne détectée d’un élément), • Policing : spécifie les opérations à effectuer en cas de trafics non cohérents avec les contrats, • AutoBandwidth : permet au LSP d’adapter dynamiquement la bande passante réservée par rapport au trafic présent. On peut spécifier la fréquence avec laquelle on demande la bande passante, spécifier le maximum de bande passante sur le tunnel et la bande passante minimale. • A ces attributs, on peut ajouter les attributs relatifs à l’évaluation de performances tel que le délai, la perte et la gigue maximum tolérés (par classes de services). Plusieurs informations nécessaires au routage des LSPs sont distribuées périodiquement : • Lorsqu’un changement de la Bande Passante est détecté, • Lorsqu’une modification de la configuration des liens est détectée, • Etc. Ensuite, le calcul du chemin (Path Computation) répondant aux différents critères et contraintes est réalisé. Cette détermination a lieu avant la création réelle (physique) du LSP. Ce calcul de chemin est effectué lors de la demande de création d’un nouveau LSP, lors d’une panne, ou lors d’une demande de réoptimisation. Vers un réseau déterministe Qualité de service et " traffic engineering " Des protocoles comme LDP, BGP ou IS-IS permettent de router des paquets au sein d'un réseau MPLS, mais ne peuvent éviter les congestions s'ils redirigent les paquets vers un LSP de priorité haute. Le Traffic engineering (TE), permet aux administrateurs réseaux d'optimiser l'emploi des liaisons en établissant des tunnels LSP dans un réseau MPLS, indépendamment de l'IGP. Ceci peut être combiné avec la réservation de bande passante. Les LSPs peuvent servir à mettre en oeuvre la notion de load balancing (répartition de charge) et de high availability (haute disponibilité) via l'utilisation de plusieurs LSPs. La Qualité de Service (QoS), rajoute des contraintes telles que la garantie de bande passante, la priorité, la durée de vie d'un paquet, la classe de service associée. Des propositions sont faites pour rajouter ses informations dans un champ inexploité appelé Exp. Des propositions ont été faites pour intégrer DiffServ Differentiated Services [rfc 2475] au sein de MPLS via des extensions [rfc 3270]. Un certains nombre de protocoles existent qui permettent de prendre en compte des notions de QoS tels RSVP-TE ou OSPF-TE. Ce sont des extensions pour respectivement les protocoles RSVP et OSPF Le principe du TE dans MPLS est d'utiliser des tunnels unidirectionnels pour décaler le trafic d'un chemin sur un autre. Les tunnels peuvent être déterminés statiquement ou automatiquement par les LSRs. Plusieurs tunnels peuvent être utilisés pour répartir le trafic si celui-ci est trop important pour être véhiculé par un seul chemin.