1.59k likes | 2.61k Views
MPLS Tutorial. Bilel N. Jamoussi, Ph.D. Senior Network Architect Carrier Data Networks jamoussi@nortelnetworks.com. Tutorial Outline. Overview Label Encapsulations Label Distribution Protocols MPLS and ATM IETF Status Nortel Networks Activity Summary. MPLS Motivations.
E N D
MPLS Tutorial Bilel N. Jamoussi, Ph.D. Senior Network Architect Carrier Data Networks jamoussi@nortelnetworks.com
Tutorial Outline • Overview • Label Encapsulations • Label Distribution Protocols • MPLS and ATM • IETF Status • Nortel Networks Activity • Summary
MPLS Motivations • Flexibility (L2/L3 Integration) • Media Support: ATM, FR, Ethernet, PPP • Operate IP over Multiservice ATM • More than destination-based Forwarding • IP Traffic Engineering • Constraint-based Routing • IP-VPN • Tunneling mechanism • VOIP • Connection-oriented Paths and QoS
3 All Nodes Run Standard IP Routing 47.1 1 2 1 3 2 1 47.2 3 47.3 2
IP 47.1.1.1 IP Destination Lookup at Each Hop 47.1 1 IP 47.1.1.1 2 IP 47.1.1.1 1 3 2 IP 47.1.1.1 1 47.2 3 47.3 2
Multiprotocol Label Switching (MPLS) Edge Label Switch Router (LSR) Edge Label Switch Router (LSR) Label Switch Router Label Switch Router IP Packet IP Packet IP Packet Label IP Packet Label IP Packet Label Layer 3 Routing Layer 3 Routing Layer 2 Forwarding MPLS involves routing at the edges, switching in the core
MPLS Terminology LDP: Label Distribution Protocol FEC: Forwarding Equivalence Class LSP: Label Switched Path LSR: Label Switching Router LER: Label Edge Router(Note that LER is a Nortel Networks term describing the edge LSR function)
Forwarding Equivalence Classes LSR LSP FEC FEC Packets are destined for different address prefixes, but can be mapped to common egress router, treated as equivalent FEC • FEC = “A subset of packets that are all treated the same way by a router” • The concept of FECs provides for a great deal of flexibility and scalability • In conventional routing, a packet is assigned to an FEC at each hop (i.e., L3 lookup); in MPLS, it is only done once at the network ingress
Label Switched Path — Concept Label Switched Path (LSP) Set Up Across Network Interior Nodes Forwarded Along LSP Based on Labels Incoming Packets Classified, Labeled Egress Node Removes Label Before Forwarding • Two types of Label Switched Paths: • Hop-by-hop • Explicit Routing
Request: 47.1 Request: 47.1 Mapping: 0.50 Mapping: 0.40 MPLS Label Distribution 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2
IP 47.1.1.1 IP 47.1.1.1 Label Switched Path (LSP) 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2
LSPs: Explicit Routing Explicit Routing LSR D LSR E LSR A LSR B LSR C Forward to LSR B LSR C LSR D LSR E • Ingress node (or egress node) determines path from ingress to egress • Operator has routing flexibility (policy-based, QoS-based) • Required for MPLS traffic engineering • Two signaling options proposed in the standards: RSVP, CR-LDP
IP 47.1.1.1 IP 47.1.1.1 Traffic Engineered Path 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2
Tutorial Outline • Overview • Label Encapsulations • Label Distribution Protocols • MPLS & ATM • IETF Status • Nortel Networks Activity • Summary
Label Encapsulation MPLS ATM FR Ethernet PPP L2 Label VPI VCI DLCI “Shim” MPLS Encapsulation is specified over various media types
MPLS Link Layers • MPLS is intended to run over multiple link layers • Specifications for the following link layers currently exist: • ATM: label contained in VCI/VPI field of ATM header • Frame Relay: label contained in DLCI field in FR header • PPP/LAN: uses ‘shim’ header inserted between L2 and L3 headers • Fields and functionality may vary between different link layers — ATM/FR have to adapt to existing structure • — PPP/LAN header has more freedom to incorporate useful features (CoS, TTL) • Translation between link-layers types must be supported MPLS intended to be “multiprotocol” below as well as above
MPLS Encapsulation — ATM ATM LSR constrained by the cell format imposed by existing ATM standards 5 Octets ATM Header Format VPI VCI PT HEC CLP Label Option 1 Label Combined Label Option 2 Option 3 ATM VPI (Tunnel) Label AAL 5 PDU Frame (nx48 bytes) ••• n 1 Network Layer Header and Packet (e.g., IP) Generic Label Encap. (PPP/LAN format) AAL5 Trailer ATM SAR 48 Bytes • • • 48 Bytes ATM Header ATM Payload • Top one or two labels are contained in the VPI/VCI fields of ATM header • — one in each or single label in combined field, negotiated by LDP • Further fields in stack are encoded with ‘shim’ header in PPP/LAN format • — must be at least one, with bottom label distinguished with ‘explicit NULL’ • TTL is carried in top label in stack, as a proxy for ATM header (that lacks TTL)
MPLS Encapsulation — Frame Relay Generic Encap. (PPP/LAN Format) Q.922 Header Layer 3 Header and Packet ••• n 1 C/ R FE CN E A BE CN D E E A DLCI Size = 10, 17, 23 Bytes DLCI DLCI • Current label value carried in DLCI field of Frame Relay header • Can use either 2 or 4 octet Q.922 address (10, 17, 23 bytes) • Generic encapsulation contains n labels for stack of depth n • — top label contains TTL (which FR header lacks), ‘explicit NULL’ label value
MPLS Encapsulation — PPP & LAN Data Links MPLS ‘Shim’ Headers (1-n) ••• n 1 Network Layer Header and Packet (e.g., IP) Layer 2 Header (e.g., PPP, 802.3) 4 Octets Label Stack Entry Format TTL Label Exp. S Label: Label Value, 20 bits (0-16 reserved) Exp.: Experimental, 3 bits (was Class of Service) S: Bottom of Stack, 1 bit (1 = last entry in label stack) TTL: Time to Live, 8 bits • Network layer must be inferable from value of bottom label of the stack • TTL must be set to the value of the IP TTL field when packet is first labeled • When last label is popped off stack, MPLS TTL to be copied to IP TTL field • Pushing multiple labels may cause length of frame to exceed layer-2 MTU • — LSR must support “Max. IP Datagram Size for Labeling” parameter • — any unlabeled datagram greater in size than this parameter is to be fragmented MPLS on PPP links and LANs uses ‘Shim’ Header Inserted Between Layer 2 and Layer 3 Headers
Tutorial Outline • Overview • Label Encapsulations • Label Distribution Protocols • MPLS & ATM • IETF Status • Nortel Networks Activity • Summary
Label Distribution Protocols • Overview of Hop-by-hop and Explicit • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP • Extensions to BGP
LSPs: Hop-by-Hop vs. Explicit Routing MPLS will form label switched paths by one of two methods — hop-by-hop routing or explicit routing Hop-by-Hop Routing LSR B LSR D LSR A LSR C LSR E Forward to LSR B Forward to LSR E Forward to LSR ... Forward to LSR C Forward to LSR D • Each node runs layer 3 routing protocol • Routing decisions made independently at each node Explicit Routing LSR A LSR E LSR D LSR B LSR C Forward to LSR B LSR C LSR D LSR E • Also known as ‘source routing’ or ‘traffic steering’ • Ingress node (or egress node) determines path from ingress to egress
Comparison — Hop-by-Hop vs. Explicit Routing Hop-by-Hop Routing Explicit Routing • Distributes topology awareness • No path setup/tear-down/refresh required • Automates routing using industry standard protocols (e.g., OSPF, ISIS) • Loop detection/prevention required • Reroute on failure impacted by convergence time of routing protocol • Existing routing protocols are destination prefix-based • Difficult to perform traffic engineering, QoS-based routing • Centralized topology awareness (in ingress node) • Path setup/tear-down/refresh required • Requires manual provisioning or creation of new routing protocol • Backup paths may be preprovisioned for rapid restoration • Operator has routing flexibility (policy-based, QoS-based) • Easily used for traffic engineering Explicit routing shows great promise for traffic engineering, at the cost of operator involvement (or new routing protocols)
LSR A LSR E LSR D LSR B LSR C Forward to LSR B LSR C LSR D LSR E Explicit Routing — MPLS vs. Traditional Routing • Connectionless nature of IP implies that routing is based on information in each packet header • Source routing is possible, but path must be contained in each IP header • — lengthy paths increase size of IP header, make it variable size, increase overhead • — some gigabit routers require ‘slow path’ option-based routing of IP packets • Source routing has not been widely adopted in IP and is seen as impractical • — some network operators may filter source-routed packets for security reasons • MPLS enables the use of source routing by its connection-oriented capabilities • — paths can be explicitly set up through the network • — the ‘label’ now can represent the explicitly routed path • Loose and strict source routing can be supported MPLS makes the use of source routing in the Internet practical
Label Distribution Protocol (LDP) — Purpose Label distribution ensures that adjacent routers have a common view of FEC <-> label bindings Routing Table: Addr-prefix Next Hop 47.0.0.0/8 LSR3 Routing Table: Addr-prefix Next Hop 47.0.0.0/8 LSR2 LSR1 LSR3 LSR2 IP Packet 47.80.55.3 Label Information Base: Label-In FEC Label-Out XX 47.0.0.0/8 17 For 47.0.0.0/8 use label ‘17’ Label Information Base: Label-In FEC Label-Out 17 47.0.0.0/8 XX Step 2: LSR communicates binding to adjacent LSR Step 3: LSR inserts label value into forwarding base Step 1: LSR creates binding between FEC and label value Common understanding of which FEC the label is referring to! Label distribution can either piggyback on top of an existing routing protocol, or a dedicated label distribution protocol (LDP) can be created
Label Distribution — Methods Label Distribution can take place using one of two possible methods Downstream Label Distribution Downstream-on-Demand Label Distribution LSR2 LSR1 LSR2 LSR1 Label-FEC Binding Request for Binding • LSR2 and LSR1 are said to have an “LDP adjacency” (LSR2 being the downstream LSR) • 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 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 Both methods are supported, even in the same network at the same time. For any single adjacency, LDP negotiation must agree on a common method.
Distribution Control: Ordered vs. Independent Next Hop (for FEC) MPLS path forms as associations are made between FEC next-hops and incoming and outgoing labels Incoming Label Outgoing Label Independent LSP Control Ordered LSP Control • 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 • 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 Definition Example • Cisco’s Tag Switching • IBM’s ARIS • 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 Comparison Both methods are supported in the standard and can be fully interoperable
Label Retention Methods Binding for LSR5 LSR2 LSR1 An LSR may receive label bindings from multiple LSRs Some bindings may come from LSRs that are not the valid next-hop for that FEC LSR5 Binding for LSR5 LSR3 Binding for LSR5 LSR4 Conservative Label Retention Liberal Label Retention LSR2 LSR2 Label Bindings for LSR5 Label Bindings for LSR5 LSR1 LSR1 LSR3 LSR3 LSR4’s Label LSR3’s Label LSR2’s Label LSR4’s Label LSR3’s Label LSR2’s Label LSR4 LSR4 Valid Next Hop Valid Next Hop • 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
LSPs: Hop-by-Hop Hop-by-Hop Routing LSR D LSR E LSR B LSR C LSR A Forward to LSR B Forward to LSR E Forward to LSR ... Forward to LSR C Forward to LSR D • Each node runs layer 3 routing protocol • Routing decisions made independently at each node • Distributes topology awareness • Automates routing using industry standard protocols (e.g., OSPF, ISIS) • Difficult to perform traffic engineering
Outline • CR-LDP Solution overview • CR-LDP update • CR-LDP QoS • Summary
ER-LSP Setup using CR-LDP 2. Request message processed and next node determined. Path list modified to <C,D>. 3. Request message terminates. 1. Label Request message. It contains ER path < B,C,D>. 6. When LER A receives label mapping, the ER established. 5. LSR C receives label to use for sending data to LER D. Label table updated. 4. Label mapping message originates. LER A LSR B LSR C LER D ER Label Switched Path Ingress Egress • Simple — part of the MPLS LDP protocol • Robust — signaling built upon reliable TCP layer • Scalable — no need to refresh LSP state • Interoperable — proven multivendor interoperability
MPLS Traffic Engineering • Traffic Engineering requires a solution to route LSPs according to various constraints • Solution has to be: • Scalable • Reliable • CRLDP use LDP messages to signal these various constraints
Constraint-based LSP Setup using LDP • Uses LDP Messages & TLVs • LDP runs on a reliable transport (TCP) • Does NOT require hop-by-hop • DOD-O can be used for loose segments • Introduces additional TLVs to the base LDP specification to signal ER, and other “constraints” • TLVs for error handling & diagnostics
Why CR-LDP? • Runs on TCP Reliable • Hard State Scalable • QoS Support ATM-like, FR-like, & Diffserv • More apt to integrate/migrate in existing FR and ATM networks and to support emerging diffserev-based POS gigabit routers • Demonstrated interoperability • Simple protocol based on LDP, output of MPLS WG
Latest CRLDP Revision • Constraint-based routing overview section • CR-TLV is broken in separate TLVs • Explicit route, route pinning, pre-emption • ER-Hop TLV encoding consistent with LDP • 2-byte type, 2-byte length, variable length content • Traffic TLVs and QoS
CR-LDP TLVs • CR-LSP FEC Element • An opaque FEC element type 0x04 value (0 octet) • LSPID TLV • A CRLSP unique identifier within an MPLS network. • ER-Hop Type (4) LSPID TLV • The LSPID is used to identify the tunnel ingress point as the next hop in the ER. • Resource Class (Color) TLV • 32 bit mask indicating which of the 32 "administrative groups" or "colors" of links the CRLSP can traverse.
CRLDP Traffic and QoS • In the crldp-00 draft three service classes (delay sensitive, throughput sensitive and best effort) were defined. • This is inflexible and it's hard to map existing and new applications onto these service definitions. • In crldp-01 only CRLSP traffic and QoS parameters of a CRLSP are defined. These describe the characteristics of the CRLSP. Loosely routed segment Unlabeled IP HBH only MPLS domain CRLDP MPLS domain
CRLSP characteristics not edge functions • The approach is like diffserv’s separation of PHB from edge • The parameters describe the “path behavior” of the CRLSP, i.e., the CRLSP’s characteristics • Dropping behavior is not signaled • Dropping may be controlled by DS packet markings • CRLSP characteristics may be combined with edge functions (which are undefined in CRLDP) to create services • Edge functions can perform packet marking • Example services are in an appendix
Peak Rate • The maximum rate at which traffic should be sent to the CRLSP • Defined by a token bucket with parameters • Peak data rate (PDR) • Peak burst size (PBS) • Useful for resource allocation • If a network uses the peak rate for resource allocation then its edge function should regulate the peak rate • May be unused by setting PDR or PBS or both to positive infinity
Committed Rate • The rate that the MPLS domain commits to be available to the CRLSP • Defined by a token bucket with parameters • Committed data rate (CDR) • Committed burst size (CBS) • Committed rate is the bandwidth that should be reserved for the CRLSP • CDR = 0 makes sense; CDR = + less so • CBS describes the burstiness with which traffic may be sent to the CRLSP
Excess Burst Size • Measure the extent by which the traffic sent on a CRLSP exceeds the committed rate • Defined as an additional limit on the committed rate’s token bucket • Can be useful for resource reservation • If a network uses the excess burst size for resource allocation then its edge function should regulate the parameter and perhaps mark or drop packets • EBS = 0 and EBS = + both make sense
Frequency • Specifies how frequently the committed rate should be given to CRLSP • Defined in terms of “granularity” of allocation of rate • Constrains the variable delay that the network may introduce • Constrains the amount of buffering that an LSR may use • Values: • Very frequently: no more than one packet may be buffered • Frequently: only a few packets may be buffered • Unspecified: any amount of buffering is acceptable
Weight • Specifies the CRLSP’s weight in the “relative share algorithm” • Implied but not stated: • CRLSPs with a larger weight get a bigger relative share of the “excess bandwidth” • Values: • 0 — the weight is not specified • 1-255 — weights; larger numbers are larger weights • The definition of “relative share” is network specific
ER-LSP Setup Using RSVP 3. Resv message originates. Contain the label to use and the required traffic/QoS para. 2. New path state. Path message sent to next node. 1. Path message. It contains ER path < B,C,D>. 4. New reservation state. Resv message propagated upstream. Per-hop Path and Resv refresh unless suppressed. 5. When LER A receives Resv, the ER established. 6. ResvConf message (o). LER A LSR B LSR C LER D • More complex — signaling in addition to MPLS LDP protocol • Unreliable — signaling built upon UDP • Scalability concerns — Significant number of refresh messages to process • Interoperability concerns — IETF draft underspecified, no proven interoperability
BGP Extensions • A mechanism to exchange label binding information among BGP peers by adding (piggybacking) the label mapping information on the BGP route update
Tutorial Outline • Overview • Label Encapsulations • Label Distribution Protocols • MPLS & ATM • IETF Status • Nortel Networks Activity • Summary
MPLS & ATM • Various Modes of Operation • Label-controlled ATM • Tunneling through ATM • Ships in the night with ATM • ATM Merge • VC merge • VP merge