User Tools

Site Tools


informatique:cisco:mpls

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
informatique:cisco:mpls [2009/06/16 09:27] – créée pteuinformatique:cisco:mpls [2013/10/14 20:44] (current) – external edit 127.0.0.1
Line 3: Line 3:
 ======MPLS====== ======MPLS======
  
-Protocole de commutation de paquet ; permet l'ingénierie de trafic et la qualité de service.+C'est un protocole de commutation de paquet, créé à l'origine pour soulager la CPU des routeurs suite à la multiplication du nombre de réseaux à router mais depuis le développement de la puissance des puces spécialisées (ASICs) ainsi que le développement des techniques de commutation comme le CEF, l'atout majeur du MPLS réside dans ses fonctions d'ingénierie de trafic, de qualité de service ou de VPN.
  
 +Quand un paquet entre dans un nuage MPLS, le routeur d'entrée (**iLSR**) lui assigne un label, et chaque routeur intermédiaire (**LSR**) commute le paquet vers le routeur suivant en modifiant son label. Le chemin parcouru par le paquet est prédéfini (comme de la commutation de cellule en ATM) grâce au protocole **LDP**, et donc beaucoup plus rapide que du routage traditionnel. 
 +Par exemple quand un LSR R2 voit un paquet arriver du routeur R1 avec le label 4, il sait qu'il faut réacheminer ce paquet avec le label 8 vers le routeur R3. R3 voit le paquet arriver avec le label 8 depuis R2 ; il le renvoie vers R4 avec le label 3, et ainsi de suite (on appelle cela le **label swapping**) jusqu'au routeur de sortie (**eLSR**) qui va supprimer le label du paquet. Ces décisions se font sur la base d'une table d'association "source/label => destination/label" locale à chaque routeur, qui est mise à jour par le protocole LDP.
 +
 +Voici un schéma de principe piqué sur l'excellent article de frameip (([[http://www.frameip.com/mpls-cisco/|Implémentation Mpls avec Cisco]])) :
 +{{ http://www.frameip.com/mpls-cisco/commutation.png }}
 +
 +Il existe 2 modes de fonctionnement :
   * **frame mode MPLS** : insertion d'un champ de 32 bits entre les niveaux 2 et 3 pour contenir le label MPLS (20 bits pour le label + 3 bits expérimentaux (utilisés par Cisco pour la QoS (champ CoS) + 1 bit bottom-of-stack indicator + 8 bits de TTL)   * **frame mode MPLS** : insertion d'un champ de 32 bits entre les niveaux 2 et 3 pour contenir le label MPLS (20 bits pour le label + 3 bits expérimentaux (utilisés par Cisco pour la QoS (champ CoS) + 1 bit bottom-of-stack indicator + 8 bits de TTL)
   * **cell mode MPLS** ou MPLS over ATM : utilisation du header ATM pour contenir le label MPLS   * **cell mode MPLS** ou MPLS over ATM : utilisation du header ATM pour contenir le label MPLS
 +Pour ces raisons on dit que le MPLS est un protocole de niveau 2 ou 2,5.
  
-**iLSR** et **eLSR** (ingress/egress Label Switch Router) = routeurs d'entrée/sortie du nuage MPLS quirespectivement insèrent (//impose label//) et suppriment (//pop label//) le label MPLS du paquet.+Un label MPLS peut correspondre à une IP destinationde la QoS, une adresse source ou un circuit de niveau 2.
  
-  * **PHP** (Penultimate Hop Popping) optimise les performance du MPLS en évitant un lookup sur le routeur de sortie (eLSR). 
  
-  * **P-router** (Provider) : routeur de transit +=====Terminologie=====
-  * **PE-router** (Provider Edge) : routeur de bordure de nuage MPLS, reliés aux CE +
-  * **CE-router** (Customer Edge) : routeur de bordure client qui n'a pas le notion de MPLS+
  
-  * **LDP** (Label Distribution Protocol) : protocole de dialogue de labels utilisé pour la création de la LFIB +  * **iLSR** et **eLSR** (ingress/egress Label Switch Router) = routeurs d'entrée/sortie du nuage MPLS qui, respectivement insèrent (//impose label//et suppriment (//pop label//le label MPLS du paquet.
-  * **TDP** (Tag Distribution Protocol: autre protocole propriétaire Cisco (?)+
  
-  * **control plane** : échange des labels et des informations de routage ; très lourd +  * **LDP** (Label Distribution Protocol) protocole standardisé par l'IETF de dialogue de labels utilisé pour la création de la LFIB sur tcp/646. Le LDP utilise des informations du control plane pour construire le data plane. 
-  * **data plane** : moteur de commutation de paquet ; léger. Le LDP utilise des informations du control plane pour construire le data plane.+  * **TDP** (Tag Distribution Protocol) : idem mais protocole propriétaire Cisco sur tcp/711
  
-  * **LIB** Label Information Base +  * **control plane** : contient la LIB 
-  * **LFIB** Label Forwarding Information Base ?+    échange les informations de routage (OSPF, EIGRP, ...) = très lourd 
 +    échange les labels via LDP, TDP ainsi que BGP et RSVP 
 +  * **data plane** : contient la FIB et la LFIB 
 +    * moteur de commutation de paquet ; léger
  
 +  * **LIB** (Label Information Base) : contient ("en vrac") toutes les associations réseau/id du LSR (local ou un voisin)/label
 +  * **TIB** (Tag Information Base) ; contient, pour chaque réseau, tous les labels appris des LSRs voisins
 +  * **FIB** (Forward Information Base) contient les association réseau/next hop/label
 +  * **TFIB** (Tag Forwarding Information Base) créée à partir de la TIB, cette base est utilisée pour la commutation de paquet ; elle utilise l'IGP pour sélectionner, pour chaque destination, l'entrée de la TIB vers le plus court chemin (le voisin le plus proche qui annonce le réseau)
 +  * **LFIB** (Label Forwarding Information Base ?) : elle contient les associations : label/action/next hop ; c'est elle qui est lue pour commuter les paquets MPLS
 +
 +  * **PHP** (Penultimate Hop Popping) optimise les performance du MPLS en évitant un lookup sur le routeur de sortie (eLSR).
 +
 +  * **FEC** (Forwarding Equivalent Classes)
 +  * **label stacking** pile de label
  
 =====Mise en place===== =====Mise en place=====
  
-Soit 2 routeurs R1 et R2 : on active le CEF et le MPLS sur les interfaces qui vont bien ; on augmente la MTU des paquets MPLS (il faudra en tenir compte sur les éventuel équipements intermédiaires) :+Soit 2 routeurs R1 et R2 : on active le CEF et le MPLS sur les interfaces qui vont bien ; on augmente la MTU des paquets MPLS (il faudra en tenir compte sur les éventuels équipements intermédiaires) :
  
 Sur R1 : Sur R1 :
Line 35: Line 52:
    description vers R2    description vers R2
    ip address 10.0.0.1 255.255.255.0    ip address 10.0.0.1 255.255.255.0
-   mpls label protocol ldp 
    mpls ip    mpls ip
 +   mpls label protocol ldp
    mpls mtu 1512    mpls mtu 1512
  
Line 44: Line 61:
    description vers R1    description vers R1
    ip address 10.0.0.2 255.255.255.0    ip address 10.0.0.2 255.255.255.0
-   mpls label protocol ldp 
    mpls ip    mpls ip
 +   mpls label protocol ldp
    mpls mtu 1512    mpls mtu 1512
 +
 +La MTU doit être augmentée sur les interfaces WAN à cause du header MPLS :
 +  * à 1504 si on utilise du MPLS normal
 +  * à 1508 si on utilise MPLS VPN
 +  * à 1512 si on utilise MPLS VPN avec du **TE** (Trafic Engineering)
 +
 +
 +=====MPLS VPN=====
 +
 +  * **P-router** (Provider) : routeur de transit
 +  * **PE-router** (Provider Edge) : routeur de bordure de nuage MPLS, reliés aux CE
 +  * **CE-router** (Customer Edge) : routeur de bordure client qui n'a pas le notion de MPLS
 +
 +  * **overlay VPN** : l'ISP fourni des liens point-à-point virtuels (X.25, FR, ATM, GRE, IPsec)
 +  * **peer-to-peer VPN** : l'ISP participe au routage du client (ACLs (shared router), split routing (dedicated router), MPLS VPN)
 +
 +
 +=====MP-BGP=====
 +
 +**MP-BGP** (MultiProtocol BGP) permet d'échanger des routes Multicast et des routes VPNv4.
 +
 +Un **RD** (Route Distinguisher) est un identifiant de 64 bits accolé à chaque subnet d'un **VRF** (Virtual Router Forwarding) ; il permet de ne pas mélanger les réseaux de différents clients/VPN qui pourraient se recouvrir. Il s'écrit sous la forme ASN:nn, par exemple 100:1 ; quand on ajoute une annonce de réseau (un préfixe avec son masque) cela donne une adresse **VPNv4**, par exemple 100:1:192.168.0.0/24. Ces adresses VPNv4 sont échangées entre les //PE routers// en MPBGP.
 +
 +**RT** (Route Target) est une sorte de communauté qui permet d'échanger les annonces VPNv4 entre tous les PE qui y appartiennent. Les RT permettent donc de définir l'appartenance à un ou plus VPN. Il y a les import et les export.
 +
 +Le BGP VPNv4 n'est utilisé qu'entre PE routers ; les P routers n'utilise que du BGP IPv4 pour que la solution soit scalable.
 +
 +
 +Pour faire communiquer 2 PE ensemble il faut définir un VRF comme cela :
 +
 +Sur R1 :
 +  ip vrf RED
 +   rd 100:20
 +   route-target export 500:1
 +   route-target import 500:2
 +
 +Sur R2 :
 +  ip vrf RED
 +   rd 100:20
 +   route-target export 500:2
 +   route-target import 500:1
 +
 +
 +=====Vérifications=====
 +
 +  show mpls interfaces
 +  show mpls ldp discovery
 +  show mpls ldp neighbor
 +  show mpls ldp bindings
 +
 +
 +=====Liens=====
 +
 +  * [[http://www.frameip.com/mpls-cisco/|Implémentation Mpls avec Cisco]] sur frameip
informatique/cisco/mpls.1245144427.txt.gz · Last modified: 2013/10/14 20:52 (external edit)