Upload
ouhourou-na-kazi
View
2
Download
0
Embed Size (px)
DESCRIPTION
Cours de Mpls
Citation preview
1
Rseaux IP doprateurs
MPLS et lingnierie de trafic
M1RISE ROP 2012 MPLS 1
M1RISE ROP 2012 MPLS 2
Rseau IP basique
Protocole de routage (RIP, OSPF, ISIS) Chaque routeur calcule plus court chemin
Vers chaque prfixe destination Routage saut par saut Tous les paquets traits de la mme faon
Dpend uniquement de la destination
M1RISE ROP 2012 MPLS 3
Quelques problmes
Trafic dun (oprateur) concurrent Doit-on le laisser passer ?
Politique de routage (BGP) Router des paquets
Par un chemin spcial Avec rservation de dbit
=> ingnierie de trafic (MPLS) Isoler/protger trafic dune entreprise cliente
Virtual Private Networks VPN => VPN BGP/MPLS
2
M1RISE ROP 2012 MPLS 4
MPLS
Multi Protocol Label Switching Objectifs initiaux
acclrer commutation IP lenteur de la commutation IP saut par saut Cell switching router (Toshiba 94), IP switching
(Ipsilon 96), Tag switching (cisco fin 96), Cration groupe IETF MPLS 12/96 Normalisation (dbut 2001 )
RFC 3031 (architecture), RFC 3036 (LDP),
M1RISE ROP 2012 MPLS 5
MPLS
Ide Insrer un label dans paquet (IP ou autre) Construire une table (FIB) de commutation en
fonction du label Label court : lookup rapide Possibilit dagrger des destinations Unifier la commutation des paquets
Unicast ordinaire longest match (@D) Unicast avec ToS : exact match (@D +ToS) Multicast exact match (@D, @S, int. Entre) Protocoles diffrents (IPv4, IPv6, ) : Mpls
M1RISE ROP 2012 MPLS 6
MPLS : nouveaux objectifs
Commutation de label = forme de tunnel (encapsulation) => construire des chemins particuliers
ingnierie de trafic, routage avec QoS Ex : RSVP-TE (Traffic Engineering)
masquer le rseau travers VPN IP bass sur MPLS et BGP interconnexion de LAN travers rseau IP
trame sur IP, VPLS extension dautres niveaux
MPLS, GMPLS
3
M1RISE ROP 2012 MPLS 7
FEC
Concept de Forwarding Equivalence Class Tous paquets dune FEC traits de la mme
faon Mme interface sortie Mme prochain saut (NextHop) Mme file attente (si QoS) Ex : unicast classique FEC = prfixe Granularit variable
FEC grossier : prfixe rseau 192.168.0.0/18 FEC fin : flux RSVP @S, @D, port S, port D
M1RISE ROP 2012 MPLS 8
FIB MPLS 2 possibilits
1 table par entre (porte du label = lien) 1 table globale (porte du label = nud)
(interface entre, label entre) => (label de sortie, interface sortie, NextHop, File)
Quel quipement insre le premier label ? Classification des paquets
Comment construire la FIB ? Comment insrer les labels dans des paquets/
trames?
M1RISE ROP 2012 MPLS 9
Insertion des labels RFC 3032 MPLS Label Stack encoding Pile de labels (utilis p.e. dans VPN BGP-MPLS) Label cod sur 20 bits dans Label Entry de 32 bits
Label (20), Cos (3), Stack (1), TTL (8) Stack = 1 fond de pile
Quelques labels rservs 0 : IPv4 Explicit Null (fond de pile) => oblige POP et
traitement IPv4 1 : Router Alert Label (pas au fond) => examen spcial 2 : IPv6 Explicit Null 3 : Implicit Null (pas dans la pile) distribu pour forcer POP
4
M1RISE ROP 2012 MPLS 10
Labels
Insertion ethernet @D,@S, ethertype=8847, label(s), network layer
Possible LLC/SNAP Remarque :
ethertype dorigine 0800 (IPv4) 86DD (IPv6), perdu Doit tre dductible du label ou du network layer
M1RISE ROP 2012 MPLS 11
Encapsulation TTL initialis TTL IP entrant
Dcrment => dtection de boucle Problme des messages ICMP
Connaissance du protocole suprieur ? Possibilit de router message ICMP
Adresse niveau IP peut tre non routable (p.e. prive) Possibilit :
gnrer un paquet ICMP, avec mme label stack (sauf TTL) le paquet descend jusqu lEgress qui retransmet la source
Ex : Problme de TTL exceeded (traceroute) Problme de Path-MTU discovery
M1RISE ROP 2012 MPLS 12
Commutation (FIB) 3 structures
NHLFE Next Hop Label Forwarding Entry Indique
Prochain saut (et/ou interface) Oprations effectuer sur pile de label
Remplacer sommet pile SWAP (usuel) Supprimer sommet pile POP ex : sortie domaine Mpls : Egress router Remplacer puis empiler 1 ou +sieurs labels PUSH
Infos spcifiques au lien Adresse mac ,
NHLFE = traitement du paquet
5
M1RISE ROP 2012 MPLS 13
Commutation (2) ILM Incoming Label Map
Pour paquets avec label label entre (et interface) => 1 ou +sieurs NHLFE
Pour load balancing multipath 1 seul NHFLE choisi
FEC to NHFLE map Pour paquets non labels Entre de domaine Mpls : Ingress router Insertion du premier label en fonction de la FEC => classification Remarque : label enlev par routeur de sortie Egress
Ou par lavant-dernier penultimate popping PHP
M1RISE ROP 2012 MPLS 14
Construction des tables
Protocoles de routage classiques (A) Mapping FEC NextHop (FIB IP)
OSPF, RIP, BGP, PIM,
Cration dassociation (B) FEC Label
Distribution association (A) +(B) => ILM + NHLFE
M1RISE ROP 2012 MPLS 15
Association
Association FEC label Locale (dcide localement) Ou Distante (dcide par voisin) Les 2 voisins doivent tre daccord
Signalisation Cration upstream ou downstream
Choix MPLS : downstream Routeur aval dcide et informe routeur amont
6
M1RISE ROP 2012 MPLS 16
Dclenchement association
Deux mthodes possibles Mthode Control Driven
vnement proto routage OSPF recalcule table Rservation RSVP PIM join/prune
Stable (indpendant trafic) Nombreuses associations inutiles
M1RISE ROP 2012 MPLS 17
Dclenchement association (2)
Mthode Data driven la dtection dun nouveau flux (~ FEC) Pas dassociation inutile Que se passe-t-il pour un paquet sans
association ? (rseau hybride)
M1RISE ROP 2012 MPLS 18
Distribution des labels
Par protocoles de routage (piggybacking) Possible avec vecteur de distance ou chemins
(RIP, BGP) Annonces suivent chemin inverse donnes
Peu compatible avec protocoles tat des liens Inondation des annonces
Par protocoles spcifiques (LDP, RSVP) Solution normalise
7
M1RISE ROP 2012 MPLS 19
Architecture MPLS LSR Label Switch Router
Routeur capable de commuter des paquets par label Domaine MPLS
Ensemble de LSR qui changent Des paquets avec label et des infos sur les associations ~ domaine de routage
Pour une FEC Pour une entre Ingress
en gnral une seule sortie Egress LSP (Label Switched Path) de Ingress vers Egress
En gnral N Ingress utilisent la mme sortie 2 solutions
1 arbre : LSP-tree ou bien N LSP indpendants
M1RISE ROP 2012 MPLS 20
LSR et LSP merge
Label merge : pour une mme FEC deux entres (incoming label)
=> un seul NHFLE (et donc un seul label) en gnral possible pour un routeur IP
Si label merge impossible : plusieurs LSP convergent vers Egress
mme FEC, mais labels diffrents sur un lien
M1RISE ROP 2012 MPLS 21
Cration des LSP Mode ordonn
Egress dclenche cration de proche en proche vers Ingress Crer association si Egress ou si reu association de laval => Si LSP existe lIngress, existe jusqu Egresss Squentiel => plus lent Peut tre Hop by Hop (chaque LSR dcide prochain saut) ou Explicite (source routing plus avantageux que IP)
Voir ingnierie de trafic Mode indpendant
Chaque LSR dcide pour ses liens entrants Construction en parallle (+ rapide) Risque incohrence
8
M1RISE ROP 2012 MPLS 22
Exemple (downstream, ordonn)
R2 R3
R5
R1
R4 R6 R7
Domaine MPLS
BGP Nouveau prfixe F
(F, L0)
(F, L1) (F, L3)
(F, L2)
(F, L4)
(F, L5)
BGP Nouveau prfixe F
BGP Nouveau prfixe F
BGP Nouveau prfixe F
R4 L1,L2 -> R6, SWAP(L0)
R6 L0 -> R7, POP
R5 F -> R4, PUSH(L2) L5 -> R4, SWAP(L2) R2 L3,L4 -> R4, SWAP(L1)
L5 inutilis
M1RISE ROP 2012 MPLS 23
Exemple : donnes
R2 R3
R5
R1
R4 R6 R7
Domaine MPLS
R4 L1,L2 -> R6, SWAP(L0)
R6 L0 -> R7, POP
R2 L3,L4 -> R4, SWAP(L1)
Push L3 Swap L1 Swap L0 Pop
Pop Penultimate popping
R3 F-> R2, PUSH(L3)
Classification (Dest => F)
M1RISE ROP 2012 MPLS 24
Distribution des labels : LDP
LDP Label Distribution Protocol RFC 3036 Divers messages pour grer adjacences entre
LSR voisins Dcouverte adjacences (Hello) UDP, priodique tablissement de session TCP hard state : pas de de rafrachissement cyclique
9
M1RISE ROP 2012 MPLS 25
LDP : Associations Label Advertisement : 4 commandes
Label Request(FEC) (descendant) Nouvelle FEC ou nouveau NH (ou commande)
Label Mapping(FEC, Label) (montant) Rponse request ou spontan
Withdrawal(FEC, Label) (montant) Plus de route pour FEC
Release(Label) (descendant) Plus besoin du Label
M1RISE ROP 2012 MPLS 26
Distribution (suite) Mode libral
Garder les mapping(FEC, L) de LSR1 Mme si NH pour FEC LSR1 Utilisables si NH(FEC) change Gaspille espace label
Mode conservateur si NH(FEC) LSR, envoyer release(L) LSR1
Mode downstream on demand Request descend depuis Ingress, mapping remonte
Mode unsollicited downstream Pas de request, mapping initi par Egress (schma prcdent)
Mode ngoci lors tablissement session
M1RISE ROP 2012 MPLS 27
Exemple (LDP downstream on demand, ordonn)
R2 R3
R5
R1
R4 R6 R7
Domaine MPLS
BGP Nouveau prfixe F
Map(F, L0)
Map(F, L1) Map(F, L3)
Map(F, L2)
Map(F, L4)
BGP Nouveau prfixe F
BGP Nouveau prfixe F
BGP Nouveau prfixe F
R4 L1,L2 -> R6, SWAP(L0)
R6 L0 -> R7, POP
R5 F -> R4, PUSH(L2)
R2 L3,L4 -> R4, SWAP(L1)
REQ(F) REQ(F)
REQ(F)
REQ(F)
REQ(F)
routes IP vers F
R3 F -> R2, PUSH(L3)
10
M1RISE ROP 2012 MPLS 28
Exemple (LDP downstream on demand, ordonn)
R2 R3
R5
R1
R4 R6 R7
Domaine MPLS
BGP Nouveau prfixe F
BGP Nouveau prfixe F
R4 L1,L2 -> R6, SWAP(L0)
R6 L0 -> R7, POP
R5 F -> R4, PUSH(L2)
R2 L3,L4 -> R4, SWAP(L1) R3 F -> R2, PUSH(L3)
Paquet P pour D F L3 (P)
Paquet P pour D F L1 (P) L0 (P)
PUSH SWAP SWAP
POP
M1RISE ROP 2012 MPLS 29
LDP : FEC
FEC = suite dlments FEC lment FEC = prfixe ou adresse dhte Prochain saut vers tous les lments
Doit tre identique Sinon POP (possibilit de pile)
LSR2 LSR1
LSR4
LSR3 Prfixe P1
Prfixe P2
Agrgation P1,P2
Mapping(P1,L1)
Mapping(P2,L2)
Mapping((P1,P2),L3) POP
M1RISE ROP 2012 MPLS 30
Contrle de boucle
Donnes : TTL (curatif) limination de paquets
Construction de LSP (LDP, prventif) Option configurable loop detect incluse dans Request et Mapping Hopcount TLV #LSR traverss Path vector TLV (pour LSR non merge capable )
Liste des LSR traverss Message LDP loop detected notification
HopCount max atteint ou PathVector contient Id LSR local (ou max atteint)
11
MPLS basique
Automatique Ex cisco Activer la commutation express
Ip cef
Choisir proto distribution de label mpls label protocol ldp
Activer mpls par interface interface FastEthernet1/0 ip address 10.0.0.1 255.255.255.252 mpls ip
M1RISE ROP 2012 MPLS 31
M1RISE ROP 2012 MPLS 32
Routeur/commutateur routeur IP + LSR MPLS
RIB
FIB
Signalisation
Donnes
A, donnes entre
FC
Algo routage
sortie paquet
configuration
Routage IP LDP
RIB IP LIB label IB
A = label
Commutation de labels
M1RISE ROP 2012 MPLS 33
Ingnierie de trafic Traffic Engineering
RFC 2702, Requirements for Traffic Engineering Over MPLS, septembre 99
2 types dobjectifs Orients trafic (~qualit de service pour les flux)
Pour certains flux (type dapplic., de client) Contraintes de qualit de service (dbit, dlai,)
=> routage bas sur destination + QoS demande + (QoS dispo / lien)?
Orients ressources (bonne utilisation des ressources) Rpartir les flux
Augmenter la bande passante totale utilisable Et/ou limiter la congestion => routage bas sur destination + (BP dispo ?)
12
M1RISE ROP 2012 MPLS 34
Ingnierie de trafic (2) Commutation des paquets
bas sur critres supplmentaires (+ destination) Difficile obtenir avec routage saut par saut
Routage source (peu efficace en IP) Marquer (pingler) la route (route pinning)
MPLS : LSP = route marque Signalisation spcifique (RSVP-TE ou CR-LDP) Utilisation diffrente des protocoles de routage
Calcul la source ( la demande ?) Calcul par serveur
PCE : Path Computing Element
M1RISE ROP 2012 MPLS 35
RSVP
Principe de RSVP (architecture Intserv) Source envoie RSVP-Path(Dest, FlowSpec)
marquage du chemin Ncessaire car routage non symtrique
Rcepteur(s) envoie RSVP-Resv Rservation ressources sur le chemin prend le chemin inverse (grce marquage)
Ncessite option Router Alert Paquet Source => Dest. Trait par routeurs
M1RISE ROP 2012 MPLS 36
RSVP
Soft State (messages priodiques) si route IP change
rservation change au prochain Path/Resv RSVP de base :
utilise routes IP classiques
13
M1RISE ROP 2012 MPLS 37
RSVP-TE (1) RFC 3209, 3210 (dcembre 2001) Associe un label un flux RSVP
Mode downstream on demand RSVP-Path(Label Request, Fec = D)
En option objet route explicite Liste de nuds abstraits
Strict (doit tre voisin du prcdent) Lche (loose) (pas ncessairement voisin direct)
Nud abstrait dcrit par Adresse IP ou Prfixe ou N AS
Rponse RSVP-Resv(Label, Fec)
M1RISE ROP 2012 MPLS 38
RSVP-TE (2) Changement dynamique de LSP
Nouvelle capacit Panne Augmentation besoin des flux
=> modification sans perturbation Identificateur de session Changement de LSP : make before break
Dtecter liens communs ancien et nouveau LSP mme ident. de session
Ne pas ajouter les BP (uniquement delta si )
M1RISE ROP 2012 MPLS 39
Architecture de TE
Automatisation des tunnels TE Prise en compte des contraintes
Bande passante Connatre les ressources Calculer des routes explicites
Tenant compte des ressources (CSPF) => nouveau routage
OSPF-TE
14
M1RISE ROP 2012 MPLS 40
OSPF-TE
RFC3630 Spcifie 1 nouveau LSA TE-LSA
Bande passante totale Bande passante totale rservable Bande passante rsiduelle
Sur 8 niveaux de priorit Groupe(s) administratif(s) (couleur)
Peut appartenir 1 ou plusieurs de 32 groupes Mtrique de TE (peut tre mtrique usuelle)
M1RISE ROP 2012 MPLS 41
OSPF-TE (suite)
Chaque routeur Carte rseau avec BP disponible
Sur chaque lien Par priorit
Lors de demande Chemin de R1 R2,
bande passante D, priorit P Calcul (par la source ) du CSPF
M1RISE ROP 2012 MPLS 42
OSPF-TE (suite) Calcul (par la source A ) du CSPF
Constrained SPF shortest path first Prendre le graphe du rseau liminer les artes dont la BP rsiduelle pour P
Ne vrifie pas BPrsiduelle > Demande Lancer lalgorithme de Dijkstra
=> tous les chemins calculs vrifient BP > D Rcuprer le chemin A=R1, R2, R3, Rn=B Rserver D sur ce chemin via RSVP-TE avec route explicite
Si chec rservation : message PathErr
15
M1RISE ROP 2012 MPLS 43
OSPF-TE (suite) Chaque routeur qui a rserv D pour un lien L
Construit nouveau LSA-TE pour L Avec BP rsiduelle diminue de D
Diffuse ce LSA-TE tous les routeurs Mise jour des BD de LSA
Restitution des ressources Tunnel supprim (message RSVP PathTear) Ou changement de route du tunnel => timeout sur la rservation Nouveau LSA-TE avec BP rsiduelle augmente de D
M1RISE ROP 2012 MPLS 44
Demande R3 => R6 10M
R2 R3
R5
R1
R4 R6 R7
Domaine MPLS
Demande pour F
R3 envoie RSVP Path route explicite R3 - R2 - R5 -R4 - R6 label request BP demande 10M
R3 calcule Route explicite R3 - R2 - R5 -R4 - R6 (CSPF) 50
5
40 20
60 Path
Path Path
Path
R6 renvoie RSVP Resv Label BP
Resv, L1 Resv, L4
Resv, L3 Resv, L2
Bande passante disponible apprise par OSPF-TE
Remarques sur TE
OSPF-TE+RSVP-TE Ne garantissent pas la QoS
On ne peut pas rserver + que dispo MAIS On peut envoyer plus que rserv => ncessit de vrification lentre Mcanismes de policing
Calculs faits par chaque source Possibilit de concurrence => centraliser les calculs ?
M1RISE ROP 2012 MPLS 45
16
M1RISE ROP 2012 MPLS 46
CR-LDP Constrained Routing LDP
RFC 3212-3214, janvier 2002 Distribution ordered on-demand downstream
Label-Request => mapping Routage explicite (strict ou lche) entre noeuds abstraits Descripteur de trafic
(peak rate, commited rated) (token bucket) Priorit (possibilit de premption) hard state comme LDP RSVP soft state
A t virtuellement abandonn au profit de RSVP-TE Cf rfc3468 , bien que proposed standard de lietf
Mise en place TE sur cisco Activer les tunnels TE mpls traffic-eng tunnels Activer OSPF-TE router ospf 10 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0 Pour chaque interface o on souhaite rserver des tunnels TE interface FastEthernet1/0 mpls ip mpls traffic-eng tunnels ip rsvp bandwidth 10000 10000 /* bande passante rservable */
M1RISE ROP 2012 MPLS 47
Mise en place TE
il ne reste plus qu dclarer les tunnels unidirectionnels Sur le routeur entrant : interface Tunnel0 ip unnumbered Loopback0 /* le tunnel utilise ladresse de lo0 */ tunnel destination 10.10.10.4 /* routeur de sortie du tunnel */ tunnel mode mpls traffic-eng /* mode cration du tunnel */ tunnel mpls traffic-eng autoroute announce
/* extrmit tunnel annonc dans le routage */ tunnel mpls traffic-eng priority 1 1
/* niveau de priorit des rservations, setup et hold /* tunnel mpls traffic-eng bandwidth 4000
/* bande passante rserve pour ce tunnel */ tunnel mpls traffic-eng path-option 1 dynamic no routing dynamic
M1RISE ROP 2012 MPLS 48
17
M1RISE ROP 2012 MPLS 49
Biblio [RFC 2702] Requirements for Traffic Engineering Over MPLS,
septembre 99 [MPLS] Davie, Rekhter, MPLS Technology and Applications,
Morgan Kaufmann, 2000. [RFC3031] MPLS architecture, janvier 2001 [RFC 3032] MPLS label stack encoding, janvier 2001. [RFC 3036] LDP specification, janvier 2001. [QoSR] Z Wang, J Crowcroft, Quality of Service Routing for
Supporting Multimedia Applications, IEEE JSAC, Vol 14 N7, sept 96.
[RFC 3209, 3210] RSVP-TE, dcembre 2001 [RFC 3212-3214] CR-LDP, janvier 2002
M1RISE ROP 2012 MPLS 50
Exercice
R2 R3
R5
R1
R4 R6 R7
Domaine MPLS
Demandes successives R3 -> R6 10 R1 -> R6 15 R3 -> R6 10 R1 -> R6 5
50 5
40 20
60
Bande passante disponible apprise par OSPF-TE
35
10