Architecture de commutation dtiquettes MPLS
Prof. Noureddine Idboufker [email protected] Version 2013-2014
Agenda
Les fondements MPLS
Le label Label switch router (LSR) Edge Label Switch Router (E-LSR) Label switch Path (LSP) Label swapping Le protocole LDP
GRT5-M3-MPLS-VPN-MCast
Principes du MPLS
l Historique
l Cration dun groupe de travail lIETF en Avril 1997. l Fortement inspir du tag switching de Cisco l But initial : l Mthode de routage plus efficace l Souplesse du niveau 3 + puissance du niveau 2 l Commutation suivant un label l Entre temps : l Amlioration des performances des routeurs Intrt du MPLS rside maintenant dans les services quil permet
GRT5-M3-MPLS-VPN-MCast
MPLS
Une architecture base sur la commutation dtiquettes Amliorer les performances des routeurs IP Approcher ses performances de ceux des commutateurs ATM Transparence vis--vis des protocoles de couches adjacentes
Architecture Multi-protocolaire
Fourniture de nouveaux services valeur ajoute (SVA)
VoIP Vido sur IP Vido la demande VPN .
GRT5-M3-MPLS-VPN-MCast
MPLS : Technologie BackBone
R3
IP
R1 R2
C3
ATM, MPLS, GMPLS
C2 C1 C4
SDH ASON
WDM GRT5-M3-MPLS-VPN-MCast DWDM
Architecture MPLS et OSI
Niveau 3
IPV4
IPV6
IPX
Apple Talk
Niveau 2,5 ?
MPLS
ATM FR PPP Ethernet
Niveau 2
GRT5-M3-MPLS-VPN-MCast
Architecture MPLS
Un quipement MPLS est dit LSR : Label Switch Router
Deux composantes :
1.
Contrle : plan de contrle
Charg de la cration et la maintenance de la BD pour la formation des chemins de labels
2.
Transmission : plan de donnes
Charg du traitement des paquets de donnes en utilisant une BD spcifique contenant des labels
GRT5-M3-MPLS-VPN-MCast
Architecture MPLS
Tous les nuds MPLS utilisent les protocoles de routage IP existants pour changer des informations de routage Pour le plan contrle, tout nud MPLS est un routeur IP Tous les nuds MPLS utilisent un protocole de distribution de label : non ncessairement le mme dans tous les LSRs.
Routage : protocole de routage
R3
IP
R1 R2
C3
C1
MPLS
GRT5-M3-MPLS-VPN-MCast
MPLS : protocole de distribution de Label
C2
Multiprotocol Label Switching
Routing
Switching
Routing
Customer IP Network Router
Provider IP Network Running MPLS
Router/Switch Switch/Router Router
Customer IP Network
GRT5-M3-MPLS-VPN-MCast
Efficacit du Switching
Le rseau portal transfert les paquets sur la base du code postal Lagent de poste se base de son cot sur le nom et ladresse Postal Network
01022
Name Address City, State
Name Address City, State
01022
Les switchs MPLS ajoutent un label et transfrent sur la base de la valeur du label Les Egress switchs supprime les labels et routent sur la base de l@ IP MPLS Network
IP Address Port Label 01022
IP Address Port
GRT5-M3-MPLS-VPN-MCast
10
Le label MPLS
Larchitecture MPLS est organise autour dune principale notion que constitue le label ou tiquette Le format dpend explicitement des caractristiques du rseau utilis. Comme les identificateurs VPI/VCI de ATM, le label MPLS na quune signification locale entre deux quipements MPLS.
Len-tte MPLS occupe 4 octets (32-bits)
GRT5-M3-MPLS-VPN-MCast
11
Le Label MPLS
En-tte C2 En-tte MPLS En-tte IP DATA
Label (20bits) DATA En-tte IP
Exp Cos(3bit) S(1bit)
TTL(8bits)
DATA Niveau 3 DATA
IPV4
IPV6
IPX
Apple Talk
En-tte MPLS
En-tte IP
MPLS
Niveau 2 ATM Frame Relay PPP Ethernet
GRT5-M3-MPLS-VPN-MCast
12
Le label MPLS
Cod sur au moins 32 bits
Avec un ou plusieurs labels cods sur 20 bits chacun
Une PDU MPLS peut contenir une pile de labels Le label au sommet de la pile est transmis en premier Si S = 1, le label cod est au fond de la pile (dernier label) Si S = 0, le label cod est au-dessus dun autre label
Autres champs
TTL (Time To Live) Pour viter que des PDU MPLS puissent boucler indfiniment dans un domaine Exp ou COS (Class Of Service) Pour pouvoir appliquer plusieurs politiques de gestion des files dattente
GRT5-M3-MPLS-VPN-MCast
13
Label Stacking
Label Stackingprocessus dajout et suppression de labels chaque fois que le paquet traverse multiple MPLS networks Forward est bas sur le label le plus proche de la couche 2
IP IP IP DLCI MPLS DLCI
MPLS MPLS
DLCI IP MPLS IP DLCI DLCI
Customer IP Network
Second MPLS Network MPLS Network
Customer IP Network
GRT5-M3-MPLS-VPN-MCast
14
Pile de label
En-tte C2
S=0
S=0
S=1
En-tte C3
GRT5-M3-MPLS-VPN-MCast
15
La pile de labels (label stack)
Chaque paquet peut contenir plusieurs niveaux de labels.
Le LSR (Rtr-A) commute le paquet labellis en fonction uniquement du premier label de la pile
In I/F
In Lab
Address Prefix
Out I/F
Out Lab
171. 171 .68 68. .10
...
...
NextNext -Hop ... ...
...
171.68.10/24
Label = 5 Label = 21 IP packet D=171.68.10.12
Rtr-A
Label = 7 Label = 21 IP packet D=171.68.10.12
GRT5-M3-MPLS-VPN-MCast
16
Noeuds MPLS
Edge LSR: Label Switch Router dextrmit Core LSR: Label Switch Router de cur de rseau
Label Distribution Protocol
Core LSR - Switchs ATM - ou Routeurs
Edge LSR
GRT5-M3-MPLS-VPN-MCast
17
Label Edge Router (LER)
Ce sont des routeurs qui traitent le niveau IP et le niveau label Routeur dextrmit qui joue un rle important dans lassignation et la suppression des labels au moment o les paquets entrent dans le rseau ou en sortent.
1. 2. 3.
Dcide comment les paquets vont voyager dans le rseau Reoit des paquets IP et leur assigne des labels Push Transfert les paquets labliss vers le/les routeurs de prochain saut LSR/LER Reoit les paquets labliss partir des LSR/LER pour les router vers la destination finale Pop
4.
Chaque LSR construit une table LFIB (Label Forwarding Information Base).
GRT5-M3-MPLS-VPN-MCast
18
Label Switching Router (LSR)
Routeur ou commutateur capable de commuter des paquets ou des cellules, en fonction de la valeur des labels quils contiennent. Dans le cur du rseau, les LSRs procdent tout simplement la lecture/criture et la commutation des labels, et non les adresses des protocoles de niveau suprieur. Chaque LSR construit une table LFIB (Label Forwarding Information Base).
GRT5-M3-MPLS-VPN-MCast
19
LSR et LER : Commutation et routage
Commutation MPLS ou ATM
Routage niveau 3 Et Commutation Niveau MPLS
Avantages
Calcul unique au niveau de lentre du rseau Rapidit dans le cur de rseau
Lintelligence se trouve aux extrmits du rseau
GRT5-M3-MPLS-VPN-MCast 20
Label swapping
Inlabel
Next Hop 1 Operation 1 Next Hop 2 Operation 2
Dfinition de lopration effectuer Identification du NH Identification du label entrant Pile de labels operation
GRT5-M3-MPLS-VPN-MCast
21
Label Swapping
IN I/F 0 IN LAB Adress Prefix 171.68.10/24 Out I/F 1 Out LAB
171.68.10/24
RTr-A
RTr-B Label = 5 Label = 21 IP packet D=171.68.10.12 Label = 7 Label = 21 IP packet D=171.68.10.12
RTr-C
Processus de transfert des paquets vers leur destination sur la base de la lecture et criture des labels
GRT5-M3-MPLS-VPN-MCast 22
La commutation des paquets
local remote label label address prefix interface local remote label label address prefix interface
x x
3 4
128.89.10 171.69
1 1
3 4
5 7
128.89.10 171.69
0 1
...
...
1 171.69.12.1 data 4 171.69.12.1data
0 1 7 171.69.12.1 171.69.12.1data
Les LSRs suivants changent les labels et transmettent Le edge LSR de sortie enlve le label et route le paquet
local remote label label address prefix
Le Edge LSR dentre ajoute le label et transmet le paquet
171.69.12.1data
DATA FLOW
171.69
...
GRT5-M3-MPLS-VPN-MCast 23
Distribution de labels
Problme pos
Comment coordonner les tables de commutation des LSR ?
Par distribution dassociations entre FEC dcouvertes et labels (en anglais, FEC-Label mappings)
Protocoles proposs
TDP/LDP (Tag/Label Distribution Protocol)
TDP est un protocole CISCO propritaire LDP a t dfini par lIETF dans la RFC3036 Utiliss notamment dans le cas de FEC dfinies par sous-rseau
Extensions de RSVP (Resource Reservation Protocol)
Permet dtablir des LSP en fonction de critres de ressources et de qualit de service
Extensions de BGP (Border Gateway Protocol)
Permet de distribuer les labels en mme temps que les routes dcouvertes, mais aussi lchange de routes VPN
GRT5-M3-MPLS-VPN-MCast
24
Les protocoles de distribution de label
LDP associe des labels des FECs (adresses unicast) RSVP Utilis pour le Traffic Enginering et la rservation de ressources PIM association de label en multicast BGP Labels externes: VPN
GRT5-M3-MPLS-VPN-MCast 25
La distribution de labels
La distribution des labels aux LSR est ralise grce au protocole LDP
Bas sur le protocole TDP (Tag Distribution Protocol) de Cisco RFC 3036 TDP et LDP diffrent principalement par le format des paquets ou messages quils transmettent
Fonctions principales
Dcouverte de voisins
Pour un LSR donn, dterminer si ses voisins directs sont galement des LSR ou seulement des routeurs classiques
Distribution de labels
GRT5-M3-MPLS-VPN-MCast
26
La distribution de labels
LDP dfinit une suite de procdures et de messages utiliss par les LSR pour s'informer mutuellement du mapping entre les labels et le flux. Les labels sont spcifis selon le chemin " Hop By Hop " dfini par l'IGP dans le rseau. Chaque nud doit donc mettre en uvre un protocole de routage de niveau 3, et les dcisions de routage sont prises indpendamment les unes des autres.
GRT5-M3-MPLS-VPN-MCast 27
Label Description Protocol (LDP) RFC3036: Principes
Le protocole LDP est utilis pour associer un FEC (Fowarding Equivalence class) un label. Les labels permettent de crer des chemins labelliss LSPs LDP fonctionne en mode session entre peers .
Ces peers peuvent ne pas tre adjacents.
LDP est bi-directionnel et permet la dcouverte dynamique des noeuds adjacents grce des messages Hello changs par UDP. Une fois que les 2 nuds se sont dcouverts, ils tablissent une session TCP Cette session agit comme un mcanisme de transport fiable :
des messages d'tablissement de session TCP, des messages d'annonce de labels et des messages de notification.
GRT5-M3-MPLS-VPN-MCast
28
RFC3036: Les messages LDP
Les peers changent des messages LDP : 4 types de messages
1.
Message de dcouverte (Discovery): annonce et maintient une adjacence entre des LSRs du rseau MPLS (notion de LDP peers)
Mcanisme de base: localisation de LSRs sur le mme lien pour tablir une adjacence
Un paquet link Hello (en UDP) est envoy ladresse multicast all-routers-insubnet La rception dun link Hello identifie un peer LDP potentiel: Contient le LDP identifier et le label space
Mcanisme tendue: localisation de LSRs distants
Un paquet targeted Hello (en UDP) est envoy une adresse spcifique sur le port UDP: LDP discovery (port 646) Le targeted LSR rpond en envoyant des targeted Hellos lmetteur
GRT5-M3-MPLS-VPN-MCast
29
Les messages LDP : Dcouverte
Principe de base
1.
Tout LSR transmet priodiquement ses voisins
Un message LDP Hello avec comme adresse destination une adresse multicast rserve
2.
Tout LSR recevant un message LDP Hello
Rpond par un autre message LDP link Hello sil utilise lui-mme LDP
Etant donn deux LSR voisins utilisant LDP
Le LSR avec la plus grande adresse IP Devient actif et tablit une connexion TCP sur le port 646 (711 pour TDP) pour la transmission de messages LDP Le LSR avec la plus petite adresse IP Devient passif et attend l tablissement de la connexion TCP avec son voisin actif Note : des options peuvent tre ngocies pendant ltablissement de la connexion entre LSR voisins Modes de distributions des labels, valeur du temporisateur keepalive , etc.
GRT5-M3-MPLS-VPN-MCast 30
Les messages LDP: (suite)
2.
Message de mise en Session (TCP)
Conscutif la phase discovery : dcouverte dune adjacence entre LDP Peers Etablit, maintient et termine les sessions entre LDP peers Mise en session en Deux phases:
Etablissement dune connexion TCP (port 646) Initiatilisation de la session: ngociation des paramtres de sessions: Version de protocole LDP, mthode de distribution de label, label range, ...
3.
Messages dannonces (Notification message)
Permet de crer, modifier et supprimer lassociation entre label et FEC
4.
Messages de notification derreur
31
GRT5-M3-MPLS-VPN-MCast
LDP Initialization
LSR/LER
Hello Dcouverte TCP-Syn port 646 Etablissement Couche Transport Initialisation Session Distribution Label TCP-Syn/Ack TCP-Ack LDP Initialisation LDP KeepAlive
Label Request Label Mapping Label Request Label Mapping
LSR/LER
Hello
TCP : fiabilit contrle de flux
GRT5-M3-MPLS-VPN-MCast
32
Les messages LDP: (suite)
UDP-Hello
UDP-Hello
TCP-open
Initialization(s) Label request
IP #L2 Temps
GRT5-M3-MPLS-VPN-MCast
Label mapping
33
Messages LDP
Principaux types de messages
Message Hello
Utiliss pour la dcouverte de voisins
Message Keep-alive
Transmis priodiquement en labsence dautres messages (panne)
Message Label Mapping
Utilis par un LSR pour annoncer une association FEC-Label
Message Label Withdrawal
Utilis par un LSR pour retirer une association annonce auparavant
Message Label Release
Utilis par un LSR pour indiquer qu il nutilisera plus une association reue prcdemment
Message Label Request
Utilis par un LSR pour demander un label pour un FEC donn
GRT5-M3-MPLS-VPN-MCast 34
Les sessions LDP entre nuds distants
Les sessions LDP peuvent tre tablies entre des peers qui ne sont pas directement connects. Peut tre utilis par le Trafic Engineering Le mcanisme de dcouverte est diffrent
message hello pour des nuds connects directement message targeted hello pour des nuds distants
GRT5-M3-MPLS-VPN-MCast
35
Procdures de distribution des labels
Downstream on-demand
Demande label pour 192.168.1.0/24 Demande label pour 192.168.1.0/24
1 4
Utilise le label 26 pour 192.168.1.0/24
2 3
Utilise le label 12 pour 192.168.1.0/24
192.168.1.0/24
In
Out 26
Dest 192.168.1.0/24
In 26
Out 12
Dest 192.168.1.0/24
In 12
Out
Dest 192.168.1.0/24
GRT5-M3-MPLS-VPN-MCast
37
MPLS Label Distribution
Intf Label Dest Intf Label In In Out Out 3 0.50 47.1 1 0.40
3
Intf In 3
Label Dest Intf In Out 0.40 47.1 1
1 47.1
Request: 47.1
Intf Dest Intf Label In Out Out 3 47.1 1 0.50
47.3 3
3 2
1 2
Mapping: 0.40 47.2
GRT5-M3-MPLS-VPN-MCast
38
LDP Identifiers et adresses de Next-Hop
Un LSR enregistre les labels recus dans la Label Information Base (LIB)
(LDP Identifier, Label), IP prefix
Le LSR associe ladresse du next-hop avec lidentifiant du LDP Peer afin de retrouver le label associ dans la LIB. Afin de permettre cette association, les LSRs annoncent leur adresses dinterface via LDP.
GRT5-M3-MPLS-VPN-MCast
39
Recap MPLS
Protocole de routage
Table de routage
LDP
Table de Label
MPLS
GRT5-M3-MPLS-VPN-MCast
40
Recap MPLS
1. 2. 3. 4.
Protocole de routage Construction de la RIB -> @dest/Next-Hop/Interface Protocole LDP : association Next Hop, label Construction de la RIB -> @dest/Next-Hop/Label/Interface
GRT5-M3-MPLS-VPN-MCast
41