17
1 Réseaux IP d’opérateurs MPLS et l’ingénierie de trafic M1RISE ROP 2012 MPLS 1 M1RISE ROP 2012 MPLS 2 Réseau IP « basique » – Protocole de routage (RIP, OSPF, ISIS) Chaque routeur calcule plus court chemin – Vers chaque préfixe destination Routage saut par saut Tous les paquets traités de la même façon – Dépend uniquement de la destination M1RISE ROP 2012 MPLS 3 Quelques problèmes Trafic dun (opérateur) concurrent Doit-on le laisser passer ? Politique de routage (BGP) Router des paquets Par un chemin « spécial » Avec réservation de débit => ingénierie de trafic (MPLS) Isoler/protéger trafic dune entreprise cliente Virtual Private Networks VPN => VPN BGP/MPLS

MPLS

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