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.