Introduction MPLS

Embed Size (px)

DESCRIPTION

MPLS: Multiprotocol Label Switching–“Multiprotocol Label Switching (MPLS) combine l’intélligence du routage avec la performance de la commutation et par conséquent les réseau de couche 2 et de couche 3 peuvent en bénéficier grandement–MPLS combine les capacités dynamique de IP et de routage IP avec la performance de commutation au niveau des technologies de couche 2.•Une nouvelle technologie WAN originalement définit dans RFC 3031 par:–Cisco Systems–Force 10 Networks–Juniper networks•Au début cette technologie s’appelait TAG switching

Citation preview

  • Introduction MPLS

    Scurit 1

    Serge Daigle

    Autome 2009

    1

  • 2

    Quest-ce que MPLS? MPLS: Multiprotocol Label Switching

    Multiprotocol Label Switching (MPLS) combine lintlligence du routage

    avec la performance de la commutation et par consquent les rseau de couche 2 et de couche 3 peuvent en bnficier grandement

    MPLS combine les capacits dynamique de IP et de routage IP avec la performance de commutation au niveau des technologies de couche 2.

    Une nouvelle technologie WAN originalement dfinit dans RFC 3031 par:

    Cisco Systems

    Force 10 Networks

    Juniper networks

    Au dbut cette technologie sappelait TAG switching

  • 3

    2 type de MPLS Frame Mode MPLS (celui que lon tudie)

    Indique lusage de MPLS avec ethernet ou autre type dencapsulation utilisant des trammes (Frames)

    Cell mode MPLS employ par les technologies ATM

    ATM des besoins spcifiques cause de ces cellules grandeur fixe

  • 4

    Pourquoi MPLS?

    Circuit traditionnel de couche 3 (IP) Avantages:

    le routage dynamique, slection automatique dun chemin fournit les meilleurs route ainsi que des route backup fournit la Qualit de service (QoS)

    Dsavantages: Introduit des dlais cause du table lookup

    Circuit traditonnel de couche 2 (ATM, Frame Relay) Avantages:

    Les destinations sont pr tablis Par contre beaucoup plus rapide pas de table lookup

    Dsavantages: Par contre plus difficile grer, configuration manuelle, logiciel de

    gestion sophistiqu Plus difficile implanter le QoS, et de gr les SLA (Service level

    agreements ex: frame-relay la bit DE...

  • 5

    Pourquoi MPLS (suite)

    La Philosophie de MPLS est quune entte de couche 3 contient beaucoup trop dinformation par rapport linformation requise pour commut ou router un paquet il faut simplifier dou lutilit dun label

    MPLS permet lextension des rseaux entre les sites dun client et cela mme si le rseau MPLS appartient un fournisseur de service

    Un rseau MPLS:

    Converge de faon dynamique

    Peut supporter plusieurs technologies

    Permet de faire de la qualit de service (QoS)

  • MPLS - Quelques dfinitions

    FEC - Forwarding equivalence class: Un FEC est un groupe de paquet qui sont routs de la mme faon (en dautre terme, ils partagent la mme destination).

    Label: Cest le fondement de MPLS, un routeur va gnrer un label (identificateur) pour chaque FEC quil possde. Un routeur P (provider) va commuter un paquet en se basant uniquement sur le label sans jamais avoir recours lentte de la couche 3 du paquet cest donc un petit identificateur utilis par une groupe de

    rseau qui partagent une mme destination. (habituellement une significance local seulement, comme frame-relay )

    6

  • MPLS Quelques dfinitions

    LSR Label Switching router: Un routeur qui est capable de commut les paquets libell (Label) de MPLS

    CE - customers edge: Un routeur non MPLS appartenant au client qui est branch a un rseau MPLS appartenant au fournisseur de service. (route les paquets au niveau de la couche 3 seulement)

    7

  • MPLS Quelques dfinitions

    PE Providers edge: Un routeur MPLS appartenant au fournisseur de service (provider) qui est branch a un rseau non-MPLS appartenant au client. Ce routeur est oblig de regarder la table de routage (couche 3) ou dinsr un label. On peut aussi le rfrer comme un edge LSR ou un PE router

    P Provider :Un routeur qui commut les paquets en se basant uniquement sur les labels et non sur linformation de couche 3. On peut aussi le rfrer comme un Non-edge LSR ou un P router

    8

  • MPLS - Quelques dfinitions

    LDP - Label distribution protocol: Aprs avoir gnr un label pour chaque FEC, un routeur a besoin dinformer ses routeurs voisins des labels quil a gnr pour chaque FEC. LDP est utilis pour distribuer cette information.

    9

  • Commutation MPLS de base

    Aprs que tous les labels sont connu un les P routers peuvent faire la commutation en se basant seulement sur les labels

    10

  • MPLS-VPN

    Notez-bien que notre objectif est de permettre lextension des rseaux entre les sites dun client et cela mme si le rseau MPLS appartient un fournisseur de service

    Les rseaux des client se doivent aussi dtre prives. Le client A ne doit pas pouvoir atteindre les rseaux du client B ou vice versa

    En dautre terme, les clients doivent tre isol lun de lautre

    11

  • MPLS-VPN Quelques dfinitions

    VRF Virtual Routing and Forwarding: Un instance de table de routage virtuelle qui va tre associ habituellement aux rseaux extensionns dun client (les rseaux virtuel privs dun client)

    Route Target: On peut le voir comme lidentificateur dun VRF (VPN) dun client. Les rseaux privs dun client doivent tre identifi afin de pouvoir circuler sur le rseau du fournisseur de service et dchanger leur table de routage (MP-BGP) seulement entre eux.

    Le RT peut importer ou exporter des routes. en se basant sur le ID, il peut importer des routes dans sa table de routage par exemple: une route par dfaut situ dans un autre VRF

    Il peut y avoir plus dun route target par vrf

    12

  • MPLS-VPN Quelques dfinitions

    Route Distinguisher: Dans le but de prevenir le cas de overlapping addresses . Le RD est attach a chaque route afin quil soit unique dans le Core. Noubliez pas que les rseaux provenant du client A peuvent avoir les mmes adresse que le rseau du client B ou un autre VPN du client A

    LE RD a une signification locale sur le routeur PE ou EDGE LSR.

    Il y a seulement un RD par VRF

    13

  • MPLS-VPN Quelques dfinitions

    MP-BGP Multi protocol BGP: Chaque routeur PE doit communiquer aux autre routeur PE. Vu que les routes sont maintenant de 96 bits (32 +64 pour le RT) le protocol rgulier de BGP ne peut pas tre utilis nous devons utiliser MP-BGP qui offre des attributs tendus afin de supporter le RT

    14

  • Fonctionnement de MPLS-VPN

    Pour le client CE: Aucune configuration spciale est requise, une connexion point point avec un masque de /30 devrait suffire

    Nous allons utiliser RIP pour transmettre les route du CE au VRF du PE

    15

  • Fonctionnement de MPLS-VPN

    Pour le PE: Il faut crer les instances VRF qui vont contenir les routes des VPN clients. Dans cet exemple, Pour le client A nous avons besoin de crer un VRF afin que les routes du client site A1, soit disponibles sur le site A2 et vice versa tout en tant isol du client B.

    Les routeurs PE doivent communiquer les routes entre eux dou lutilit de MP-BGP

    16

  • Fonctionnement de MPLS-VPN

    Pour le routeur PE (suite): Chaque routeur PE une connexion iMPBGP tous les autres router PE

    Chaque routeur PE va avoir un label dassign afin de rejoindre les autres routeur PE dans le core MPLS

    De plus, chaque route provenant de lintrieur dun vrf va avoir un label dassign

    Donc, lorsquun routeur PE reoit un paquet du CE, il va vrifier le VRF correspondant et ajouter le label correspondant au paquet par la suite, va trouver quel est le routeur PE de sortie qui correspond et ajouter ce label

    Il va donc avoir 2 labels qui vont partir du PE dentre Notez que ceci est unique MPLS-VPN, pour le MPLS de base

    seulement un label est ajout

    17

  • Fonctionnement de MPLS-VPN

    Pour le routeur P: Ils sont trs efficace. la seul chose quils ont faire cest de commuter en se basant sur le dernier label qui t ajout

    Notez que les trammes contiennent effectivement 2 label, le premier reprsentant le VRF et le deuxime reprsentant le PE de sortie.

    arriv au PE de sortie on pop le label et forward...

    18

  • Quelques notes sur LDP

    lallocation et la distribution des tiquettes (labels) suit les tapes suivantes:

    1. Les protocoles de routage IP btissent la table de routage IP.

    2. Chaque LSR ou P(E), va assigner une tiquette pour chaque destination trouv dans la table de routage IP

    3. Les LSR diffuse leurs tiquettes a tous les autres LSR

    4. Chaque LSR va btir une table LIB, LFIB et FIB en se basant sur les tiquette reu 1. lib : Label information base (contrle plane)

    2. LFIB :Label forawarding information base (data plane)

    3. FIB : forwarding information plane (data plane)

    19

  • LFIB et FIB

    Cisco utilise le FIB afin de faire le routage dun paquet.

    afin de voir le FIB

    show ip cef details

    ip cef est requis afin de faire fonctionner MPLS

    Cisco utilise le LFIB pour transmettre une paquet contenant une tiquette

    show mpls forwarding-table

    20

  • Le edge LSR ou PE

    Forward the received IP packet based on the IP destination address and send as an IP packet

    Forward the received IP packet based on the IP destination address and send as a labeled packet

    Forward the received labeled packet based on the label, change (swap) the label, and send the labeled packet

    Forward the received labeled packet based on the label, remove the label, and send the IP packet

    21

  • Le edge lsr (suite)

    A received labeled packet is dropped if the label is not found in the LFIB table, even if the IP destination exists in the IP forwarding table, also called the FIB.

    A received IP packet is dropped if the destination is not found in the IP forwarding table (FIB table), even if there is an MPLS label-switched path toward the destination.

    22

  • 23

  • Capture wireshark

    24

  • Un ping de CA2 vers CA1, capture entre PE 2 et P

    25

  • RIB

    26

  • RIB vrf ca

    27

  • FIB vrf ca (IP CEF)

    28

  • BGP

    29

  • ROUTE VPNV4

    30

  • Configuration dun MPLS-VPN

    Nous avons besoin dun protocole de routage lintrieur du core MPLS afin de permettre LDP de faire lassignement des labels pour les rseaux

    Habituellement ce protocole doit tre link state, soit OSPF, ISIS et EIGRP(hybride)

    Cette configuration est la mme que vous faite habituellement

    31

  • Configuration MPLS de base

    Par la suite on peut commencer par configurer MPLS de base sur les PE et le P conf t mpls ip (on doit configurer mpls globalement) int s0/0 mpls ip (ensuite on active les interface qui font partie du core

    MPLS)

    Ces commandes vont mettre en fonction LDP et les routeur MPLS vont commencer schanger des tiquettes

    On peut vrifier avec show mpls forwarding

    on peut voir la base de donne des tiquettes avec show mpls ldp bin

    32

  • Configuration de MPLS-VPN

    Pour le MPLS VPN il suffit dajouter la portion VRF et le protocol MP-BGP

    Exemple de config dune portion VRF PE_A(config)#ip vrf ClientA

    PE_A(config-vrf)#route-target 100:1

    PE_A(config-vrf)#rd 100:1

    PE_A(config-vrf)#ip vrf ClientB

    PE_A(config-vrf)#route-target 100:2

    PE_A(config-vrf)#rd 100:2

    33

  • Configuration MPLS-VPN

    portion VRF (suite): Il faut maintenant associer les interface aux VRF correspondant PE_A(config-vrf)#int e1/0

    PE_A(config-if)#ip vrf forwarding ClientA

    PE_A(config-if)#ip address 192.168.0.1 255.255.255.252

    PE_A(config-if)#no shut

    PE_A(config-if)#int e1/1

    PE_A(config-if)#ip vrf forwarding ClientB

    PE_A(config-if)#ip address 192.168.0.5 255.255.255.252

    PE_A(config-if)#no shut

    34

  • Configuration MPLS-VPN

    Maintenant que les VRF sont configur, il faut configurer la portion iMP-BGP. iMP-BGP est requis pour faire passer les routes des clients dun site lautre

    De plus nous devons configurer un protocole qui va transmettre les route du CE au PE en se servant du VRF du PE. Par la suite on va redistribuer ces routes dans BGP

    35

  • iMP-BGP

    Portion BGP router bgp 100 no bgp default ipv4-unicast neighbor 172.16.1.1 remote-as 100 neighbor 172.16.1.1 update-source Loopback0 ! address-family ipv4 no synchronization neighbor 172.16.1.1 activate no auto-summary exit-address-family

    36

  • iMP-BGP (suite)

    configuration du vpnv4 (afin denvoyer les RT)

    address-family vpnv4

    neighbor 172.16.1.1 activate

    neighbor 172.16.1.1

    send-community extended

    exit-address-family !

    37

  • iMP-BGP (suite)

    Configuration du vrf ca

    address-family ipv4 vrf ca

    no synchronization

    redistribute rip metric 1

    exit-address-family!

    continuer pour les autres vrf

    38

  • MPLS-VPN (RIP)

    PE_A(config-router-af)#router rip PE_A(config-router)#address-family ipv4 vrf ClientA PE_A(config-router-af)#redistribute bgp 100 metric 1 PE_A(config-router-af)#network x.x.x.x PE_A(config-router-af)#no auto-summary PE_A(config-router-af)#version 2 exit PE_A(config-router-af)#address-family ipv4 vrf ClientB PE_A(config-router-af)#redistribute bgp 100 metric 1 PE_A(config-router-af)#network x.x.x.x PE_A(config-router-af)#no auto-summary PE_A(config-router-af)#version 2 exit

    39

  • Procdure Core Network PE1, P et PE2

    1) configurer les liens sries

    mettre les ip sur les interfaces sries, mettre les loopback /32 sur les routeurs PE1 et PE2

    2) vrification: faite des pings point point

    3) configurer le protocoles de routage du core MPLS le protocole de routage ospf sur PE1, P et PE2, utilis des router-id

    4) vrification: show ip ospf nei, show ip route, ping du loopback de PE1 au loopback

    de PE2

    5)configurer mpls mpls ip sur les interfaces sries

    6) vrification: show mpls forwarding

    40

  • Procdure les clients (CE customers Edge)

    5) Configurations des interfaces des clients

    mettre les ip sur les interfaces des clients, ainsi que sur les loopback simulant des rseaux internes

    6) configurer la portion vrf des clients sur les PE ou EDGE LSR crer les vrf, les route target et RD associer les interfaces des clients au vrf mettre les adresses ip sur les interfaces vrf

    7) vrification: faite des ping du client vers le vrf du PE exemple: ca1

    ping PE1

    41

  • Procdure: routage entre CE et PE

    8) configurer le protocole de routage sur les clients et sur le vrf correspondant dans le PE

    9) vrification:

    sh ip route vrf ca (devrait voir le loopback du client)

    faite un ping du loopback du client l'interface VRF sur le PE

    42

  • Configuration de iMP-BGP

    10) monter le neighbor iBGP (utiliser les lo comme source) 11) vrification:

    show ip bgp nei

    12) configurer les address-family, ipv4, vpnv4 et vrf 13) Effectuer la double redistribution

    redistribuer les routes des clients dans le vrf correspondant de BGP

    redistribuer les routes du vrf de BGP dans le vrf du client correspondant

    14) Vrification: show ip bgp vpnv4 all show ip vrf ca ping du client dun loopback lautre travers du core

    43

  • EXTRA stuff

    Source Rick graziani...

    44

  • 45

    MPLS Features

    Label Switch Path (LSP) The path through one or more LSRs at one level of the hierarchy followed by a

    packet in a particular path.

  • 46

    MPLS Features

    Labels usually correspond to destination networks, similar to Layer 3 routing. Labels can also correspond to:

    Layer 3 VPN destination Layer 2 virtual circuit Egress interface QoS Source address

    MPLS designed to forward any type of Layer 3 packet, but IPv4 and IPv6 is at the forefront.

  • 47

    Label Format

    Field Description

    20-bit label The actual label. Values 0 to 15 are reserved.

    3-bit experimental (EXP)

    field

    Undefined in the RFC. Used by Cisco to define a class of

    service (CoS) (IP precedence).

    1-bit bottom-of-stack

    indicator

    MPLS allows multiple labels to be inserted. The bottom-

    of-stack bit determines if this label is the last label in the

    packet. If this bit is set (1), the setting indicates that this

    label is the last label.

    8-bit Time to Live (TTL)

    field

    Has the same purpose as the TTL field in the IP header.

  • 48

    Label Stack

    In most cases only one label is assigned to a packet. There are some instances where more than one label is used:

    MPLS VPNs: Multiprotocol BGP (MP-BGP) is used to propagate a second label that identifies the VPN in addition to the label that is propagated by Label Distribution Protocol (LDP) to identify the path.

    MPLS Traffic Engineering (MPLS TE): Uses Resource Reservation Protocol (RSVP) to establish label switched path (LSP) tunnels. RSVP propagates labels that are used to identify the tunnel LSP. This label is in addition to the label that is propagated by LDP to identify the underlying LSP.

    MPLS VPNs combined with MPLS TE: Three or more labels are used to identify the VPN, tunnel LSP, and the underlying LSP.

  • 49

    Label Stack

    A label does not contain any information about the Layer 3 protocol that is being carried in a packet.

    This lack of information means that the identity of the network layer protocol must be inferable from the value of the label.

    However for Layer-2 protocols that have TYPE or PID fields new values indicate the MPLS-enabled Layer-3 protocol.

    Unlabeled IP unicast: PID = 0x0800 identifies that the frame payload is a classic unicast IP packet.

    Labeled IP unicast: PID = 0x8847 identifies that the frame payload is a unicast IP packet with at least one label preceding the IP header.

    Labeled IP multicast: PID = 0x8848 identifies that the frame payload is a multicast IP packet with at least one label preceding the IP header.

  • 50

    MPLS Features

    Packets are labeled prior to be forwarded at Ingress edge LSR.

    After ingress node, there is no routing table lookup.

    At each non-edge LSR the label is removed and a new label added at each hop.

    Only edge LSRs perform routing table lookups.

    Non-edge LSRs perform forwarding process based only on the label, not Layer 3 information.

    Decreases latency faster packet forwarding.

    Final edge LSR (egress LSR):

    pops (removes) the label from the packet and

    performs a new routing table lookup to forward the packet

  • 51

    MPLS Features

    Note: The type or protocol ID field indicates as MPLS enabled layer-3 protocol.

  • 52

    MPLS Features

    Penultimate hop pop

    When the LSR prior to the destination edge router pops the label before sending the packet to the final edge LSR.

    Final edge router then does not need to perform both a label lookup and a Layer 3 routing lookup, but only the Layer 3 routing lookup.

  • 53

    Control and Data Planes

    LSRs funtion at both the control and data planes. Control plane

    Where exchange of routing information takes place Traditional routing functions associated with routing protocol operations Process routing protocol updates as they occur

    Data plane or Forwarding plane Where the actual forwarding occurs MPLS This is done solely based on labels.

    LSR Maintains converged routing table but usually not engaged for packet forwarding Maintains routing table to ensure the FIB is up to date with the most current

    information so that labels can be properly assigned and packets can be dispatched.

  • 54

    MPLS Architecture

    Control plane

    routing protocols database

    IP routing table (RIB)

    Routing updates from

    other routers

    IP forwarding table (FIB)

    Data plane

    Label forwarding table (LFIB)

    Label Information Base (LIB)

    Label bindings

    learned via LDP from

    other routers

    Incoming MPLS

    Packet Outgoing MPLS/IP

    Packet

    Incoming IP Packet

    Population of RIB/FIB/LIB/LFIB in an MPLS router

  • 55

    Packet Propagation Across an MPLS Network

  • MPLS Labels: Penultimate Hop Popping

    The label at the top of the stack is removed (popped) by the upstream neighbor of the egress LSR

    The egress LSR requests the popping through the label distribution protocol

    Egress LSR advertises implicit-null label

    One lookup is saved in the egress LSR 56

  • 57

    Penultimate Hop Popping (PHP)

    PHP optimizes MPLS performance by reducing CPU effort on Edge LSRs.

    The Edge LSR advertises a pop or implicit null label (value of 3) to a neighbor.

    The pop tells the neighbor to use PHP.