IP Switching & MPLS
Outline Routing vs. switching Label Switching properties IPOA IP switching Multi Protocol Label Switching (MPLS) Label Distribution Protocol Traffic Engineering 2
Conventional IP routing Router have to execute a forwarding decision for every received IP packet : Packet reception from the input queue, Header analysis (Checksum, TTL, @IP, ), Access control (optional), Routing algorithm execution, Send the packet to the output queue. => Important queue congestion if all packets are routed in the same way. 3
Conventional IP routing 1. Remove a packet from an input queue 2. Check for sanity, decrement TTL field 4. Place packet on correct output queue If queues get full, just drop packets! Forwarding Process 3. Match packet s destination to a table entry IP Forwarding Table If queues get full, just drop packets! Router 4
Conventional IP routing Advantages: IP is the first defined and used protocol, IP is the only protocol for global Internet working Connectionless: Simplicity, no need for signalization Flexibility (adaptive routing), Disadvantages: No QoS support, High routing table size Large IP Header (At least 20 bytes) Poor performance (400 000 packets/s, max. today), Usually designed to obtain shortest path, Do not take into account additional metrics. 5
ATM Three steps: Establishment of the connection, Data transfer, Connection release. Virtual Circuit 6
ATM Advantages : High performance 20 millions of cells/s, Connection mode Supports QoS, Fast packet switching with fixed length packets (cells) Integration of different traffic types (voice, data, video) Disadvantages: Complex (More complex than routing), Expensive Need for signaling (Q.2931) Additional delay to establish the virtual path Not widely adopted. 7
Best of both worlds Idea: Combine the forwarding algorithm used in ATM with IP. The aim of IP switching is to combine L3 functionalities (simplicity, flexibility, ) with the high performance of L2 (i.e., switching is faster than routing). The gain is considerable: in switching mode, the delay is 10 microsec ; 10 to 15 higher in routing mode. Instead of having a rate of 300 000 packets/s with a classic router, we obtain 3 to 15 millions of packets/s with a switch. PACKET ROUTING HYBRID CIRCUIT SWITCHING IP MPLS +IP 8 ATM
Principle IP packet receives a LABEL upon the entrance in the network, The packet is then switched based on the LABEL value, The LABEL is changed at every hop, And so on and so forth until the arrival destination. 9
LABEL definition LABEL is determined by the first router based on different parameters (TCP fields, IP address, etc.), LABEL identifies a FEC : Forwarding Equivalent Class (FEC = A subset of packets that are all treated the same way by a router ), In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 lookup), in MPLS it is only done once at the network ingress nodes (at the edge of the network). LABEL will be used by the internal nodes as an index in their tables to determine the next hop and the value of the next LABEL, The concept of FECs provides for a great deal of flexibility and scalability. 10
Solutions First approach : IP over ATM (the oldest solution) Supports TCP/IP applications, which are highly used before the development of ATM. Allows interoperability between ATM networks and existing networks that use IP. LAN Emulation (ATM Forum) MPOA (ATM Forum) IPOA (IETF) Second approach : Label switching IP switching TAG switching MPLS (IETF) 11
IPOA Classical IP over ATM (IETF RFC 1577 et 1483) Interconnect several IP LANs using ATM links : conversion of IP @ to ATM @ and vice-versa, LAN stations form Logical IP subnets (LIS), Use of AAL5 to encapsulate IP packets within the ATM layer, Use of ATMARP servers for the translation between IP @ and ATM @, Then, establishment of VC between stations, No possible broadcast within a LIS. 12
Pre-MPLS IP-switching: Proposed by IPSILON (Nokia) in 1994 and based on ATM, Route determined by IP flow, IP-switch nodes replace IP routers: first packet routed normally to determine the VP. Then, packets within the same flow are switched, IP switch is an hybrid IP router/atm switch. TAG-switching: Proposed by CISCO in 1997, Support other L2 technologies: ATM, Ethernet, PPP, Support resource reservation using RSVP Basis for MPLS: Label switching. 13
MPLS
Plan Introduction Architecture MPLS Protocoles de signalisation 15
Introduction Multi-Protocol Label Switching Standardisé par l IETF RFC 3031, http://www.ietf.org/rfc/rfc3031.txt Intention originale était pour utiliser avec différents protocoles comme IPv4, IPv6, IPX, AppleTalk Dans la réalité, MPLS a été développé uniquement pour les réseaux IP 16
Principes du MPLS Le but de MPLS est de commuter les paquets IP au lieu de les router Utiliser les références pour la commutation des paquets IP Utiliser le routage IP pour la signalisation Établir le circuit virtuel MPLS Établir la table de commutation Toutes trames peuvent être utilisées dans un réseau MPLS pour la commutation des données utilisateur La référence est placée dans un champ spécifique de la trame ou dans un champ ajouté dans ce but 17
MPLS : Bases Multi Protocol Label Switching is arranged between Layer 2 and Layer 3 18
MPLS : Bases MPLS Characteristics Mechanisms to manage traffic flows of various granularities (Flow Management) Is independent of Layer-2 and Layer-3 protocols Maps IP-addresses to fixed length labels Interfaces to existing routing protocols (RSVP, OSPF) Supports ATM, Frame-Relay and Ethernet. 19
MPLS terminology LABEL: short and fixed-length value to identify a flow. LIB: Label Information Base : contain labels associations. FEC: Is a representation of a group of packets that share the same requirements for their transport. The assignment of a particular packet to a particular FEC is done just once (when the packet enters the network). Label Stack: successive and ordered LABELs. Label Distribution Protocol (LDP): equiv. routing protocol, Label Switching Router (LSR): router with MPLS functionalities. Label Switched Path (LSP): equiv. Virtual Circuit. 20
Architecture MPLS données signalisation TCP TCP IP IP IP IP AAL ATM AAL ATM AAL ATM Ethernet Ethernet 21
Un réseau MPLS 22
Nœuds de transfert (1) Label Switching Routers (LSR) Label Edge Routers 23
Noeuds de transfert (2) LSR Routeur dans le coeur du réseau qui participe à la mise en place du circuit virtuel par lequel les trames sont acheminées Les LSRs comportent comme des commutateurs pour les flots de données utilisateur et comme les routeurs pour la signalisation LER LSR d accès (Edge-LSR) au réseau MPLS Un LER peut avoir des ports multiples permettant d accéder à plusieurs réseaux distincts, chacun pouvant avoir sa propre technique de commutation Les LER jouent un rôle important dans la mise en place des références 24
Routeur IP Paquets IP Plan de contrôle Plan de données Protocoles de routage IP (OSPF, BGP, PIM) Table de routage Échanger les information de routage avec d autres routeurs Paquets IP 25
Routage IP Table de routage Destination x.0.0.0 y.0.0.0 Interface If0 If1 z.0.0.0. If2 26
LSR Paquets avec références d entrée Plan de contrôle Plan de données Protocoles de routage IP Table de routage IP Protocoles de signalisation MPLS Table de commutation (Label Forwarding Table) Échanger les information de routage avec d autres routeurs Échanger les information de références avec d autres LSR Paquets avec références de sortie 27
Commutation à base de référence Table de commutation Interface d entrée Référence d entrée Interface de sortie Référence de sortie If1 77 If3 13 If2 197 If3 13. 28
LER Paquets avec références d entrée Paquets IP Plan de contrôle Plan de données Protocoles de routage IP Table de routage IP Protocoles de signalisation MPLS Table de commutation Table de routage IP Échanger les information de routage avec d autres routeurs Échanger les information de références avec d autres LSR Paquets avec références de sortie Paquets IP 29
Référence Une référence est un identificateur qui a une signification locale sur le lien interconnectés deux LSRs Référence est utilisée pour déterminer l interface de sortie d un paquet IP sans rechercher son adresse destination dans la table de routage 30
Mise en place des références La référence est mise en place de différentes façons en fonction de la disponibilité d un champ de référence dans l en-tête du protocole IP ou du protocole de niveau trame IPv6: le champ Flow Label IPv4: dépend du protocole au niveau trame ATM: VPI/VCI Relais de trames: DLCI Ethernet, Token Ring, PPP, etc.: l en-tête Shim est inséré entre l en-tête du niveau trame et l en-tête IP 31
Référence avec l ATM 32
Référence avec relais de trames 33
Référence avec d autres trames n ayant pas d un champ de référence disponible 34
En-tête shim (1) 35
En-tête shim (2) Référence (20 bits): la valeur de référence Bits expérimentaux (3 bits): à utiliser pour les expérimentations, peut être utilisé pour indiquer la classe de QoS Bit stacking (1 bit): mis à 1 si la référence est la dernière dans une pile de références TTL (8 bits): comme le champ TTL dans IP 36
FEC Forwarding Equivalent Class FEC est un ensemble d adresses IP ayant le même préfixe d adresse ou la même classe de service Les paquets IP de même FEC sont associés à la même référence, ont la même interface de sortie et reçoivent le même traitement dans les LSRs A l entrée du réseau, le LER associe à un FEC une valeur de référence 37
LSP (1) Label Switched Path Un LSP est une suite de références partant de la source et allant jusqu à la destination Un LSP est unidirectionnel Les LSP sont établis avant la transmission des données (control-driven) ou à la détection d un flot qui souhaite traverser le réseau (data-driven) Les références incluses dans les trames sont distribuées en utilisant un protocole de signalisation 38
LSP (2) LSP-1 = <62, 15, 60> LSP-2 = <15, 60> 39
LSP (3) LSP-1 = <A, 62, B, 15, D, 60, E> FEC = < x.0.0.0, y.0.0.0> Pour LSR B, 62 est une référence d entrée et 15 est une référence de sortie A et E sont des LERs Pour LSR B, A est un LSR upstream et D est un LSR downstream La valeur de référence est toujours choisie par le LSR downstream 40
Allocation de référence (1) Pour qu un LSR puisse recevoir des paquets avec la valeur de référence qu il a choisi pour un FEC, il doit communiquer le binding <FEC, référence> à ses voisins Exemple B doit envoyer <x.0.0.0,y.0.0.0, 62> à A, C, et D A, C, et D, chacun vérifie s il est bien un LSR upstream de B A est un LSR upstream de B, il crée une entrée dans sa table de communication en utilisant la valeur 62 comme la référence d entrée pour la FEC <x.0.0.0,y.0.0.0> C et D peuvent ignorer cet avertissement de B 41
Allocation de référence (2) Conservative label retention mode Une référence est retenue par un LSR quand il est le LSR upstream du LSR qui annonce le binding Liberal retention mode Tous les références avertis sont retenues downstream on demand label allocation Chaque LSR associe une référence à une FEC sans avertir ce binding aux voisins Le LSR upstream obtient un binding en envoyant une requête unsolicited downstream allocation Chaque LSR avertit un binding aux voisins sans attendre d être solicité 42
NHLFE Next Hop Label Forwarding Entry Dans une table de commutation, un LSR peut maintenir plusieures entrées pour une référence d entrée donc chacune est une NHLFE Une NHLFE contient les informations suivantes LSR suivant / interface de sortie Opération à exécuter sur la référence Swap: remplacer la valeur d une référence par une autre valeur Pop: dépiler une référence d une pile de références Push: remplacer la valeur d une référence par une autre valeur et empiler une nouvelle référence 43
Pile de références 44
Dépiler une référence Quand le LSR suivant spécifié dans un NHLFE est le LSR lui-même, le LSR dépile une référence de la pile de références Le paquet de résultat est traité avec ceux qui restent après cette opération Le paquet contient encore d autres références Il sera commuté avec la référence suivante comme la référence d entrée Le paquet n a plus de référence Il sera routé par le LER comme un paquet IP normal 45
Positions of LERs & LSRs Pushing Label Popping Label 46
Forwarding Equivalent Class (FEC) IP2 417 IP2 678 IP2 233 IP2 IP2 IP1 417 IP1 678 IP1 233 IP1 IP1 Packets IP1 and IP2 are forwarded in the same way --- they are in the same FEC. FEC is a more general concept than virtual paths/channels used in ATM. All packets can be divided into subsets called FECs based on IP src address, IP dest address, IP protocol, TCP/UDP src/dest port. 47
Label-Switched Paths - LSPs A path is established before the data transmission starts. A path is a representation of a FEC. POP! SWAP! SWAP! PUSH! data 417 data 678 data 233 data data tail end A label switched path head end Often called an MPLS tunnel: payload headers are not Inspected inside of an LSP. Payload could be MPLS 48
LSP hierarchy via label stacking IP2 IP2 POP 66 IP2 44 8866 IP 66 IP 2 2 1766 IP 2 PUSH 66 IP2 23 IP1 4423 IP 1 8823 IP 1 1723 IP 1 23 IP1 POP PUSH IP1 IP1 49
ILM Incoming Label Map Associer une référence d entrée à un ensemble de NHLFEs Utile pour load-balancing 50
FTN FEC-to-NHLFE map Associer une FEC à un ensemble de NHLFEs Utilisé par les LERs d entrée pour ajouter la première référence aux paquets IP n ayant pas encore de référence d entrée 51
Tunnel MPLS 52
Exemple du tunnel MPLS 53
Protocole de signalisation LDP (Label Distribution Protocol) CR-LDP (Constraint-based Routing Label Distribution Protocol) RSVP-TE BGP (Border Gateway Protocol) OSPF 54
LDP Label Distribution Protocol Établir et maintenir les bindings de références pour un LSP associé à une FEC Basé sur TCP pour la fiabilité Sauf que les messages de découverte sont envoyés sur UDP 55
LDP peers Deux LSRs utilisant LDP pour échanger les bindings de références sont les LDP peers 56
Catégories de message LDP Messages de découverte Pour annoncer et maintenir la présence d un LSR dans le réseau Messages de session Pour établir, maintenir et terminer une session entre LDP peers Pour échanger les informations de binding, les LDP peers doivent tout d abord établir une session entre eux Messages d avertissement Pour créer, changer et supprimer un binding associé à un FEC Messages de notification Pour fournir les informations supplémentaires ou signaler une erreur 57
LDP PDU 58
En-tête LDP LDP Identifier (48 bits) = <32-bits Router Id, Numéro d espace de références > 59
Espace de références Ensemble des références à utiliser par un LSR Deux types d espace de références Par interface Ensemble des références à utiliser par une interface particulière Numéro d espace de références 0 Par plate-forme Ensemble des références à partager entre les interfaces d un LSR Numéro d espace de références = 0 60
Message LDP 61
Format d un paramètre Format TLV 62
Messages LDP Notification Hello Initialization KeepAlive Address Address withdraw Label mapping Label request Label abort request Label withdraw Label release 63
LSP setup MPLS provides two options to set up an LSP hop-by-hop routing with LDP Each LSR independently selects the next hop for a given FEC. LSRs support any available routing protocols (OSPF ). explicit routing Is similar to source routing. The ingress LSR specifies the list of nodes through which the packet traverses. The LSP setup for an FEC is unidirectional. The return traffic must take another LSP! 64
Hop-by-Hop vs. Explicit Routes Hop-by-Hop Distributed control Trees rooted at destination Destination based forwarding Explicit Routing Originates at source Paths from sources to destinations Traffic to path mapping based on what configuration commands your vendor(s) provide Explicit routing shows great promise for traffic engineering 65
Explicit path setup REQUEST ERO=A REQUEST ERO=(B,A) REQUEST ERO=(C,B,A) Request Path: D->C->B->A A B C D 417 LABEL LSP reply reply 678 reply 233 LABEL LABEL pop swap swap push IP 417 IP 678 IP 233 IP IP 66
Message Label mapping Pour avertir une association d une référence à une FEC Paramètres obligatoires FEC TLV Label TLV 67
FEC TLV 68
Label TLV 69
Message Label request Pour demander une référence associée à une FEC Paramètre obligatoire FEC TLV 70
CR-LDP Utilisé pour établir un LSP avec un routage explicit Un CR-LSP est calculé par le LSR source en se basant sur les critères plus que les informations de routage normal QoS-based routing Explicit routing Utile pour faire du load-balancing, créer les tunnels LSP, créer les LSP avec les contraintes de délai ou de bande passante 71
Exemple d établissement d un CR-LSP 72
Message Label request 73
Traffic parameters TLV 74