3 Multiprotocol Lable Switching (MPLS) MPLS: Combine some properties of virtual circuits with flexibility & robustness of datagrams Relies on IP addresses and IP routing protocols to set up the path MPLS-enabled routers forwards packets by examining a short, fixed-length lables Labels have local scope, similar to VC Layer 2.5 protocol Support different link layer technologies (ATM, Ethernet, PPP)
4 WHY MPLS ? Ultra fast forwarding Use switching instead of routing IP Traffic Engineering Constraint-based routing Virtual Private Networks Controllable tunneling mechanism Protection and restoration
6 Hop-by-Hop IP Forwarding 47.1 47.2 47.3 IP 126.96.36.199 1 2 3 1 2 1 2 3
7 Routing Lookup Longest prefix match is (was) expensive. Label matching is much less expensive. 10 Gbps 20M packets/sec Switch fabric Control CPU I/F 9.*.*.*188.8.131.52 2 9.1.*.*184.108.40.206 4 9.2.*.*220.127.116.11 6 9.1.1.*18.104.22.168 8 9.2.1.*22.214.171.124 8 126.96.36.199.1.2.3 6 188.8.131.52.1.2.1 2 184.108.40.206.1.2.3 6 PrefixNext Hop Interface
8 MPLS Label ATM-encapsulated packets: VPI and VCI => label Frame-based packets (Ethernet, PPP): “ Shim ” header GFCVPI VCI PTI CLP HEC DATA Label Label: local scope as VCI Exp: to identify the class of service (ToS) Stack bit: indicate whether to encapsulate another shim label header MPLS encapsulation is specified over various media types. For example, top labels may use existing ATM format, lower label(s) use a new “ shim ” label header TTL: time-to-live counter. Special processing rules are used to mimic IP TTL semantics. Ethernet Header Shim Header IP Header IP Payload Label (20 bits)Exp (3 bits) Stack (1 bit) TTL(8 bits) Ether Trailer
10 Label Switched Path 47.1 47.2 47.3 1 2 3 1 2 1 2 3 3 IP 220.127.116.11 If no label mapping, pass up to L3 and IP routing is used to forward packets
11 Forwarding Equivalence Classes (FEC) FEC = “A subset of packets that are all treated the same way by a router” a MPLS label is associated with a FEC, FEC label binding The concept of FECs provides for a great deal of flexibility and scalability In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 look-up) in MPLS it is only done once at the network ingress At the ingressof a MPLS network, a packet is classified and assigned a FEC/label Packet forwarding is done according to the label in the MPLS network Packets are destined for different address prefixes, but can be mapped to the same FEC and follows a common path from the ingress to the egress IP1 IP2 IP1 IP2 LSR LER LSP IP1#L1 IP2#L1 IP1#L2 IP2#L2 IP1#L3 IP2#L3
13 Label Distribution Methods LSR1 LSR2 Downstream Label Distribution Label-FEC Binding LSR2 discovers a ‘next hop’ for a particular FEC LSR2 generates a label for the FEC and communicates the binding to LSR1 LSR1 inserts the binding into its forwarding tables If LSR2 is the next hop for the FEC, LSR1 can use that label knowing that its meaning is understood LSR1 LSR2 Downstream-on-Demand Label Distribution Label-FEC Binding LSR1 recognizes LSR2 as its next-hop for an FEC A request is made to LSR2 for a binding between the FEC and a label If LSR2 recognizes the FEC and has a next hop for it, it creates a binding and replies to LSR1 Both LSRs then have a common understanding Request for Binding Both methods are supported, even in the same network at the same time
14 Distribution Control Independent LSP Control Ordered LSP Control Next Hop (for FEC) Outgoing Label Incoming Label Each LSR makes independent decision on when to generate labels and communicate them to upstream peers Communicate label-FEC binding to peers once next-hop has been recognized LSP is formed as incoming and outgoing labels are spliced together Label-FEC binding is communicated to peers if: - LSR is the ‘egress’ LSR to particular FEC - label binding has been received from upstream LSR LSP formation ‘flows’ from egress to ingress Definition Comparison Labels can be exchanged with less delay Does not depend on availability of egress node Granularity may not be consistent across the nodes at the start May require separate loop detection/mitigation method Requires more delay before packets can be forwarded along the LSP Depends on availability of egress node Mechanism for consistent granularity and freedom from loops Used for explicit routing and multicast Both methods are supported in the standard and can be fully interoperable
15 Label Retention Methods Liberal Label Retention Conservative Label Retention LSR1 LSR2 LSR3 LSR4 Label Bindings for LSR4 Valid Next Hop LSR4’s Label LSR3’s Label LSR2’s Label LSR1 LSR2 LSR3 LSR4 Label Bindings for LSR4 Valid Next Hop LSR4’s Label LSR3’s Label LSR2’s Label LSR maintains bindings received from LSRs other than the valid next hop If the next-hop changes, it may begin using these bindings immediately May allow more rapid adaptation to routing changes Requires an LSR to maintain many more labels LSR only maintains bindings received from valid next hop If the next-hop changes, binding must be requested from new next hop Restricts adaptation to changes in routing Fewer labels must be maintained by LSR Label Retention method trades off between label capacity and speed of adaptation to routing changes
16 Label Distribution Protocols Label Distribution Protocol (LDP) Constraint-based Routing LDP (CR-LDP) Extensions to RSVP Extensions to BGP
17 LDP:Label Distribution Protocol Label distribution ensures that adjacent routers have a common view of FEC label bindings Routing Table: Addr-prefix Next Hop 18.104.22.168/8 LSR2 Routing Table: Addr-prefix Next Hop 22.214.171.124/8 LSR2 LSR1 LSR2 LSR3 IP Packet 126.96.36.199 Routing Table: Addr-prefix Next Hop 188.8.131.52/8 LSR3 Routing Table: Addr-prefix Next Hop 184.108.40.206/8 LSR3 For 220.127.116.11/8 use label ‘17’ Label Information Base: Label-In FEC Label-Out 17 18.104.22.168/8 XX Label Information Base: Label-In FEC Label-Out 17 22.214.171.124/8 XX Label Information Base: Label-In FEC Label-Out XX 126.96.36.199/8 17 Label Information Base: Label-In FEC Label-Out XX 188.8.131.52/8 17 Step 1: LSR creates binding between FEC and label value Step 2: LSR communicates binding to adjacent LSR Step 3: LSR inserts label value into forwarding base Common understanding of which FEC the label is referring to!
18 LDP: Basic Characteristics Provides LSR discovery mechanisms to enable LSR peers to find each other and establish communication Defines four classes of messages DISCOVERY: deals with finding neighboring LSRs ADJACENCY: deals with initialization, keep alive, and shutdown of sessions LABEL ADVERTISEMENT: deals with label binding advertisements, request, withdrawal, and release NOTIFICATION: deals with advisory information and signal error information Runs over TCP for reliable delivery of messages, except for discovery, which uses UDP and IP multicast Designed to be extensible, using messages specified as TLVs (type, value, length) encoded objects.
20 IP 184.108.40.206 47.1 47.2 47.3 1 2 3 1 2 1 2 3 3 IP 220.127.116.11 Explicitly Routed (ER) LSP Forward packets along “ explicit routes ” - pre-calculated routes that don ’ t necessarily match those that normal IP routing protocols would select.
21 ER LSP - Advantages Operator has routing flexibility policy-based, QoS-based Can use routes other than shortest path Can compute routes based on constraints in exactly the same manner as ATM based on distributed topology database.(traffic engineering)
22 ER LSP - discord! Two signaling options proposed in the standards: CR-LDP, RSVP extensions: CR-LDP = LDP + Explicit Route RSVP ext = Traditional RSVP + Explicit Route +Scalability Extensions RSVP-TE: RSVP traffic engineering Market will probably have to resolve it Survival of the fittest not such a bad thing.
23 MPLS and QoS in IP Network Integrated Services Assign a FEC/label to a flow RSVP was extended to RSVP-TE to support traffic engineering RSVP was further extend to add MPLS support for label distribution Differentiated Services LSRs don ’ t sort based on IP headers, hence DSCPs need to be mapped to EXP field in MPLS shim header Exp field is only 3-bit wide – can support only 8 DSCPs/PHBs Labels can be used if more than 8 PHBs need to be supported Assign different labels to different classes Some signaling is needed to specify the PHB Same approach can be used for link layers which do not use Shim headers, e.g. ATM
26 MPLS Protection End-to-end protection Fast node and link reroute
27 MPLS Protection End-to-end Path Protection A C B D E F Backup LSP Primary LSP Backup and primary LSPs should be route diverse
28 MPLS Protection: Fast Reroute LSR A LSR F LSR E LSR D LSR C LSR B Detour to avoid AB Detour to avoid BC Detour to avoid CD Detour to avoid DE Detour to avoid link DE Detour around node or link failures Example LSP shown traverses (A, B, C, D, E, F) Each detour avoids Immediate downstream node & link towards it Except for last detour: only avoids link DE
29 Detour Merging LSR A LSR F LSR E LSR D LSR C LSR B Detour to avoid AB Detour to avoid BC Merged detour to avoid AB and BC Reduces state maintained Improves resource utilization
30 MPLS Protection Types 1+1: Backup LSP established in advance, resources dedicated, data simultaneously sent on both primary and backup Switchover performed only by egress LSR Fastest, but most resource intensive 1:1 : Same as 1+1 with the difference that data is not sent on the backup Requires failure notification to the ingress LSR to start transmitting on backup Notification may be send to egress also Resources in the backup may be used by other traffic Low priority traffic (e.g., plain IP traffic), shared by other backup paths
31 MPLS VPN: The Problem 10.1/16 10.2/16 10.3/16 Provider Network Customer 1 Site 1 Customer 1 Site 2 Customer 1 Site 3 Customer 2 Site 3 Customer 2 Site 1 Customer 2 Site 2
32 MPLS VPN: The Model 10.1/16 10.2/16 10.3/16 Customer 1 Site 1 Customer 2 Site 1 Customer 2 Site 3 Customer 1 Site 3 Customer 2 Site 2 Customer 1 Site 2 Customer 1 Virtual Network Customer 2 Virtual Network MPLS is used to tunnel data across a network of MPLS-enabled routers
33 MPLS VPN: The Solution 10.1/16 10.2/16 10.3/16 Customer 1 Site 1 Customer 1 Site 2 Customer 1 Site 3 Customer 2 Site 3 Customer 2 Site 1 Customer 2 Site 2 VRF 1 VRF 2 MPLS LSP