Multi-Protocol Label Switching: Basics and Applications

  • 4,140 views
Uploaded on

Multi-Protocol Label Switching has become by far one of the most important Internet technologies of the last 15 years. From humble beginnings back in 1996-97, it is literally the defacto standard in a …

Multi-Protocol Label Switching has become by far one of the most important Internet technologies of the last 15 years. From humble beginnings back in 1996-97, it is literally the defacto standard in a large majority of service provider networks today. This presentation, delivered to executives at MTNL, Mumbai (a large regional carrier in India), explains the key operational principles behind MPLS, and its significant applications.

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,140
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
147
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Issues in MPLS-based Control of SDH/SONET Networks This assumes a downstream on demand with ordered control mode of label distribution. Other label distribution modes are also possible. For example, unsolicited label distribution mode.
  • Good afternoon! And welcome to the course on next-generation high-performance switch architectures. Thank you for coming. Over these two days my goal is to explore some details of this subject that will lead to a deeper understanding of the operation of canonical high-speed switch architectures. Before we begin, I’d like to give you a quick overview of the course, and of the sequence in which we’ll cover the material. The material is organized into 6 parts, half of which we’ll cover today. Today, we’ll begin with an overview of some basic switching notions and look at the essential architectural components of switches and cross-connects. We’ll also look at the generic data path processing that occurs within each. We will then look at a taxonomy of switch architectures and switching fabrics. Here we’ll cover the evolution of switch/routers over several generations, and examine the properties and features of different types of switching fabrics. We’ll also review the properties of input and output queueing. Having developed an overall understanding of the architectures of switches and routers, we’ll delve next into tracing the data path through an IP router, a TDM cross-connect, and a hybrid TDM/IP switch, and look at two examples in detail – the Cisco Catalyst switch and the Juniper M Series routers. Starting tomorrow, we will start dissecting each of the three main processing steps in a switch/router--- input processing, scheduling across the switch fabric, and output queueing. We’ll look at methods, algorithms, and techniques for each with a focus on hardware complexity and implementation issues. I have factored in time for discussions, so I hope you’ll ask questions freely at any time during these lectures. This will enable me to adjust my presentations to best help you. It will also make these lectures more interesting for me. If you have additional questions, please feel free to contact me after May 6 th . My contact information is on the title slide.
  • Good afternoon! And welcome to the course on next-generation high-performance switch architectures. Thank you for coming. Over these two days my goal is to explore some details of this subject that will lead to a deeper understanding of the operation of canonical high-speed switch architectures. Before we begin, I’d like to give you a quick overview of the course, and of the sequence in which we’ll cover the material. The material is organized into 6 parts, half of which we’ll cover today. Today, we’ll begin with an overview of some basic switching notions and look at the essential architectural components of switches and cross-connects. We’ll also look at the generic data path processing that occurs within each. We will then look at a taxonomy of switch architectures and switching fabrics. Here we’ll cover the evolution of switch/routers over several generations, and examine the properties and features of different types of switching fabrics. We’ll also review the properties of input and output queueing. Having developed an overall understanding of the architectures of switches and routers, we’ll delve next into tracing the data path through an IP router, a TDM cross-connect, and a hybrid TDM/IP switch, and look at two examples in detail – the Cisco Catalyst switch and the Juniper M Series routers. Starting tomorrow, we will start dissecting each of the three main processing steps in a switch/router--- input processing, scheduling across the switch fabric, and output queueing. We’ll look at methods, algorithms, and techniques for each with a focus on hardware complexity and implementation issues. I have factored in time for discussions, so I hope you’ll ask questions freely at any time during these lectures. This will enable me to adjust my presentations to best help you. It will also make these lectures more interesting for me. If you have additional questions, please feel free to contact me after May 6 th . My contact information is on the title slide.
  • Good afternoon! And welcome to the course on next-generation high-performance switch architectures. Thank you for coming. Over these two days my goal is to explore some details of this subject that will lead to a deeper understanding of the operation of canonical high-speed switch architectures. Before we begin, I’d like to give you a quick overview of the course, and of the sequence in which we’ll cover the material. The material is organized into 6 parts, half of which we’ll cover today. Today, we’ll begin with an overview of some basic switching notions and look at the essential architectural components of switches and cross-connects. We’ll also look at the generic data path processing that occurs within each. We will then look at a taxonomy of switch architectures and switching fabrics. Here we’ll cover the evolution of switch/routers over several generations, and examine the properties and features of different types of switching fabrics. We’ll also review the properties of input and output queueing. Having developed an overall understanding of the architectures of switches and routers, we’ll delve next into tracing the data path through an IP router, a TDM cross-connect, and a hybrid TDM/IP switch, and look at two examples in detail – the Cisco Catalyst switch and the Juniper M Series routers. Starting tomorrow, we will start dissecting each of the three main processing steps in a switch/router--- input processing, scheduling across the switch fabric, and output queueing. We’ll look at methods, algorithms, and techniques for each with a focus on hardware complexity and implementation issues. I have factored in time for discussions, so I hope you’ll ask questions freely at any time during these lectures. This will enable me to adjust my presentations to best help you. It will also make these lectures more interesting for me. If you have additional questions, please feel free to contact me after May 6 th . My contact information is on the title slide.
  • Good afternoon! And welcome to the course on next-generation high-performance switch architectures. Thank you for coming. Over these two days my goal is to explore some details of this subject that will lead to a deeper understanding of the operation of canonical high-speed switch architectures. Before we begin, I’d like to give you a quick overview of the course, and of the sequence in which we’ll cover the material. The material is organized into 6 parts, half of which we’ll cover today. Today, we’ll begin with an overview of some basic switching notions and look at the essential architectural components of switches and cross-connects. We’ll also look at the generic data path processing that occurs within each. We will then look at a taxonomy of switch architectures and switching fabrics. Here we’ll cover the evolution of switch/routers over several generations, and examine the properties and features of different types of switching fabrics. We’ll also review the properties of input and output queueing. Having developed an overall understanding of the architectures of switches and routers, we’ll delve next into tracing the data path through an IP router, a TDM cross-connect, and a hybrid TDM/IP switch, and look at two examples in detail – the Cisco Catalyst switch and the Juniper M Series routers. Starting tomorrow, we will start dissecting each of the three main processing steps in a switch/router--- input processing, scheduling across the switch fabric, and output queueing. We’ll look at methods, algorithms, and techniques for each with a focus on hardware complexity and implementation issues. I have factored in time for discussions, so I hope you’ll ask questions freely at any time during these lectures. This will enable me to adjust my presentations to best help you. It will also make these lectures more interesting for me. If you have additional questions, please feel free to contact me after May 6 th . My contact information is on the title slide.
  • Issues in MPLS-based Control of SDH/SONET Networks

Transcript

  • 1. Multi-Protocol Label Switching: Basics & Applications Dr. Vishal Sharma Email: [email_address] Web: http://www.metanoia-inc.com Metanoia, Inc. Critical Systems Thinking™ © Copyright 2002-2005 All Rights Reserved
  • 2. The Start: Routing Process at a Router
    • Destination address (DA) based forwarding
    • Longest prefix matching
    • Routing Table
  • 3. How Routing Works Today
      • How do routers build their routing tables?
      • By exchanging information with each other using routing protocols
    198.100.9.75 198.100.9.75 198.100.9.75 198.100.9.75 198.100.9.75 198.168.7.4 198.168.7.3 198.168.7.1 198.168.7.2 198.168.7.5 198.168.7.6 198.100.x.x 198.100.9.1 128.72.x.x 128.72.55.4 128.84.x.x 128.84.73.1 2 3 4 5 6 1 198.100.9.75 Routing table (RT) at 198.168.7.6 Longest prefix match gives next hop router as 198.100.9.1 and outgoing interface as 4. DA = 198.100.9.75 Packet generated
  • 4. How it Would be with Labels
      • How do routers learn the labels?
      • By interpreting routing information and through signaling (as we will learn later)
    DA = 198.100.9.75 Packet generated Exact matching label swapping gives outgoing label as and outgoing interface as 4. Label Forwarding Table at 198.168.7.6 198.168.7.4 198.168.7.3 198.168.7.1 198.168.7.2 198.168.7.5 198.168.7.6 198.100.x.x 198.100.9.1 128.72.x.x 128.72.55.4 128.84.x.x 128.84.73.1 2 3 4 5 6 1 198.100.9.75 Attach label
  • 5. Shortest-Path Routing: Little Flexibility
      • Shortest path converges traffic on a few network links
      • Significant increase in congestion
      • Unbalanced resource utilization
    198.168.7.4 198.168.7.1 198.168.7.2 198.168.7.5 198.168.7.6 198.100.x.x 198.100.9.1 128.72.x.x 128.72.55.4 128.84.x.x 128.84.73.1 3 4 5 6 1 198.100.9.75 198.101.84.21 R1 R2 R3 R4 Routing table (RT) at 198.168.7.6
  • 6. Labels De-couple Routing and Forwarding: Much more Flexibility
      • Labels enable:
        • Differentiation based on criteria other than shortest path
        • Permit policy routing
    R3 R2 R1 R4 198.168.7.4 198.168.7.1 198.168.7.2 198.168.7.5 198.168.7.6 198.100.x.x 198.100.9.1 128.72.x.x 128.72.55.4 128.84.x.x 128.84.73.1 3 4 5 6 1 198.100.9.75 198.101.84.21 Label Forwarding Table at 198.168.7.6
  • 7. Basic Concept of MPLS
      • Routing fills routing table
      • Signaling fills label forwarding table
    R1 R2 R3 R4 128.89.10.x 1 179.69.x.x 2 1 128.89.10.12 179.69.42.3 198.168.7.6 Advertises binding <5, 128.89.10.x> Advertises binding <7, 179.69.x.x> 128.89.10.x 5 1 179.69.x.x 7 2 Advertises bindings <3, 128.89.10.x> <4, 179.69.x.x> 128.89.10.x 3 1 179.69.x.x 4 1 3 4 X X Routing Table Label Table
  • 8. Basic Concept of MPLS
    • R3
    5 3 R2 R1 R3 R4 128.89.10.x 1 179.69.x.x 2 1 128.89.10.12 179.69.42.3 198.168.7.6 128.89.10.x 5 1 179.69.x.x 7 2 128.89.10.x 3 1 179.69.x.x 4 1 3 4 X X 3 5 Packet arrives DA=128.89.10.25 3 Push Label 5 Pop label Forward packet 5 Swap Label
  • 9. A Word on Network Layer Routing Control Plane Forwarding /Data Plane
    • Control Component
    • Responsible for construction and maintenance
    • of forwarding table. Consists of:
    • Routing protocols for exchange of routing info.
    • Algorithms to convert this into forwarding table
    • Forwarding/data Component
    • Algos. used to make forwarding decision on packet
    • The algorithms define:
    • Information from packet used to find an entry in the forwarding table
    • Exact procedures used to find that entry
    • For unicast routing …
    • Information = Network layer (IP) address
    • Procedure = Longest prefix matching
  • 10. So What about MPLS Control and Forwarding?
    • Superset of conventional router control
      • Distribute routing info. via network layer routing (OSPF, BGP, etc.)
      • Algos. to convert routing info. into forwarding table for fwding component
        • Create binding from FEC (derived from routing info.) --> label
        • Assign and distribute labels to peer LSRs via signaling
    • Uses a label switching forwarding table (or LIB), looking as:
    • Forwarding algorithm = label swapping, independent of control component (implementable in optimized hardware or software)
    Control Component Forwarding Component First Subentry Second Subentry (for multicast or load balancing ) Incoming Label Map Next hop label forwarding entry (NHFLE) Outgoing label Outgoing inf. Next hop address Outgoing label Outgoing inf. Next hop address Incoming Label
  • 11. What does a label represent? The issue of label granularity
    • Packets treated identically by participating routers form
      • Forwarding Equivalence Class (FEC
      • Assigned the same label
    • Membership of a FEC must be determinable from
      • IP header
      • Info. that ingress router has about the packet
    • Entities grouped into a FEC are flexible, and could involve
      • A connection between two IP ports on two hosts
      • All traffic between two IP hosts
      • All traffic headed for a particular network with same TOS bits
      • All destination networks with a certain prefix
      • All traffic headed to a particular router (e.g. an egress)
      • A manually configured connection … and many others
  • 12. Let’s Recap: Elements of MPLS
    • Label Forwarding
      • Use data link addressing, e.g. ATM VPI/VCI, FR DLCI
      • Put “shim” header between data link and IP header
    • Label Creation and Binding
    • Label Assignment and Distribution
      • Ride piggyback on routing protocols, where possible (BGP)
      • Use separate label distribution protocol – RSVP, LDP/CR-LDP
        • Reliability: TCP or separate ACK/NACK
    Data Plane Control Plane EXP/ 1 bit
  • 13. Benefits over Conventional Routing
    • MPLS forwarding possible by:
      • Switches incapable of analyzing network layer headers
      • Unable to do so at adequate speeds
    • Ingress can use any info. about packet to assign to FEC/LSP
      • Conventional forwarding only considers info. in the packet
    • Forwarding decisions can depend on ingress router
      • Conventional routing, identity of ingress router does not travel with packet
    • Packet  FEC assignment can use complex decision process
      • No impact on forwarding of labeled packets!
    • Explicit routing  packet need not carry encoding of entire route
      • Unlike “source routing” in conventional IP forwarding
  • 14. MPLS Header over POS or IEEE 802.3
  • 15. MPLS Header over ATM
  • 16. Label Assignment and Distribution (Control Component) Direction from which labels flow Refers to whether LSR distributes labels on demand or voluntarily Whether LSR waits to hear from its upstream/downstream nbrs. before responding to a request for label(s) Label Retention : Liberal or Conservative Whether LSR keeps labels from a neighbor who is not currently the next hop for a FEC Labels Data Labels Data
  • 17. Example Label Assignment and Distribution Modes Edge LSR Downstream-on-demand with Independent Control Edge LSR Edge LSR Downstream-on-demand with Ordered Control 4 3 3’ Edge LSR 1 Requests 2 2’ Assignments 2 3 5 6 1 Requests 4 Assignments
  • 18. Comparison of ATM Switch, IP Router, LSR, and Optical X-connect
  • 19. More on the MPLS Control Plane: Hop-by-hop Routed LSPs
    • LSPs whose routes are determined by IP routing protocols
      • Shortest path, based on destination IP address of packet
      • Effectively creates labels for each route in forwarding table
    • Label distribution for hop-by-hop routed LSPs
      • LDP (Label Distribution Protocol)
        • Defined by IETF MPLS Working Group
        • LDP messages:
          • Notification, Hello, Initialization, KeepAlive, Address, Address Withdraw, Label Mapping, Label Request, Label Withdraw, Label Release
        • Peer discovery msgs. over UDP, rest over TCP for reliability
      • Piggyback on existing IP routing protocols
        • Example: Add label information to BGP
        • Not all IP interfaces may be enabled for dynamic routing protocols
  • 20. Hop-by-hop Routed LSP Setup using LDP Edge LSR Edge LSR LSR1 learns new IP network prefix 1.1.1.0/24 via dynamic IP routing
    • Each LSR forwards Label Req. along hop-by-hop routed path to 1.1.1.0/24
      • Path established via a dynamic IP routing protocol
    • When next hop to 1.1.1.0/24 changes in LSR2 (e.g. due to topology or link metric change)
      • LSR2 releases original LSP
      • Starts setting up new LSP from that point on
    • Several other options available
    1.1.1.0/24. Label Req. Label Req. Label Req. Label Mapping. Label Mapping. Label Mapping.
  • 21. ER-LSPs: Explicitly Routed LSPs
    • Routes determined by operators or n/w management apps
      • Based on specific TE policy, QoS, or VPN membership
      • Significantly more efficient than conventional IP source routing
    • Label distribution for ER-LSPs
      • Extended RSVP (significantly different from original RSVP)
        • Associates labels with RSVP flows, supports aggregate flows
        • Control messages run on raw IP transport, requiring refreshes
      • CR - LDP (Constraint-based Routed LDP)
        • Now mostly of historical value
  • 22. Strict ER-LSP Setup using CR-LDP Edge LSR Edge LSR
    • Traffic parameter TLV contains:
      • Frequency, weight
      • Peak data rate, Peak burst rate
      • Committed data rate, committed burst rate, excess burst size
    • Frequency specifies granularity at which CDR is made available
    • Weight determines excess bandwidth possible above CDR
    1.1.1.2 2.2.2.2 3.3.3.2 Label Req. <1.1.1.2, 2.2.2.2, 3.3.3.2> Label Req. <2.2.2.2, 3.3.3.2> Label Req. <3.3.3.2> Label Mapping Label Mapping Label Mapping Network operator or network management creates ER-LSP request with path and traffic parameters
  • 23. Loose ER-LSP Setup using CR-LDP Edge LSR Edge LSR Network operator or network management creates ER-LSP request with path and traffic parameters 4.4.5.6 4.4.5.7 3.3.3.2 AS100 Label Req. <as100, 3.3.3.2> Label Req. <as100, 3.3.3.2> Label Req. <3.3.3.2> Label Mapping. Label Mapping. Label Mapping.
  • 24. Are there any implications for hardware/ASICS?
    • Label stacking depth (if any) supported depends on hardware processing capabilities and speeds
    • Hardware engine needs ability to examine both EXP bits and LABEL , and map it to any control hardware used for scheduling MPLS packets
    • Ability to push and/or pop labels determines whether switch can be an edge LSR, or only a core LSR (doing only swapping)
    • Number of queues in the switch/router determines per-label queueing or per-class queueing ability
    • Label merging capability determined by ability to re-assemble packets from interleaved cells
  • 25. Advantages of MPLS
    • Original justification was fast, amortized, ATM hardware
      • Eliminated by hardware forwarding engines at multi-gigabit rates
    • Current justifications include:
    • Separates forwarding from control, enabling
      • Evolution of routing functionality independently of forwarding algorithm (which can continue to be label swapping)
      • Use of MPLS to control non-packet technologies like SONET/SDH channels or optical light-paths
    • Facilitates scalable hierarchical routing (via label stacking)
    • Scalability by reducing number of IP peers/neighbors
    • Provides explicit, manageable IP routes : enables policy routing and traffic engineering (can setup routes different than default shortest-path)
  • 26. Reducing number of IP Peers
    • VCs between routers connected over ATM network
    • O(n^2) VCs for full adjacency
    • O(n^4) routing info. exchange overwhelms routers and network
    • Interior switches participate in IP routing protocols  minimizes IP nbrs.
    • Eliminates full VC mesh for adjacency, as LSRs run IP routing protocols
    LSR (runs IP routing) IP routing peers Router ATM Switch IP routing peers ATM Network
  • 27. Hierarchical Label Stacking/Switching
    • Inside transit AS each interior router must keep track of all networks reachable through it
    • With hierarchical labels, an arrangement is possible where only Border Routers need to know what networks might eventually be reached through them
    • All transit traffic can tunneled through interior routers of the AS using LSPs with stacked labels
  • 28. Utility of Hierarchical Label Switching Interior LSRs Border LSRs Swap and Push Pop Swap
  • 29. Explicit Manageable Routes -- Policy Routing, Traffic Engineering
    • Carriers want certain traffic to go over certain routes This type of network engineering:
      • Keeps network loads balanced
      • Enhances network stability and reliability
      • Enables better QoS and performance assurances
        •  Allows carriers to meet SLAs
    • Constraint-based routing + MPLS
      • Allows carriers to bind specific traffic to an LSP
      • Place (or route) LSP over a desired sequence of LSRs
  • 30. Constraint Based Routing
    • A class of routing systems that computes routes through a network subject to a set of constraints and requirements
    • QoS-based Routing
    • Path of flows determined by
      • Knowledge of resource availability in network
      • QoS requirements of flows
    • Policy-based Routing
    • Path/routing decision based on administrative policy
    • Can be on-line or off-line
  • 31. CB Routing System
    • Inputs
      • Flow/path attributes: required b/w, hop count, ...
      • Resource attributes: properties of nodes/links
      • Network topology & state
    • Outputs
      • Computed feasible path
      • Explicit route of the path
  • 32. TE Topology versus Regular Routed Topology
  • 33. Automatic Reroute Using MPLS RSVP-TE
    • Rerouting is done when
      • A better path is available
      • Upon failure along LSP
    • Use SESSION Obj. & SE style
    • Tunnel uniquely identified by
      • Destination IP address
      • Tunnel ID
      • Ingress IP address
    • Tunnel ingress made to appear as 2 different senders to the RSVP session (via LSP ID)
  • 34. So what did we look at? Let’s summarize …
    • Looked at conventional IP routing and its limitations
    • Saw how labels decouple data plane from control plane
    • Examined basics of MPLS
      • Control and forwarding components
      • Label granularity (forwarding equivalence class, FEC)
      • Benefits over conventional routing
    • Label assignment and distribution methods
      • Downstream-on-demand, with ordered or independent control
      • Hop-by-hop routed LSPs, strict- and loosely explicitly-routed LSPs
    • Advantages of MPLS – efficient hierarchical routing, reduces number of IP peers, facilitates explicit routing
    • Use of MPLS for traffic engineering, protection, automatic rerouting
  • 35. References
    • Further reading:
    • To get an idea of the basic operation, purpose, motivation, and applications of MPLS
    • “ Multiprotocol Label Switching Architecture,” RFC 3031
    • http://www. ietf .org/ rfc /rfc3031.txt?number=3031
    • B. Davie and Y. Rekhter, MPLS Technology and Applications , ISBN 1558606564, Morgan Kaufman, May 2000. (Ask around, several people in the company have a copy.)
    • For details on signaling protocols:
    • “ LDP Specification,” RFC 3036. http://www.ietf.org/rfc/rfc3036.txt?number=3036
    • Jamoussi, et al, “Constraint-Based LSP Setup Using LDP,” Internet Draft, Work in Progress, draft-ietf-mpls-cr-ldp-04.txt, July 2000.
    • http://search.ietf.org/internet-drafts/draft-ietf-mpls-cr-ldp-04.txt
  • 36. References
    • “ RSVP-TE Extensions to RSVP for LSP Tunnels,” Internet draft, draft-ietf-mpls-lsp-tunnel-07.txt .
    • http://search.ietf.org/internet-drafts/draft-ietf-mpls-rsvp-lsp-tunnel-07.txt
    • “ MPLS Label Stack Encoding,” RFC 3032.
    • http://www.ietf.org/rfc/rfc3032.txt?number=3032
    • For applications of MPLS to non-packet technologies:
    • D. Awduche et al, “Multi-Protocol Lambda Switching: Combining MPLS Traffic Engineering Control with Optical Cross-Connects,” Internet Draft, Work in Progress, draft-awduche-mpls-te-optical-02.txt, July 2000
    • http://search.ietf.org/internet-drafts/draft-awduche-mpls-te-optical-02.txt
  • 37. References
    • Ashwood-Smith and L. Berger, Eds., “Generalized MPLS: Signaling Functional Description,” Internet Draft, Work in Progress, draft-ietf-mpls-generalized-signaling-01.txt, November 2000. ( do not get bogged down in protocol specific details)
    • http://search.ietf.org/internet-drafts/draft-ietf-mpls-generalized-signaling-00.txt (may not be the most current link, I’ll try and get a more recent pointer)
    • G. Bernstein, E. Mannie, and V. Sharma, “Framework for MPLS-based Control of Optical SDH/SONET Networks,” Internet Draft, Work in Progress, draft-bms-sdhsonet-mpls-control-frmwrk-00.txt, November 2000.
    • http://search.ietf.org/internet-drafts/draft-bms-optical-sdhsonet-mpls-control-frmwrk-00.txt (has some errors, please ask me if you have any questions)
  • 38. References
    • All IETF drafts are available from :
    • http://search.ietf.org/search/brokers/internet-drafts/query.html
    • Search with title words or draft name.
    • All IETF RFCs are available from :
    • http://www.ietf.org/rfc.html
    • Search by RFC number.