350 likes | 636 Views
Multiprotocol Label Switching (MPLS). Sookyoung Lee. Agenda. Problems of traditional IP routing Motivations for MPLS Objectives of MPLS What is MPLS? Label, FEC, LIB, LER, LSR, and LSP How MPLS works? LDP, CR-LEP, TE-RSVP Main capabilities of MPLS
E N D
Multiprotocol Label Switching(MPLS) Sookyoung Lee
Agenda • Problems of traditional IP routing • Motivations for MPLS • Objectives of MPLS • What is MPLS? • Label, FEC, LIB, LER, LSR, and LSP • How MPLS works? • LDP, CR-LEP, TE-RSVP • Main capabilities of MPLS • Connection-oriented QoS Support, Traffic Engineering, VPN support, Multiprotocol Support • References
Problems of traditional IP routing • Problem of Traditional IP Routing • Longish latency at every hop • Header analysis Routing table lookup based on the IP address Replace the layer 2 address • No assurance how a packet will travel • Some congested links and some underutilized links • No QoS - all packets are treated equally • No capability to prioritize packets between different hosts and of different applications
Motivation for MPLS • Rapid growth of Internet • Increase in traffic volumes • Voice and data convergence on a single network infrastructure • New latency dependent applications • Ever-increasing number of ISP networks • Still IP protocol suite popular – the most predominant networking technology
Objectives of MPLS • Speed up IP packet forwarding • By cutting down on the amount of processing at every intermediate router • Prioritize IP packet forwarding • By providing ability to engineer traffic flow and assure differential QoS • Without losing on the flexibility of IP based network
What is MPLS? • A technology to switch (forward) a packet at a high speed at layer 2 using fixed length labels obtained from layer 3 routing information. • Integration of layer 2 and layer 3 • IP supplements • MPLS and ISO model • MPLS Architecture • MPLS terminology • MPLS Cloud
Applications 7to5 IP 3 PPP FR ATM Physical (Optical - Electrical) 1 MPLS and ISO model • No modification needed on the existing layers when MPLS layer is added. • MPLS must be backward compatible. TCP UDP 4 MPLS PPP Frame Relay ATM (*) 2
Classification Label assignment LSP Label swapping Label removal Routing protocol OSPF OSPF OSPF FEC table Local table Local table Local table Attributes Precedence Label table Local table Local table Local table Layer 2 Layer 2 Layer 2 Layer 2 Layer 2 Label Switch Layer 1 Layer 1 Layer 1 Layer 1 Layer 1 Ingress Node Core Node Egress Node MPLS Architecture
MPLS terminology • Label and Label Stack • FEC – Forward Equivalence Class • LIB – Label Information Base • LER – Label Edge Router • LSR – Label Switching Router • LDP – Label Distribution Protocol • LSP – Label Switched Path
32bits 20bits 3bits 1 8bits Label EXP S TTL 1 to many DLL header label stack entry NL header L3 data GFC VPI VCI PTI CLP HEC DATA Label Label • A short, fixed length identifier (32 bits) • Sent with each packet • Local between two routers • Can have different labels if entering from different routers • One label for one FEC • Decided by the downstream router • LSR binds a label to an FEC • It then informs the upstream LSR of the binding • Different depending on layer 2 technology • ATM: VCI/VPI field of ATM header • Frame Relay: DLCI field of FR header • PPP/LAN: ‘shim’ header inserted between layer 2 and layer 3 S: bottom of stack bit Exp: Experimental ATM-MPLS label
Label Stack Layer 2 Header Label 3 Label 2 Label 1 IP Packet • MPLS supports hierarchy. • Each LSR processes the topmost label. • If traffic crosses several networks, it can be tunneled across them • Advantage – reduces the LIB table of each router drastically MPLS Domain 1 MPLS Domain 2 MPLS Domain 3 Slide by ByTamrat Bayle, Reiji Aibara, Kouji Nishimura
FEC (Forward Equivalence Class) • A group of packets that require the same forwarding treatment across the same path • grouped based on • Address prefix • Host address • QoS • FEC is encoded as a label • Assume packets have the destination address and QoS requirements as • 124.48.45.20 qos = 1 • 143.67.25.77 qos = 1 • 143.67.84.22 qos = 3 • 124.48.66.90 qos = 4 • 143.67.12.01 qos = 3 • FEC –1 label a FEC – 2 label b FEC – 3 label c FEC – 4 label d • 143.67.25.77 124.48.45.20 143.67.84.22 124.48.66.90 • 143.67.12.01
LSR • A router/switch that supports MPLS • Can be a router • Can be an ATM switch + label switch controller • Label swapping • Each LSR examines the label on top of the stack • Uses LIB to decide the outgoing path and the outgoing label • Removes the old label and attaches the new label • Forwards the packet on the predetermined path MPLS Cloud IP Packet IP Packet w/ Label LER • Can be an ATM switch or a router • Ingress LER performs the following: • Receives the packet • Adds label • Forwards the packet into the MPLS domain • Egress LER removes the label and delivers the packet LER L3 Routing Egress LER Ingress LER LSR Ordinary IP Router L3 Routing L3 Routing LSP LSR LSR LER Label Swapping Label Swapping LER L3 Routing L3 Routing LSP • LSP defines the path through LSRs from ingress to egress router • FEC is determined at the LER-ingress • LSPs are unidirectional • LSP might deviate from the IGP shortest path
Label Distribution Protocol (LDP) • LDP is the set of procedures and messages • For LSRs to establish LSPs through a network • by mapping network-layer routing information directly to data-link layer switched paths. • associates a FEC with each LSP it creates. • Currently, several protocols used as LDP are available: • CR-LDP, RSVP-TE: Provides functionality for traffic engineering and QoS • Multiprotocol extentions of BGP-4
LDP messages • Discovery Messages - UDP • Used to announce and maintain the presence of an LSR in a network • LSRs multicast these messges periodically to 224.0.0.2 and all routers listen to this group • Session Messages - TCP • used to establish, maintain and terminate sessions between LDP peers • Advertisement Messages - TCP • create, change and delete label mappings for FECs • Notification Messages - TCP • Used to provide advisory information and to signal error information
Unsolicited Downstream Label Distribution Rd discovers a ‘next hop’ for a particular FEC Rd generates a label for the FEC and communicates the binding to Ru Ru inserts the binding into its forwarding tables Label Distribution Methods Rd and Ru are said to have LDP adjacency Ru Rd Ru Request for Binding Rd Label-FEC Binding Label-FEC Binding Downstream on Demand Label Distribution • Ru recognizes Rd as its next-hop for an FEC • A request is made to Rd for a binding between the FEC and a label • If Rd recognizes the FEC and has a next hop for it, it creates a binding and replies to Ru
Ingress Interface Ingress Label Egress Label FEC Egress Interface Ingress Interface Ingress Label Egress Label FEC Egress Interface 1 4 138.120 x 1 3 138.120 MPLS switch 3 1 138.120 4 1 2 MPLS switch 3 127.20 1 2 3 3 MPLS switch 192.168 2 1 2 MPLS switch Ingress Interface Ingress Label Egress Label FEC Egress Interface 1 x 3 138.120 Unsolicited Downstream 12 5 12 Mapping 12 Mapping 5 The downstream node defines the label and advertises it to the upstream node. 5
Ingress Interface Ingress Label Egress Label FEC Egress Interface Ingress Interface Ingress Label Egress Label FEC Egress Interface 1 4 138.120 x 1 3 138.120 MPLS switch 3 1 138.120 4 1 2 MPLS switch 3 127.20 1 2 3 3 MPLS switch 192.168 2 1 2 MPLS switch Ingress Interface Ingress Label Egress Label FEC Egress Interface 1 x 3 138.120 Downstream stream on demand 12 5 12 Request 138.120 Request 138.120 Mapping 12 Mapping 5 The label is requested by the upstream node and the downstream node defines the label used. 5
Label Distribution and Management • Label Distribution Control Mode • Independent LSP control: Each LSR makes independent decision on when to generate labels and communicate them to upstream peers • 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 • Used for explicit routing • Label Retention Mode • Conservative – LSR maintains only valid bindings • Liberal - LSR maintains bindings other than the valid next hop, more label, quick adaptation for routing change • Label Advertisement Mode • Downstream allocation • Downstream-on-Demand allocation
Label Information Base (LIB) • Table maintained by the LSRs • Contents of the table • Incoming label • Outgoing label • Outgoing path • Address prefix Incoming label Outgoing Path Outgoing label Address Prefix
LER LER Core MPLS Network End System End System MPLS Network MPLS Interworking Architecture LER Core LSR LER LDP LDP LDP Routing Routing Routing Protocol Protocol Protocol TCP/UDP TCP/UDP TCP/UDP IP IP IP MPLS Control protocol Stack Architecture End End LER LER System System IP IP Core LSR IP IP MPLS MPLS MPLS Layer2 Layer2 Layer2 Layer2 Layer2 Layer2 Layer2 Layer2 PHY PHY PHY PHY PHY PHY PHY PHY MPLS Data Protocol Stack Architecture MPLS Protocol Stack
Four main capabilities of MPLS • Connection-oriented QoS Support • Traffic Engineering • VPN support • Multiprotocol Support
Connection-oriented QoS Support • Connection-oriented network has powerful traffic management and QoS capabilities. • MPLS • imposes a connection-oriented framework on a connectionless IP-based Internet providing the foundation for sophisticated and reliable QoS traffic contracts. • Flow-by-flow QoS (End-to-end) not packet-by-packet QoS (Hop-by-hop)
Traffic Engineering (TE) • What is TE? • Dynamically define routes • Maximize Bandwidth Utilization by spreading the network traffic across network • Ensure available spare link capacity for re-routing traffic on failure • Meet policy requirements imposed by the network operator • MPLS • has a primitive form of automated TE. • is aware of flows of packet not just individual packets • With MPLS, Routes are changed on a flow-by-flow basis (Explicit routing), instead of simply changing the route on a packet-by-packet basis
Constrained-Based Routed LDP (CR-LDP) • Modified LDP to set up the “Explicit Routing (ER-LSP)” • Strict ER-LSP: Specifies list of nodes using actual address of each node to traverse. • Loose ER-LSP: Specifies list of nodes to act as one of the ‘abstract’ nodes to traverse. • It can co-exist with the pure LDP. • Introduces additional constraints (new parameters) for traffic regulation LER1 LSR2 LSR3 LER4 • Advantages of Explicit Routing • Can use routes other than shortest path • Operator has routing flexibility • Traffic engineering
Explicitly Routed LSP Overload !! LER 4 LER 1 Overload !! LSR 2 LSR 3 Forward to LSR 2 LSR 3 LSR 4 LSR X • End-to-End forwarding decision determined by ingress node. • Enables Traffic Engineering
Weight Reserved Flags Frequency 15 0 1 31 Peak Data Rate U F Traffic Para TLV Length Peak Burst Size Committed Data Rate Committed Burst Size Excess Burst Size CR-LDP Traffic Engineering • QoS and Traffic parameters • Path Preemption • Path Re-optimization • Failure Notification • Loop Detection • Peak Rate – Maximum rate at which traffic should be sent to CR-LDP • Committed Rate – The rate that the MPLS domain commits to be available to the CRLSP • Excess Burst Size – Measures the extent by which the traffic sent on CR-LSP exceeds the committed rate • Frequency – constraints delay
TE-RSVP • QoS and Traffic parameters • Failure Notification • Loop Detection • Multi Protocol Support • Path Preemption Slide by ByTamrat Bayle, Reiji Aibara, Kouji Nishimura
VPN A VPN B VPN B P3 P5 P1 VPN A VPN A P2 P4 LDP LDP LDP VPN VPN VPN VPN VPN support • With VPN, the traffic of a given enterprises or group passes transparently through the Internet in a way that effectively segregates that traffic from other packets on the Internet. • MPLS provides an efficient mechanism for supporting VPNs proving performance guarantees and security. LSP - Label Switched Path LDP
Multiprotocol Support • MPLS can be used on many networking technologies. • MPLS supports IPv4, IPv6, IPX, AppleTalk at the network layer. • MPLS supports Ethernet, Token Ring, FDDI, ATM, FR, PPP at the link layer. • Universal nature of MPLS • MPLS enabled routers can coexist with ordinary IP routers. • MPLS-enabled ATM switches and MPLS-enabled FR switches can be configured to co-exist wit ordinary ATM or FR switches. MPLS is a good solution to optimize resources and expand QoS support over mixed network technologies.
References • MPLS Charter: http://www.ietf.org/html.charters/mpls-charter.html • MPLS Resource Center: http://www.mplsrc.com • MPLS Forum: http://www.mplsforum.org • Basic RFCs • RFC 3031/3032 MPLS Forwarding/Architecture • RFC 3036 MPLS LDP Specification • RFC 3215 LDP State Machine • RFC 2205 MPLS Signaling RSVP • RFC 3209 MPLS Signaling RSVP-TE