MPLS. David Byers. IDA/ADIT/IISLAB David Byers

Similar documents
MultiProtocol Label Switching - MPLS ( RFC 3031 )

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

A Comparison Of MPLS Traffic Engineering Initiatives. Robert Pulley & Peter Christensen

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

Telematics Chapter 7: MPLS

MPLS Multi-Protocol Label Switching

Multi Protocol Label Switching

Table of Contents Chapter 1 MPLS Basics Configuration

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

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

Multi-Protocol Label Switching

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

HP Routing Switch Series

Operation Manual MPLS. Table of Contents

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

Multiprotocol Label Switching (MPLS)

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

Trafffic Engineering 2015/16 1

GMPLS Overview Generalized MPLS

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

The LSP Protection/Restoration Mechanism in GMPLS. Ziying Chen

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

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

HP 5920 & 5900 Switch Series

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

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

Introduction to MPLS APNIC

MPLS VPN. 5 ian 2010

6 MPLS Model User Guide

BrainDumps.4A0-103,230.Questions

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

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

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

Quality of Service II

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

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

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

MPLS/Tag Switching. Background. Chapter Goals CHAPTER

Configuration Guide - MPLS

Advanced Telecommunications

COMP9332 Network Routing & Switching

MPLS. 9 March 2018 AN

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

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

Internet Routing - MPLS. By Richard Harris

Lecture 13. Quality of Service II CM0256

Unit 3: Dynamic Routing

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

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

MPLS etc.. 9 May 2017 AN

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

Core Networks Evolution

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

ENTERPRISE MPLS. Kireeti Kompella

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

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

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

internet technologies and standards

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

Introduction to Multi-Protocol Label

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

RFC 3945 GMPLS Architecture October Table of Contents

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

Table of Contents. Cisco MPLS FAQ For Beginners

Multiprotocol Label Switching (MPLS)

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

Multiprotocol Label Switching Overview

Practice exam questions for the Nokia NRS II Composite Exam

PERFORMANCE EVALUATION OF MPLS/GMPLS CONTROL PLANE SIGNALING PROTOCOLS

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

Implementing MPLS Label Distribution Protocol

MPLS (Multi-Protocol Label Switching)

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

Multiprotocol Label Switching (MPLS) on Cisco Routers

MPLS TRAFFIC ENGINEERING: A CHOICE OF SIGNALING PROTOCOLS

AToM (Any Transport over MPLS)

MPLS & Frame Relay Alliance. MPLS PVC User to Network Interface. Implementation Agreement MPLS & FR 2.0.1

Internet Engineering Task Force (IETF)

CONTENTS. Introduction

Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

Presentation Outline. Evolution of QoS Architectures. Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

MPLS Label Distribution Protocol (LDP)

Test 1: NET3012 IP Architectures & Solutions Winter 2016

Multi-Protocol Lambda Switching for Packet, Lambda, and Fiber Network

Introduction to Segment Routing

Multiprotocol Label Switching (MPLS)

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm

MULTIPROTOCOL LABEL SWITCHING: REIVEW KAISER ALI BHAT

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

BW Protection. 2002, Cisco Systems, Inc. All rights reserved.

Connection Oriented Networking MPLS and ATM

Segment Routing MPLS OAM Support

Configuring MPLS L3VPN

Multiprotocol Label Switching

Implementing MPLS Forwarding

Segment Routing MPLS OAM Support

H3C S7500E-XS Switch Series

CCIE Service Provider Sample Lab. Part 2 of 7

Transcription:

MPLS David Byers davby@ida.liu.se IDA/ADIT/IISLAB 1

Why MPLS More efficient backbone routing Support for end-to-end QoS Improved link utilization Rapid recovery from failures Improved route control MPLS is about control and scalability. One of the reasons for introducing MPLS is that IP routing on backbone networks was getting difficult. The full internet routing table is pretty big, and forwarding packets at line speed with such a large routing table requires a lot from the routers. At the time MPLS was first thought up, there was a real danger that routers would be unable to keep up. Label switching is considerable less expensive than IP routing. The core switching functions are easy to implement in hardware, unlike full IP routing. This bit about the core reflects one of the most important design principle in any label switched network. The idea is to push as much expensive processing to the edges of the network, and make the core fast and simple. This does have some implications, the most important of which is that it s more or less necessary for the entire MPLS network to be under single administrative control. MPLS does other things too. MPLS can support end-to-end quality of service. This requires additional support in the control plane, but the MPLS data plane can deal with QoS flows. MPLS can also give improved link utilization. In normal IP routing, all packets tend to go down the same path. Some routers do support multipath IP routing, but label switching is better at it. Additionally, some of the problems associated with multipath routing and per-packet load balancing are not present to the same extent in MPLS. MPLS supports rapid recovery from failures. This is also present in some routing protocols, such as EIGRP, but MPLS in certain modes is faster still. It can maintain a set of backup paths that can be activated very rapidly. Finally, label switching can improve route control. With IP routing we re pretty much stuck with hop-by-hop routing. In MPLS, it s easier to combine hop-by-hop routing, source routing, loose source routing, and other strategies. It s also possible to apply different strategies to different traffic. There s one more reason for MPLS. Existing ATM infrastructure can be retrofitted to MPLS, and MPLS can use the ATM switching plane. This reduces the investment associated with moving to switched IP networks. Label switching is nothing new. The first label-switched protocol I know of was X.25, which was designed for public switched data networks. It is still in use in many places in europe. Later, Frame Relay was introduced, which is also in widespread use in legacy networks. ATM followed. There have also been several attempts to apply label switching to IP neworks. Ipsilon developed IP switching, and Cisco tag switching. MPLS is heavily influenced by tag switching, but is intended as an interoperable standard. 2

MPLS Operation Label Label Label Label Label Label So, let s look at what MPLS does. It s a lot like ATM, X.25 or Frame Relay. One difference is that underlying the MPLS network there s normally a functioning IP network that uses regular hop-by-hop routing. At the ingress of an MPLS network there is a device called a label edge router, LER, which adds a label to each packet. The label represents, among other things, the destination of the packet. The label is used throughout the MPLS network to forward the packet. At the other edge of the network, another LER strips the label from the packet, and delivers it using normal IP routing to the destination. The devices inside the MPLS network are called label switch routers, LSR, and the path taken by a packet is called a Label Switched Path, LSP. So basically MPLS LERs att labels to packets which are then switched by LSRs along LSPs. An MPLS label is a number, but that number could be mapped to other things. For example, if the underlying fabric is an ATM network, MPLS labels would be mapped to VPI/VCI numbers, and if the underlying fabric were a Frame Relay network, the MPLS label would be mapped to the DLCI field. The label could even be mapped to a physical wavelength or frequency on a FDM link. 3

MPLS Operation 44 13 122 18 47 44 Labels, unlike IP addresses, have only local significance on a link. Label 44 on one link is not necessarily the same set of packets as label 44 on another link. This means that the label on a packet changes as the packet traverses the network, just like VPI/VCI in ATM networks. We ll see that occasionally is is necessary to have the same label from end to end. For example, if we re using GMPLS to provision an optical network, the label is really a frequency, and it is desirable to maintain the same frequency through the entire network. 4

Label Stacks Transit network 44 15 67 44 44 44 MPLS supports stacks of labels. For example, a network provider might want to provide transit service for MPLS traffic. As MPLS packets enter the transit network, a label representing the LSP through the transit network is pushed onto the top of the label stack. The label is popped when the packet leaves the transit network. 5

MPLS Operation Ingress LER Label Edge Router LER Ingress or egress if on LSP Label Switch Router LSR Label Switched Path LSP LER LER Egress LER LER LSP 6

Label Assignment Forwarding Equivalence Class (FEC) Packets to be treated identically w.r.t. forwarding FEC Label mapping Each FEC corresponds to a label Each label corresponds to a LSP Classification performed by the LER So how are labels assigned to packets? Simple. Labels are selected by the LERs. I guess the question is, how do they know what label to select. Every packet belongs to a forwarding equivalence class, FEC. The rule is that all packets within a single FEC are to be treated the same way with respect to forwarding. They go to the same destination (within the MPLS network). They will be processed the same way with respect to things like QoS. Each FEC is assigned a label by the MPLS network through some kind of label distribution mechanism. So the LER first determines which FEC an incoming packet belongs to, then looks the FEC up in a table to find the label that corresponds to that FEC. That s the label to put on the packet. The use of FECs is an important departure from normal IP routing. In IP routing, routing decisions are based only on the destination IP address. Although it is possible to route based on other attributes, there are no mechanisms for distributing such routing information, and it would increase processing load on all routers. In MPLS, any set of attributes can determine the FEC. Since classification only happens at the edge of the network, this still scales. The FEC could be based on the source address, destination address, port numbers, diffserv codepoint, IPv6 flow label or pretty much anything else. 7

MPLS LFIB NHLFE Next Hop Label Forwarding Entry Specifies next, label manipulation ILM Incoming Label Map Map incoming label to NHLFE entry FTN FEC-to-NHLFE Map Map FEC to NHLFE entry The MPLS forwarding information base can be modeled using three components. The NHLFE is the most important. Each entry in the NHLFE specifies a next hop and a set of label operations. A simple label operation could be to replace the topmost label in the label stack with a new label. It could also be to pop the stack, push a new element onto the stack or a number of other things. The NHLFE may also include information about label encoding, L2 encapsulation and so forth. The ILM maps incoming labels to NHLFE entries. The ILM is used to forward labeled packets. The incoming label is found in the ILM, and the indicated NHLFE entry used to forward the packet. The FTN is used to map FECs to NHLFE entries. The FTN is typically used in the ingress LER to assign packets to an LSP, but the FTN could be used by internal LSRs to label packets that have, for whatever reason, been forwarded using normal IP routing. I don t know if this is common practise or not; there would seem to be some problems with this. 8

MPLS Architecture e.g OSPF IP Control Plane RIB e.g. LDP LIB MPLS Control Plane LFIB ILM FTN NHLFE Data MPLS Data Plane A typical LSR for MPLS and IP looks sort of like this. The IP control plane implements the normal routing protocols and generates normal routing tables. The routing tables are fed into the MPLS control plane, which assigns labels to FECs. The MPLS control plane manages the LIB, Label Information Base, and the LFIB, Label Forwarding Information Base. The LIB plays the same role as the RIB in IPv4 routing. It contains information that isn t needed to forward packets, but that is necessary when building the LFIB or when recovering from failures. The LFIB is used by the MPLS data plane to forward packets. 9

Label Distribution Downstream router picks label Packet flow 47 8.0.7.1 Upstream LSR Downstream LSR 47 4.1.1.2 Although labels only have local significance, they matter to two LSRs: the switches on either end of a link. There is a bit of important MPLS terminology here. In a link on an LSP, the upstream router is the one closest to the beginning of the LSP, and the downstream LSR is the one closest to the destination. In order to forward a packet, the upstream and downstream routers need to agree on the meaning of all labels. This process is called label distribution. Since the process of label distribution is entirely separated from the process of switching packets, MPLS can support a number of different label distribution mechanisms, even within the same network. The general principle is that the downstream router picks the label for a FEC on a link. This is important when MPLS is operating on a multi-access link. If the upstream routers were allowed to pick the label, they might pick the same one for different FECs, and then the downstream router would think they belonged to the same FEC. With the constraint that the downstream router picks the label, there are a few different ways to manage do it. 10

Label Distribution Downstream unsolicited Downstream LSR announces LSP whenever Label, FEC Downstream on demand Upstream LSR requests label 1. Request label 2. Label One mode of label distribution is when the downstream router simply announces a label. The announcement is typically triggered by some event, such as learning about a new prefix from a routing protocol. The other mode is downstream on demand. In this mode, the upstream router requests a label from the downstream label. Downstream on demand is similar to how ATM would set up an SVC. Downstream unsolicited is the mode commonly used in MPLS networks that do not employ explicit (source) end-to-end routing. Most networks based on LDP will use this mode. Downstream on demand will be used in networks that do employ end-toend explicit routing. For example, networks that employ RSVP-TE will use downstream on demand label distribution. 11

Packet format Simple MPLS shim header L2 Header MPLS L3 Header Other layers headers and data Label Exp S F Hop count Stacked MPLS labels L2 Header MPLS MPLS MPLS L3 Header Other layers headers and data Depending on how MPLS is carried, it will use different packet formats. If there is room in the lower-level protocol, MPLS will carry its information there. For other protocols, MPLS defines a 32-bit shim header which is placed between the L2 and L3 header. The shim header contains a 20 bit label followed by three experimental bits, a flag and a hop count. Since MPLS routers don t process IP headers, the TTL of IP datagrams that enter the network is copied to the hop count field of the MPLS header. At the egress LSR, the hop count is copied from the MPLS header to the IPv4 header. The hop count works the same way as the TTL of IPv4 or the hop limit of IPv6. The flag is set on the bottom MPLS header of a label stack, so LSRs can recognize the bottom header. MPLS defines a few reserved labels. A zero label tells the LSR to pop the stack and forward the packet as a regular IPv4 datagram. Two is the same for IPv6. One is a router alert label, which tells the receiving LSR that the packet may need extra processing. The router alert message is retained on the packet as it is forwarded based on the next label in the stack. Adding MPLS headers may result in packets that won t fit on the links in the network. Should this occur, the network may pop all labels and forward the packet using normal IP processing. Naturally this is undesirable. It may be better to signal an error in order to force the sender to decrease its packet size. 12

Label Distribution Example 10.0.1.0/24 R1 R2 R4 R3 Let s look at an example of how label distribution could work. In this case we have a four-router network using OSPF as the IP routing protocol. All routers learn of 10.0.1.0/24 through OSPF. The arrows in the picture show how packets will be routed using OSPF. When R1 learns of 10.0.1.0/24 it selects a label for it, 44, which is announced to R2 and R4. The FEC is simply the same as the IP prefix. When R2 learns of 10.0.1.0/24 through OSPF it also announces a label, 21, to R1 and R3. Note that It announces the label to all neighbors, not just the ones that have R2 as the next hop towards the target. R2 also adds an entry to its LFIB saying that incoming packets with label 22 are to be sent out on interface 1 with label 44. This represents the next hop, learned from OSPF. The process is similar for R3 and R4. Note that the LSRs are permitted to remember all labels they hear. What this means is that if, for example, R3 loses contact with R2, it can instantly switch over to R3 instead. We re ignoring the possibility of creating routing loops here that would also have to be handled. 13

Route Selection Hop-by-hop routing Used in IP networks Typical of MPLS using independent DUN End-to-end QoS hard to guarantee Explicit (source) routing Used in ATM with PNNI Supported by MPLS during LSP setup Better network utilization How to select path? MPLS supports the two main methods for route selection: hop-by-hop routing and explicit (source) routing. In MPLS, source routing is supported only at LSP setup, sort of like in ATM using PNNI. Route selection is not carried with each packet it is implied by the LSP. Explicit routing is powerful. If the entity doing route selection has or can acquire enough information about the network, it is possible to support end-to-end quality of service. For example, MPLS using OSPF with traffic engineering extensions and RSVP could support so-called integrated services. This is nearly impossible in hopby-hop routing. 14

Label Distribution Protocol Downstream on demand Downstream unsolicited Ordered control Independent control Based on UDP and TCP Process Discover neighbors Establish sessions Exchange labels Issues Label retention Loop detection Traffic engineering 15

LDP Messages U Message type Message length Message ID Mandatory paramters Optional parameters Multiple messages per PDU Parameters use TLV encoding LDP runs over TCP and uses protocol data units that can contain multiple LDP messages. Each LDP message is typed and contains mandatory and optional parameters. Parameters are encoded using type-length-value encoding, which means that new parameters can be added in the future (this has happened) and that LSRs can deal with messages containing parameters they don t recognize. 16

LDP Neighbor Discovery Multicast Hello Message Multicast UDP packet Targeted Hello Message Unicast UDP packet Hello Hello LDP routers use hello messages, much like OSPF (and many other protocols) to discover neighbors. Hello messages are normally multicase UDP packets (which implies that the network needs to function as a normal IP network, before MPLS will work). Since MPLS uses normal UDP (and later TCP) for its operations, neighbors don t need to be physically adjacent. It is perfectly legal to have neighbors separated by a wide section of network (e.g. a transit network). If two LSRs are not adjacent in the network, the hello message may need to be unicast. LDP does not specify how non-adjacent routers find out each other s addresses. Hello messages are used to detect neighbor unreachability. If no hello message is received from a neighbor within the hold time for that neighbor specified in the previous hello message then the neighbor is assumed to be unreachable. 17

LDP Session Establishment Initialize Reject Initialize 0 Message type Message length Message identifier U F Session params Parameter length Protocol version Keep alive timer AD Reserved PV limit Maximum PDU length Peer s router ID Peer s label space Accept Once hello messages have been exchanged, the LSR with the highest IP address initiates a TCP session. The initiating LSR is active; the other is passive. The TCP session is used to transmit all LDP messages. When a session is initalized, the LSRs negotiate certain parameters for the session. These include whether the session will use downstream on demand or downstream unsolicited advertisements and how loop detection is performed (more later). If the passive LSR rejects the proposed parameters, then the active LSR must select new parameters and try again. To avoid an infinite loop of initializations and rejections, the active router uses exponential backoff in its initialization attempts. 18

LDP Label Exchange Advertisement Discipline Control Mode Independent Control Ordered Control Downstream unsolicited LSR advertises labels entirely at will No coordination with upstream LSRs LSR advertises label only if next hop in LSP exists Egress router initiates LSP creation Downstream on demand LSR advertises label on request No coordination with upstream LSRs LSR advertises label only if next hop in LSP exists Label request forwarded through entire LSP We talked about downstream on demand and downstream unsolicited label distribution before. These are so-called advertisement disciplines in LDP, and which one is in use is agreed on during session initialization. In addition, LDP supports to control modes: independent and ordered control. In ordered control, there is coordination between LSRs. In DOU mode, LSRs still announce labels without a request, but will only do so if the next hop in the LSP is already set up. This means that the LSP can only be initiated from the egress router since it is the last hop on all LSPs. In DOD mode, it means that the label request has to be forwarded all the way to the egress router, then the LSP is set up from there. In independent control, each LSP acts independently. Combined with DOU mode and IP routing, an LSR will typically announce a label every time it learns a new destination prefix. 19

Downstream on Demand Independent control Ordered control 1 Request 3 Request 1 Request 2 Request 2 Label 4 Label 4 Label 3 Label Click to display arrows. Let s look at the difference between independent and ordered control in downstream on demand mode. 20

Label Retention Conservative Only keep next hop label DOD requests labels only from next hop Liberal Keep all advertised labels Faster rerouting Implied by DOD Implied by DUN LDP routers can choose between two strategies for remembering labels: conservative and liberal. In conservative label retention, the LSR only retains labels that correspond to the next hop in IP routing. When IP routing changes, LSRs will discard LSPs that no longer correspond to IP routing. Conservative label retention also implies that labels will only be requested from the next hop along the IP routing path. An alternative is liberal label retention, in which LSRs may retain labels announced by all neighbors. In this mode, labels may also be requested from any neighbor. A nice feature of liberal label retention is that an LSR can easily maintain alternative routes, so when a failure occurs, the LSR can switch to a different LSP for the same FEC almost instantly. Conservative label retention is more or less implied by downstream on demand advertising, since otherwise the LSR would have to request labels from all peers not very efficient. Similarly, downstream unsolicited advertisement more or less implies liberal retention since otherwise there would be a lot of traffic for labels that LSRs just discard. 21

MPLS Loops Loop Mitigation Loops may be set up, but the effects are minimized Loop Detection Loops may be set up, but are detected and broken Loop Prevention Loops are never set up MPLS/LDP Mitigation: TTL field Detection: LDP path vectors Detection: LDP hop count Prevention: Explicit routing Note Loops tend to form when routing changes There are three categories of measures taken in routing protocols to deal with loops: mitigation, detection and prevention. Loop mitigation is about minimizing the effects of loops. The TTL field in IP and in MPLS are examples of loop mitigation. The loop is never broken, but packets are eventually dropped. Another example of loop mitigation are routing protocols that may form temporary loops, but that converge towards loop-freeness. RIP would be an example of a routing protocol that employs loop mitigation. In loop detection, loops may be set up, but they are detected and broken. LDP supports loop detection through two different mechanisms: path vectors and hop counts. In the case of LDP, if a loop is detected, a label association will be broken to break the loop, and packets may have to be forwarded using IP routing. Loop prevention means that loops will never be formed at all. EIGRP is an example of a protocol that uses loop prevention. In MPLS, loop prevention is really only supported when explicit routing is in use. Since the entity setting up the route knows the entire route, it can ensure that it does not loop. A point worth noting in general is that loops tend to form when routing changes. Therefore, LDP can send out a packet for loop detection when routing changes. If the packet is returned to the originating LSR, the some label association needs to be torn down to break the loop. 22

LDP Path Vectors PV: A B C D D A B C PV: A B C E PV: A PV: A B PV: A B C As LDP packets are sent through the network to set up an LSP (either label mapping messages from the egress LSR or label request messages from the ingress LSR), the path taken is recorded in the path vector TLV of the message. CLICK THROUGH ANIMATION It is possible to configure a maximum length for the path vector. If it reaches the maximum length, it is treated as if a loop were detected. 23

LDP Hop Count HC: 7 HC: 4 D A B C HC: 3 HC: 6 E HC: 1 HC: 2 HC: 5 HC: 3 HC: 8 When using hop counts, LDP messages include a count of how many hops have been taken so far. Each time a new LDP message is sent as part of the same process (e.g. label request), the hop count is increased. If the hop count reaches a maximum configured value, a loop is assumed. CLICK THROUGH ANIMATION 24

Constraint-Based Routing Constraint Based Routing The path selected between two nodes must satisfy a set of constraints Generalization of QoS Example: minimum bandwidth, maximum delay 25

CR-LDP Extensions to LDP Explicit routing (strict/loose) Support abstract nodes Supports route pinning Traffic description Resource preemption 0 0x041 (Label Request) Length Message ID FEC TLV LSPID TLV ER TLV Traffic parameters TLV Pinning TLV Resource Class TLV Preemption TLV CR-LDP is a set of extensions to LDP for supporting constraint-based routing in MPLS networks. CR- LDP allows the ingress LSE to choose the entire path of the LSP, not just the next hop. What CR- LDP doesn t do is say how the ingress LSE knows which path to choose. That needs to be solved using other mechanisms. The main features added by CR-LDP are explicit routing with support for groups of nodes in the path and support for both loose and strict explicit routing; support for route pinning, which is relevant when loose ER och node groups are used; traffic description, which is the whole point of CR-LDP and resource preemption, which allows a new CR-LSP to preemt an existing CR-LSP (priority-based). Note that CR-LDP always implies ordered control. If CR-LDP TLVs are present in an LDP message, the receiving router assumes ordered control for the LSP, regardless of what it is configured to use normally. This allows CR-LSPs to be set up over MPLS networks that use independent control by default. The label request message is one of the important messages in CR-LDP. A label request contains a FEC TLV which describes the forwarding equivalence class and an LSPID TLV, which gives the CR- LSP a unique identifier. The LSPID can be used during failure recovery, network management and as a hop in explicit routing. A number of optional TLVs follow. The ER TLV specifies explicit routing. The Traffic TLV contains a traffic description. The pinning TLV controls route pinning. The resource class TLV can be used to specify what links in the MPLS network are acceptable, and the preemption TLV manages preemption of existing LSPs. 26

Explicit Routing ER TLV and ER-Hop TLV Strict or loose routing Next hop types IPv4 prefix IPv6 prefix AS number LSPID 0 0 0x0800 (ER) Length ER-Hop 1 ER-Hop 2 ER-Hop 3 ER-Hop n L Hop type Length Prefix/LSPID/AS Number Explicit routing is supported by allowing the ingress LER to specify an explicit route TLV. CR-LDP uses the concept of abstract nodes to to explicit routing. Rather than specify a precise node in the MPLS network as a hop, it is possible to specify a group of nodes through IPv4 prefix, IPv6 prefix, AS number or LSPID. This makes it possible to specify an ER without complete knowledge of the network topology. Hops are classified as loose or strict. The path between a strict node and its prior node must contain only nodes from the strict node and the prior node. The path between a loose node and its prior node may contain nodes that do not belong to the prior node or the loose node. 27

ER Example AS 2 AS 3 AS 10 Example 1: the ER TLV specifies AS2 (strict), AS3 (strict) Example 2: the ER TLV specifies AS2 (strict), AS3 (loose) Note that each AS is an abstract node. We haven t specified individual routers. 28

Traffic Parameters Peak Rate Peak Data Rate Peak Burst Size Committed Rate Committed Data Rate Committed Burst Size 0 0 0x0810 (TP) Length Flags Frequency Reserved Weight Peak Data Rate Peak Burst Size Committed Data Rate Committed Burst Size Excess burst size Excess Burst Size Traffic parameters in CR-LDP contain a number of fields. The flags field identifies which of the parameters are negotiable. If the ingress LER is willing to accept a smaller than requested value for any of the parameters, it is considered negotiable, and marked as such. The frequency parameter indicates over what period of time averages are calculated. The weight parameter indicates how much of any available excess resources are allocated to this LSP. The traffic itself is characterized by three parameters: the peak rate and committed rate. Traffic should never be sent into the LSP at a rate higher than the peak rate, and the committed rate is the rate which is guaranteed to the LSP. The excess burst size is used together with the committed rate to measure how much an LSP exceeds its committed rate, and may be used for traffic shaping. The peak rate is determined by the PDR and PBS. The committed rate by the CDR and CBS. Both are token bucket models, much like the corresponding parameters in ATM. We ll hear more on the subject in the next lecture. 29

Other CR-LDP Features Route Pinning Pins loose LSP segments Resource Classes Allows network resources to be classified Restricts LSP to specific class of resources Route pinning, when in effect, prevents loose parts of an CR-LSP from being rerouted. Without route pinning, changes to IP routing could cause loose secrtions of the LSP to be rerouted. This may be undesirable as it introduces variance into the preformance of the LSP. When route pinning is in effect, though, the LSP is more sensitive to failures. CR-LDP allows network administrators to classify network resources (i.e. LSRs and links). Classes are sometimes called colors. During LSP setup, it is possible to restrict the LSP to specific resource classes. 30

RSVP-TE Resource Reservation Protocol Traffic Engineering Provide end-to-end QoS in MPLS networks Extension of regular RSVP protocol for MPLS RSVP-TE is an extension of the RSVP protocol for resource reservation in IP networks that contains extensions for traffic engineering in MPLS networks. It is an alternative to CR-LDP, and supports many of the same features. 31

MPLS: RSVP-TE Sender Target RESERVE PATH Operation: RSVP sends PATH message from sender to recipient. This lets the network record the routers passed along the way. Recipient sends reservation back along the path, reserving resources for the flow. RSVP specifies a number of rules regarding this. For example, in multicast scenarios it is possible to merge reservations from several destinations, and it is possible to under-provision flows. 32

RSVP-TE Soft state Reservations not indefinite Path message refreshes path Detect changes in path Recover from failures Reservation messages refresh reservation Reservations not re-reserved are canceled 33

MPLS: RSVP vs CR-LDP Comparison Vendors State QoS Type Recovery Time Chat overhead Transported on Advantages Disadvantages CR-LDP Nortel Hard state ATM A little slower Low LDP over TCP More scalable Recovery time RSVP-TE Cisco, Juniper, Foundry Soft state IntServ Faster High RSVP on IP Recovery time Scalability 34

OSPF-TE Extension to OSPF LSA Recall: LSAs flooded through OSPF area TE LSA has (nested) TLV payload RFC does not say how to use information in LSA! Example link TLVs Traffic Engineering Metric Maximum bandwidth Max reservable bandwidth Unreserved bandwidth Administrative group OSPF-TE is a set of extensions to OSPF to support traffic engineering. They mimic the traffic engineering extensions to IS-IS. The one change that has been made is the introduction of a new type of LSA (link state announcement). Recall that LSAs are flooded through the OSPF area, so all routers in the area receive LSAs for all links. The LSA has been given a type-length-value payload. There are two top-level TLVs: router TLVs for describing routers and link TLVs for describing links. Link TLVs carry information used in TE. Some of the TLVs defined are: traffic engineering metric, an administrative metric assigned to the link; maximum bandwidth, the maximum bandwidth of the link; maximum reservable bandwidth, the maximum bandwidth that may be reserved (can be more than maximum bandwidth in case oversubscription is permitted); unreserved bandwidth, the amount of reservable bandwidth still available; and administrative group, a group identifier (which would probably map to resource class in CR-LDP). 35

BGP Label Distribution BGP Peers Label mapping in BGP update message No need for LDP UPDATE 10.10.10.0/24 AS-PATH X:Y:Z MPLS LABEL: 44 Route Reflectors Group of BGP peers can distribute labels using BGP No need for LDP Better scalability There are extensions defined for BGP, the border gateway protocol, for MPLS label distribution. If a MPLS network uses BGP to exchange routing information, MPLS labels can be attached to IP prefixes. In the case of two BGP peers, the information is exchanged using normal BGP update messages. Since basic BGP requires a full mesh of logical connections, large BGP networks may use route reflectors. In this case, the route reflector is a mediator with all BGP peers, so each BGP peer needs a single session, with the route reflector. In this configuration, BGP can be used for label distribution within an entire MPLS network. 36

MPLS GMPLS MPLS Assumption LSR can detect packet or cell boundaries LSR can process headers GMPLS No MPLS assumption Three planes: Forwarding (data) plane Signaling plane Routing plane MPLS has one basic assumption that limits its applicability: it assumes that LSRs are able to deliniate packets or cells and process headers. GMPLS is a generalization of MPLS that does away with this assumption, which makes it possible to use GMPLS for network provisioning. MPLS can be used to provision data streams through a network, but the network has to process each packet. GMPLS operates at a higher level: it can provision the network itself, creating a data path without concern for how it is used. In GMPLS switching can be based on attributes such as wavelengths, ports and timeslots. 37

GMPLS Interface Classes Packet-Switch Capable Layer-2 Switch Capable TDM Capable Lambda Switch Capable Fiber Switch Capable GMPLS classifies interfaces into a number of classes. Packet-Switch Capable interfaces are like most conventional MPLS interfaces. They can detect packet boundaries and forward packets based on header information. L2 switch capable interfaces can detect L2 frame boundaries and forward frames based on L2 header information. Examples include ATM interfaces and Ethernet bridges. Time Division Multiplex Capable interfaces switch data based on the repeating timeslot the data belongs to. Examples include PDH interfaces (e.g. switching DS0s contained within a DS1) and SONET/SDH interfaces. Certain radio interfaces (e.g. GSM) are also TDM interfaces. Lambda switch capable interfaces should probably be called FDM capable interfaces. They can switch data based on which frequency it was received at. Finally, fiber switch capbable interfaces can switch data based on the physical port it was received on. This should probably be properly called space division multiplexing switch capable. Circuits can be established only through interfaces of the same type. Circuits are called LSPs. So a conventional MPLS LSP would be a GMPLS LSP involving PSC interfaces. 38

GMPLS Hierarchies PSC Links TDM Links LSC Links FSC Links λ 1 Fiber λ 2 GMPLS supports LSP hierarchies (label stacks in MPLS), but in GMPLS each level can be a different type of interface. This means that is is possible to provision PSC (regular MPLS) links within TDM links, also provisioned with GMPLS, inside LSC links (wavelengths) inside FSC links (individual, physical, fibers). 39

GMPLS Hierarchy LSP λ LSP TDM LSP TDM LSP PCS LSP PCS 40

GMPLS vs MPLS Extended label encoding Wavelength, port, timeslot Start/end at similar interfaces PSC PSC etc Suggest/limit label assignments E.g. provisioning λ with no wavelength conversion Bidirectional LSPs This is an overview of differences between MPLS and GMPLS. GMPLS can encode labels as timeslots, frequencys, physical ports. This generalizes the concept of a label and is sort of the whole reason for GMPLS. In MPLS a LSP has to start and end at a router. In GMPLS the restriction is that the LSP has to start and end at the same type of interface (PSC, TDM, LSC etc). The payload types are extended to allow payloads such as SONET/SDH, Ethernet etc. GMPLS allows an upstream node to suggest and even limit the selection of labels by a downstream node during LSP setup. This can speed up setup, and if labels represent wavelengths, may be necessary if wavelength conversion is not available. GMPLS suppors establishment of bidirectional LSPs. GMPLS includes a number of features not found in MPLS, including rapid fault management, bundling of LSPs, all of which contribute to increased scalability. The GMPLS RFC is quite readable. 41

Summary MPLS Current value in TE Uses IP network End-to-end QoS with CR- LDP or RSVP-TE GMPLS Generalizes MPLS labels to WDM, TDM, SDM etc Better scalability To summarize. MPLS is a flexible label switchin protocol. It separates the control and data (forwarding) planes cleanly. Although it was designed for increased forwarding performance, its value today is in traffic engineering. The performance considerations that motivated MPLS are no longer valid. MPLS typically needs an IP network since its control protocols are IP based. Most deployments will interface with a normal routing protocol, OSPF or IS-IS, to set up label assignments for all known prefixes. In order to get end-to-end QoS, MPLS can employ either CR-LDP or RSVP-TE. In these cases, MPLS supports source routing and resource reservation. Since the control plane is separate from the data plane, other protocols might replace LDP or RSVP in the future. MPLS, like other label switched protocols, pushes as much of the heavy processing to the edge of the network as possible. This makes for a very fast, very simple, core. GMPLS is a generalization of MPLS in which labels can be encoded as wavelengths, timeslots or other things. This allows GMPLS to provision things like channels in TDM networks, or wavelengths in optical networks. I suspect that GMPLS, or an evolution of GMPLS may end up being the answer to the problem of rapid provisioning in WDM networks. GMPLS also provides greater scalability and reliability, necessary since GMPLS networks are expected to carry a large number of LSPs. 42

MPLS and ICMP 130.236.189.12 10.0.1.9 44 Data 12 Data 33 ICMP 10.0.1.1 ICMP MPLS creates some interesting problems with respect to ICMP messages. ICMP messages are normally generated when an error occurs, and returned to the source of the triggering IP datagram. However, in MPLS networks this is not always possible. If the LSP is a VPN implementation, then the source address may be an unrouteable address. The ingress and egress routers will be able to route to the source and destination addresses, but the intervening MPLS routers may be unable to do so. In this case, the MPLS network will forward the ICMP message to the egress router, which will return it to the sender. MPLS also defines some extensions to ICMP. Instead of including a copy of the triggering IP datagram in the ICMP error message, the first 128 bytes are copied, followed by an MPLS object, which includes, among other things, the last label used for the datagram. If you use a modern version of traceroute to trace a path that includes an MPLS network, you may see MPLS labels returned this way. 43