MPLS MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE

Similar documents
LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

Multi Protocol Label Switching (an introduction) Karst Koymans. Thursday, March 12, 2015

Table of Contents Chapter 1 MPLS Basics Configuration

Securizarea Calculatoarelor și a Rețelelor 32. Tehnologia MPLS VPN

MPLS Core Networks Николай Милованов/Nikolay Milovanov

MPLS VPN. 5 ian 2010

Computer Network Architectures and Multimedia. Guy Leduc. Chapter 2 MPLS networks. Chapter 2: MPLS

COMP9332 Network Routing & Switching

Telematics Chapter 7: MPLS

MPLS Multi-protocol label switching Mario Baldi Politecnico di Torino (Technical University of Torino)

MPLS Intro. Cosmin Dumitru March 14, University of Amsterdam System and Network Engineering Research Group ...

Multiprotocol Label Switching (MPLS)

2D1490 p MPLS, RSVP, etc. Olof Hagsand KTHNOC/NADA

MPLS etc.. MPLS is not alone TEST. 26 April 2016 AN. Multi-Protocol Label Switching MPLS-TP FEC PBB-TE VPLS ISIS-TE MPƛS GMPLS SR RSVP-TE OSPF-TE PCEP

HP Routing Switch Series

Multiprotocol Label Switching (MPLS) on Cisco Routers

Label Switching. The idea. Add a small label (sometimes called a tag ) on the front of a packet and route the packet based on the label. cs670.

Multiprotocol Label Switching (MPLS) on Cisco Routers

Introduction to MPLS APNIC

Outline. Circuit Switching. Circuit Switching : Introduction to Telecommunication Networks Lectures 13: Virtual Things

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

MultiProtocol Label Switching - MPLS ( RFC 3031 )

Multi-Protocol Label Switching

HP MSR Router Series. MPLS Configuration Guide(V5) Part number: Software version: CMW520-R2513 Document version: 6PW

MPLS. 9 March 2018 AN

Syed Mehar Ali Shah 1 and Bhaskar Reddy Muvva Vijay 2* 1-

Institute of Computer Technology - Vienna University of Technology. L85 - Multiprotocol Label Switching

MPLS опорни мрежи MPLS core networks

MPLS Introduction. (C) Herbert Haas 2005/03/11

Introduction to MPLS. What is MPLS? 1/23/17. APNIC Technical Workshop January 23 to 25, NZNOG2017, Tauranga, New Zealand. [201609] Revision:

Concepts and Operation of MPLS VPNs. Francisco Bolanos

HP 5920 & 5900 Switch Series

Operation Manual MPLS. Table of Contents

سوي يچينگ و مسيريابي در شبكه

Multiprotocol Label Switching Overview

Configuration Guide - MPLS

MPLS etc.. 9 May 2017 AN

MPLS. Multi-Protocol Label Switching

HP A-MSR Router Series MPLS. Configuration Guide. Abstract

MPLS/Tag Switching. Background. Chapter Goals CHAPTER

Table of Contents. Cisco MPLS FAQ For Beginners

MPLS, THE BASICS CSE 6067, UIU. Multiprotocol Label Switching

Tag Switching. Background. Tag-Switching Architecture. Forwarding Component CHAPTER

Multiprotocol Label Switching (MPLS)

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Multiprotocol Label Switching. Version: Demo

Label Distribution Protocol and Basic MPLS Configuration. APNIC Technical Workshop October 23 to 25, Selangor, Malaysia Hosted by:

MPLS MPLS. Basically: 9 March 2018 AN. Multi-Protocol Label Switching. A bit of history. Multi-Protocol Label Switching.

Multi Protocol Label Switching

Connection Oriented Networking MPLS and ATM

MPLS Multi-Protocol Label Switching

Chapter 4. Advanced Internetworking. 4.3 MPLS 4.4 Mobile IP

BrainDumps.4A0-103,230.Questions

CCIE R&S Techtorial MPLS

HP MSR Router Series. MPLS Configuration Guide(V7) Part number: Software version: CMW710-R0106 Document version: 6PW

Internet Routing - MPLS. By Richard Harris

H3C S9500 Series Routing Switches

Multiprotocol Label Switching (MPLS)

Test 1: NET3012 IP Architectures & Solutions Winter 2016

MPLS (Multi-Protocol Label Switching)

Migration Strategies for IP Service Growth: Cell-switched MPLS or IP-routed MPLS

Cisco Training - HD Telepresence MPLS: Implementing Cisco MPLS V3.0. Upcoming Dates. Course Description. Course Outline

Multiprotocol Label Switching (MPLS) on Cisco Routers

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

MPLS LDP. Agenda. LDP Overview LDP Protocol Details LDP Configuration and Monitoring 9/27/16. Nurul Islam Roman

Ahmed Benallegue RMDCN workshop on the migration to IP/VPN 1/54

Multiprotocol Label Switching (MPLS)

MPLS Label Distribution Protocol (LDP)

Introduction to Multi-Protocol Label

What You Will Learn By the end of this appendix, you should know and be able to explain the following:

WORKSHOP MPLS.

Exam : Title : Implementing Cisco MPLS Exam (MPLS) Ver :

MPLS VPN Explicit Null Label Support with BGP. BGP IPv4 Label Session

H3C SR6600 Routers. MPLS Configuration Guide. Hangzhou H3C Technologies Co., Ltd.

Configuring Static MPLS

internet technologies and standards

AToM (Any Transport over MPLS)

Testking.4A0-103,249.QA 4A Alcatel-Lucent Multi Protocol Label Switching

MPLS Label Distribution Protocol (LDP)

Practice exam questions for the Nokia NRS II Composite Exam

Multiprotocol Label Switching Virtual Private Network

MULTIPROTOCOL LABEL SWITCHING: REIVEW KAISER ALI BHAT

MPLS VPN Carrier Supporting Carrier

Trafffic Engineering 2015/16 1

Master Course Computer Networks IN2097

ENTERPRISE MPLS. Kireeti Kompella

This chapter covers the following topics: Label Distribution Protocol (LDP) AToM operations

Outline. Overview Label Encapsulations Label Distribution Protocols Constraint Based Routing with CR-LDP Summary

IP Datagram Service MPLS. Virtual Call Call Request (CR) Agenda

MPLS VPN Carrier Supporting Carrier Using LDP and an IGP

CS High Speed Networks. Dr.G.A.Sathish Kumar Professor EC

MPLS VPN Carrier Supporting Carrier Using LDP and an IGP

H3C S7500E-XS Switch Series

MIT International Journal of Electrical and Instrumentation Engineering Vol. 3, No. 1, Jan. 2013, pp

Advanced Telecommunications

Configuration MPLS Avaya Secure Router 2330/4134

MPLS Multi-protocol label switching Mario Baldi Politecnico di Torino (Technical University of Torino)

MPLS LSP Ping Traceroute for LDP TE and LSP Ping for VCCV

Measuring MPLS overhead

Internetworking Part 1

MPLS AToM Overview. Documentation Specifics. Feature Overview

Transcription:

MPLS Multiprotocol MPLS Label Switching MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE Peter R. Egli 1/21

Contents 1. Why MPLS? 2. MPLS elements and terms 3. Basic architecture of an LSR MPLS node 4. Basic architecture of an LER MPLS (MPLS edge node) 5. MPLS operation label switching 6. MPLS label stacking 7. routing versus MPLS switching 8. MPLS header position 9. MPLS label distribution 10. Penultimate hop popping PHP 11. MPLS applications 2/21

1. Why MPLS (1/2)? Why not ATM? ATM (Asynchronous Transfer Mode) as a backbone transmission technology has a scalability problen. ATM is connection-oriented: Between any pair of switches / routers, a separate PVC (Permanent Virtual Connection) must be set up. If optimal routing is required a full mesh of PVCs needs to be established (O(n^2) complexity). In large networks this becomes unfeasible. ATM does not have powerful routing protocols: ATM does not provide such powerful routing protocols as (OSPF, BGP). ATM is dying: ATM is slowly but steadily being replaced by other, simpler technologies. Why not simple routing? QoS is difficult to meet with traditional routers: Traditional routers have become the bottleneck in the backbone. Routing is costly: Routing is costly ($) since it needs a lot of performance and memory. (@ 2014 ca. 300 000 BGP routes in Internet backbone; requires 60-120Mb memory to hold these routes) 3/21

1. Why MPLS (2/2)? MPLS (RFC3031) combines the advantages of layer 3 routing with layer 2 packet forwarding (in hardware). + + + + Routing in MPLS is done with routing protocols. No change to the existing Internet backbone routing infrastructure is required (AS/BGP4 for Internet backbone, OSPF for private or enterprise backbone routing). QoS (Quality of Service) is achieved through layer 2 switching. The routing tables size can be reduced through layer 2 switching. MPLS allows to add additional services like VPN. 4/21

2. MPLS elements and terms (1/3): LSR: Label Switching Router. Core MPLS router/switch that switches packets based on label. LER: Label Edge Router; same as edge-lsr; a LER sits at the edge of a network and performs label push/pop = label imposition/disposition. LSP: Label Switched Path (is unidirectional). Path that an packet takes. Ingress LSR: The ingress LSR is an LER an as such the first MPLS hop in an LSP. The ingress LSR performs the transition from routing and packet forwarding to MPLS switching ( to MPLS). Egress LSR: The egress LSR is an LER as well and does the opposite operation of an ingress LSR. The egress LSR terminates the MPLS LSP and performs the transition from MPLS switching to routing and packet forwarding (MPLS to ). Label swapping: Ingress to egress label exchange (like ATM VPI/VCI). 5/21

2. MPLS elements and terms (2/3): FEC: Forwarding Equivalent Class. Set of packets that belong to the same forwarding treatment. PHP: Penultimate Hop Popping. The penultimate LSR removes ( pops ) the MPLS label and forwards the packet to reduce MPLS processing overhead. LIB: Label Information Base (Label to prefix binding table). The LIB contains the label bindings (mappings) for every route prefix received via BGP. FIB: Forwarding Information Base (routing table), used in the ingress-lsr. The FIB is actually the same as the routing table but augmented with MPLS information to allow a decision about the forwarding method (forward incoming packet as a pure packet or label it and send it into an MPLS LSP). LFIB: Label Forwarding Information Base. The LFIB contains the mappings that are actually used by the label switching engine. It contains a subset of the label bindings of the LIB. 6/21

2. MPLS elements and terms (3/3): Label binding: The label binding is the mapping of an prefix (FEC) to a label. Label imposition: Label imposition is the same as label pushing. 7/21

3. Basic architecture of an LSR MPLS node: MPLS consists of a Forwarding (data plane) and a Control (control plane) part. The control plane runs an ordinary routing stack with routing protocols. Additionally the control plane runs a label binding (label to prefix) exchange protocol with other routers (LDP and others). The data plane receives labeled packets, looks up the label to ascertain the outgoing interface and label (label swapping). Control plane routing protocol (OSPF, BGP) Routing information exchange with other routers L1: Label 1 L2: Label 2 routing table MPLS routing protocol (LDP) Label binding exchange with other routers Incoming labeled packet Data plane Outgoing labeled packet 2 L1 Label forwarding table (LFIB) 2 L2 8/21

4. Basic architecture of an LER MPLS (MPLS edge node): An edge-lsr (LER) augments the general MPLS node architecture with an MPLS-enabled forwarding table (FIB) that allows desicion routing/switching on incoming packets. 1) Label removal and subsequent L3 route lookup. 2) The LIB contains all prefix to label mappings received by this LSR. 2) LIB routing protocol (OSPF, BGP) routing table MPLS routing protocol (LDP) Control plane Routing information exchange with other routers (BGP4) Label binding exchange with other routers (LDP) Incoming packets Incoming labeled packet Data plane forwarding table (FIB) 1) Label forwarding table (LFIB) Outgoing packets Outgoing labeled packets 9/21

5. MPLS operation label switching (1/2): 1. The ingress LSR receives the packet with Dest.=192.168.2.2, classifies it into an FEC and labels it with a label according to the FEC (L1). The FEC corresponds to a traditional destination subnet. 2. The core LSRs receive the packet, use the ingress label as an index into a lookup table and thus ascertains the egress label and interface on which to forward the packet (label swapping and switching). 3. The egress LSR receives the packet, removes the label and performs a traditional layer 3 routing lookup to forward the packet to the final destination. forwarding Label switching forwarding D=192.168.2.2 Ingress LSR (LER) LSR Label Switched Routers LSP Label Switched Path Egress LSR (LER) D=192.168.2.2 192.168.2.2 D=192.168.2.2 L1 D=192.168.2.2 L2 D=192.168.2.2 L3 MPLS headers 10/21

5. MPLS operation label switching (2/2): Multiple streams of traffic ( prefixes) can be mapped onto the same path (LSP). E.g. both 1 and 2 in the example below are mapped into the same FEC (Forwarding Equivalent Class). The assignment of label (path) can be done based on VPN identifiers or QoS. 1 Ingress LSR (LER) Egress LSR (LER) LSR Label Switched Routers 2 1 1 L1 1 L2 1 L3 1 2 2 L1 2 L2 2 L3 2 11/21

6. MPLS label stacking: Labels can be stacked for specific purposes, e.g. VPNs. The switching in the MPLS core uses only the outermost label. In case of VPNs the inner label is used for destination lookup in the egress LSR. Usually only 2 labels are stacked (inner label for VPN, outer label for path). Label stacking is used by RFC2547bis (MPLS based VPNs with BGP4). 1. Ingress LSR performs route lookup to ascertain FEC. The packet belongs to a VPN (VPN membership of route prefixes along with label are exchanged with BGP in core). 2. Core LSR switch the packet downstream and exchange the outer label. 3. The egress LSR pops the outer label, performs a label lookup which tells it to pop the outer label. Then the egress LSR looks up the inner label that tells the LSR to which VPN the packet belongs. The egress LSR pops the inner label and performs a route lookup in the VPNs routing table. Eventually the egress LSR forwards the packet towards the destination. Ingress LSR Core LSR 1 Core LSR 2 Egress LSR 1. 2. 2. 3. 73 30 73 28 73 16 12/21

MF DF 7. routing versus MPLS switching (1/4): Comparison of headers: header Ver. IHL TOS Total length Label (20 bit) MPLS Header EXP S TTL (8 bit) ID u Fragment offset TTL Protocol Header checksum Source address Destination address Optional options Label: Address EXP: EXPerimental or EXPedite bits S: If set to 1 indicates bottom of label stack in case of label stacking. TTL: Time To Live (max. number of MPLS hops, like TTL) for loop detection. Routing (packet forwarding) means: 1. Decrement TTL by 1; drop packet if TTL=0 2. Route lookup (packet leaves router through which interface?) 3. (Optional) Fragment packet if too big for outbound interface 4. Recalculate header checksum 5. Apply QoS (change TOS/DSCP value, put packet into priority queue) Switching a packet with MPLS means: 1. Lookup of outbound interface with MPLS label; outbound LSP s label is looked up in the same step. Copy outbound label into label field in header. 2. Decrement TTL by 1 3. Apply QoS (queueing of MPLS packet). The MPLS address is only 20 bits which represents an address space of 1 million entries. This reduces memory demands and allows using the label as a direct index into a lookup table. The MPLS address does not have prefixes ( masks ). This allows using the label as a direct index into a lookup table. MPLS switching does not involve costly processing such as header checksum calculation. 13/21

7. routing versus MPLS switching (2/4): Why route lookups are costly: Route lookups = Find the longest matching prefix among all prefixes that match the destination address. Both 128.9.16.0/21 and 128.9.0.0/16 in the example below match the destination address 128.9.16.14 but the former is more specific (longer prefix) and thus is the correct routing entry. The job of the router is to find this longest prefix matching route entry among possibly many other matching (but less specific) route entries. v6 still has prefixes (to allow route aggregation) but unlike v4 the address space is gigantic and can be partitioned more freely and thus allows easier aggregation. Matching prefix but not longest prefix Longest matching prefix 128.9.176.0/24 128.9.16.0/21 128.9.172.0/21 prefix covering a range in the entire possible address range. 65.0.0.0/8 128.9.0.0/16 142.12.0.0/19 0 128.9.16.14 2 32-1 address range 14/21

7. routing versus MPLS switching (3/4): Patricia trie (tree with internal and external (=leaf) nodes) (1): The PATRICIA trie (Practical Algorithm to Retrieve Information Coded in Alphanumeric) is one of many route lookup algorithms (e.g. used in BSD kernel). A. Build up of trie: 1. Generally the PATRICIA trie contains the prefixes as nodes. 0 bit in address prefix results in a node to the left of the current node, 1 bits result in a node to the right of the current node. 2. If there is only 1 child node it is removed (path compression). The remaining parent node stores the number of bits that were compressed and thus can be skipped. This reduces the number of necessary comparisons. B. Search algorithm: The router proceeds bit by bit of the destination address through the tree (decision left or right child node). The router skips the specified number of bits as indicated in the nodes. The PATRICIA trie does not allow to find an exact match but only a possible match. Therefore the router must perform a full match in the leaf node (after masking the input address with the number of bits that lead to this leaf node). If the destination matches the full prefix that the leaf node contains the route lookup is successful and the router finds the outgoing interface and next-hop-gw in the leaf node. If not the router must go up the trie (towards the root) and do a mask/full match operation in each node until there is a match. If none of the nodes match the root node will (if configured so) contain the default route. If no default route is configured the route lookup has failed. It is evident that the maintenance of the PATRICIA trie (add routes / nodes, remove routes / nodes based on routing protocol like OSPF, BGP) and the lookup are costly in terms of processing power (N.B.: The lookup is done anew per packet). 15/21

7. routing versus MPLS switching (4/4): Patricia trie (tree with internal and external (=leaf) nodes) (2): d 0 1 f g j Skip 5 Example Prefixes: a) 00001 b) 00010 c) 00011 d) 001 e) 0101 f) 011 g) 100 h) 1010 I) 1100 j) 11110000 k) 000101 Prefix length e h i a b c k 1. address 20.9.4.2 Node k matches best. Route in node k is taken. 00010100. 2. address 31.9.4.2 Node c matches best. Route in node c is taken. 00011111. 3. address 18.9.4.2 Node b matches best. Route in node b is taken. 00010010. 16/21

8. MPLS header position: Where is the MPLS header (label)? MPLS, unlike other protocols, is inserted between existing layer 2 and layer 3 header ( shim header): Payload L2 L1 Payload L2 L1 MPLS MPLS label encapsulation with different layer 2 protocols: PoS (Packet over SONET): Payload MPLS PPP SDH Ethernet: Frame Relay: Label over ATM PVCs: (subsequent cell) ATM label switching: Payload MPLS MAC Phy Payload MPLS FR Phy Payload MPLS ATM Phy Payload ATM Phy Payload HEC CLP PTI VCI VPI GFC (subsequent cell) Payload Label HEC CLP PTI VCI VPI GFC Label 17/21

9. MPLS label distribution (1/2): LDP Label Distribution Protocol: Label distribution propagates upstream from destination to source. In this way a LSP is already established when the last label binding hits the edge-lsr (source of packet). 1. LDP hello packets are used to discover neighbors on links. LDP hello packets use broadcast or multicast and UDP. 2. After the discovery the LDP neighbors establish an LDP session through a TCP connection (like BGP). 3. Every Edge-LSR creates prefix label bindings for the network it is attached to and distributes these bindings via LDP to its upstream neighbors (into the MPLS cloud). 4. The neighbors fill their LIB with the LDP bindings received from both upstream and downstream LDP neighbors (LIB contains mapping /FEC label). 5. The LSRs distribute all their label bindings to their adjacent LSRs (both upstream and downstream). 6. The LSRs fill their LFIB only with label bindings that were received from a downstream neighbor. LER1 LIB: 17.0.0.0/32 LFIB: 32 push LSR2 LIB: 17.0.0.0/44 LFIB: 32 44 LER3 LIB: 17.0.0.0/44 LFIB: 44 pop 17.0.0.0 17.0.0.0 17.0.0.0 network For 17.0.0.0 use label 32 For 17.0.0.0 use label 44 Unsolicited label distribution in upstream direction. 18/21

9. MPLS label distribution (2/2): LDP parameters: 1. Unsolicited vs. on-demand distribution: Unsolicited: Label is distributed even if upstream LSR does not need prefix/label mapping. 2. Independent vs. ordered control: Independent control allocation: Assignment of label to a new prefix (received via BGP) regardless of whether the router has already received a label mapping for the same route prefix from the downstream LSR. Ordered control allocation: Assignment of label only for prefixes where a downstream label already exists in LIB. 3. Liberal retention vs. conservative retention: Conservative retention: An LSR only inserts label bindings into its LIB that are received from its current next hop gateway for this prefix. Liberal retention: An LSR retains also label bindings that were not received from the current next hop gateway for that specific prefix. The combinations unsolicited distribution/independent control/liberal retention are used to provide faster convergence in case of a link failure: LDP: For 17.0.0.1 use label 12 LDP: For 17.0.0.1 use label 28 Before link failure: LIB: 17.0.0.0/28 17.0.0.0/32 LFIB: 12 28 After link failure: LIB: 17.0.0.0/28 17.0.0.0/32 LFIB: 12 32 19/21

10. Penultimate hop popping PHP: Without PHP the egress LSR performs the following steps on a received packet: 1. Inspect MPLS header and look up label. The lookup tells the LSR to pop the label (1st lookup). 2. Inspect packet and perform layer 3 (routing) lookup (2nd lookup). 3. Forward packet to destination. The 2 lookups (MPLS and ) present additional load on the egress edge-lsr. The MPLS label lookup can be removed without changing the MPLS logic. Thus the edge-lsr can request the upstream MPLS neighbor by sending a special LDP label (called implicit null-label, value 3). The penultimate LSR then pops the label and sends a pure packet to the egress-lsr. LIB: 17.0.0.0/32 LIB: 17.0.0.0/32 LIB: 17.0.0.0/44 LIB: 17.0.0.0/3 LFIB: 32 push LFIB: 32 44 LFIB: 44 pop LFIB: - 17.0.0.1 Ingress LSR (LER) LSR Label Switched Routers 17.0.0.1 Egress LSR (LER) D=17.0.0.1 17.0.0.1 17.0.0.1 32 17.0.0.1 44 LDP: For 17.0.0.1 use label L1 LDP: For 17.0.0.1 use label L2 LDP: For 17.0.0.1 use label 3 20/21

11. MPLS applications: 1. Backbone routing (switching, service provider network): Reduction of routes on backbone routers (lower memory demands). Faster routing (switching instead of routing). 2. Layer 3 VPNs (e.g. RFC2547bis): OSPF, R, static routes BGP4 for VPN route distribution OSPF, R, static routes Company 1 (branch) 10.0/16 Edge-LSR LDP for label distribution Edge-LSR Company 1 (branch) 10.1/16 Company 2 (branch) 10.0/16 Edge-LSR Provider MPLS core Edge-LSR Company 2 (branch) 10.1/16 3. QoS for -based networks: Assign packets to different traffic classes (FEC) based on different criteria (destination address, payload type (voice), TOS/DSCP bits etc.) and then prioritize packets. N.B.: MPLS per se does not provide QoS. MPLS is only a means to assign packets to classes and switch these classes differently. 21/21