Multi Protocol Label Switching (MPLS)

Slides:



Advertisements
Similar presentations
QoS Strategy in DiffServ aware MPLS environment Teerapat Sanguankotchakorn, D.Eng. Telecommunications Program, School of Advanced Technologies Asian Institute.
Advertisements

Japan Telecom Information & Communication Labs
IETF Differentiated Services Concerns with Intserv: r Scalability: signaling, maintaining per-flow router state difficult with large number of flows r.
MULTIPROTOCOL LABEL SWITCHING Muhammad Abdullah Shafiq.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—8-1 MPLS TE Overview Understanding MPLS TE Components.
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
William Stallings Data and Computer Communications 7 th Edition Chapter 13 Congestion in Data Networks.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—2-1 Label Assignment and Distribution Introducing Typical Label Distribution in Frame-Mode MPLS.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
ACN: IntServ and DiffServ1 Integrated Service (IntServ) versus Differentiated Service (Diffserv) Information taken from Kurose and Ross textbook “ Computer.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
MPLS H/W update Brief description of the lab What it is? Why do we need it? Mechanisms and Protocols.
MPLS and Traffic Engineering
CS Summer 2003 Lecture 8. CS Summer 2003 Populating LFIB with LDP Assigned/Learned Labels Changes in the LFIB may be triggered routing or.
Multi-Protocol Label Switching
1 MPLS Architecture. 2 MPLS Network Model MPLS LSR = Label Switched Router LER = Label Edge Router LER LSR LER LSR IP MPLS IP Internet LSR.
1 Multi-Protocol Label Switching (MPLS) presented by: chitralekha tamrakar (B.S.E.) divya krit tamrakar (B.S.E.) Rashmi shrivastava(B.S.E.) prakriti.
1 Multi Protocol Label Switching Presented by: Petros Ioannou Dept. of Electrical and Computer Engineering, UCY.
Integrated Services (RFC 1633) r Architecture for providing QoS guarantees to individual application sessions r Call setup: a session requiring QoS guarantees.
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
Introduction to MPLS and Traffic Engineering Zartash Afzal Uzmi.
Connection-Oriented Networks1 Chapter 6: The Multi-Protocol Label Switching Architecture TOPICS –IP: A primer –The MPLS architecture Label allocation schemes.
1 Multiprotocol Label Switching. 2 “ ” It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching.
MPLS MultiProtocol Label Switching.
IP/MPLS Multiprotocol Label Switching
© 2006 Cisco Systems, Inc. All rights reserved. MPLS Introduction Module 4: Frame Mode MPLS Implementation.
MPLS Forwarder Preliminary 1 Outline MPLS Overview MPLS Overview MPLS MRD MPLS Data Path HLD 48K MPLS Fwder HLD IPE MPLS Fwder HLD Issues Summary.
10/8/2015CST Computer Networks1 IP Routing CST 415.
MPLS Label Last Update Copyright 2011 Kenneth M. Chipps Ph.D. 1.
MPLS Some notations: LSP: Label Switched Path
Unit III Bandwidth Utilization: Multiplexing and Spectrum Spreading In practical life the bandwidth available of links is limited. The proper utilization.
Multiple Protocol Support: Multiprotocol Level Switching.
Label Distribution Protocols LDP: hop-by-hop routing RSVP-TE: explicit routing CR-LDP: another explicit routing protocol, no longer under development.
An End-to-End Service Architecture r Provide assured service, premium service, and best effort service (RFC 2638) Assured service: provide reliable service.
Multi-protocol Label Switching
Multiprotocol Label Switching (MPLS) Routing algorithms provide support for performance goals – Distributed and dynamic React to congestion Load balance.
Multi-protocol Label Switching (MPLS) RFC 3031 MPLS provides new capabilities: QoS support Traffic engineering VPN Multiprotocol support.
MPLS Introduction Computer Networks 2007 Week 9 Lecture 1 by Donald Neal.
MPLS Virtual Private Networks (VPNs)
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Chapter 3 Part 3 Switching and Bridging
Multi Protocol Label Switching (MPLS)
Advanced Computer Networks
Performance Measurements of MPLS Traffic Engineering and QoS
Requirements for LER Forwarding of IPv4 Option Packets
Instructor Materials Chapter 6: Quality of Service
Intra-Domain Routing and Traffic Engineering
Topics discussed in this section:
Inter domain signaling protocol
ODA MPLS Basic Knowledge
Lecture 11: LDP, RSVP, RSVP-TE.
EE 122: Lecture 19 (Asynchronous Transfer Mode - ATM)
IP Routers – internal view
RSVP and Integrated Services in the Internet: A Tutorial
Multi Protocol Label Switching (MPLS)
EEC-484/584 Computer Networks
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Chapter 3 Part 3 Switching and Bridging
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 6: Quality of Service Connecting Networks.
MPLS Basics 2 2.
CHAPTER 8 Network Management
EEC-484/584 Computer Networks
PRESENTATION COMPUTER NETWORKS
Switching Techniques.
EEC-484/584 Computer Networks
Chapter 11. Frame Relay Background Frame Relay Protocol Architecture
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
Chapter 3 Part 3 Switching and Bridging
Chapter 2 Switching.
CIS679: Two Planes and Int-Serv Model
Presentation transcript:

Multi Protocol Label Switching (MPLS) Lecture 11: Multi Protocol Label Switching (MPLS)

Routing vs Switching routing: based on address lookup, max prefix match search operation complexity O(logn) - 0(n) switching: based on circuit numbers indexing operation complexity O(1) scalable to large networks  MPLS

MPLS connection MPLS introduces a connection-oriented structure into the connectionless IP network. An MPLS-ready IP router does not forward IP packets based on the destination address in the header, but on a label. Consider an MPLS-enabled IP network that runs over Ethernet: A special MPLS header is sandwiched between the IP header and the LLC header. The MPLS header contains a label that is a short, fixed-length connection identifier. The MPLS-ready IP router, known as a label switched router (LSR), maintains a table of labels. When an IP packet arrives at the LSR, the label carried in the MPLS header is cross-referenced to the table of labels to find the next hop. The IP packet is then switched to the destination output port of the LSR that connects to the next hop LSR. The table contains labels for only the existing connections, and therefore it is not as large as the forwarding routing table in an IP router.

MPLS connection In order for a user to transmit over an MPLS-enabled IP network, it has to first request the establishment of a connection. This is done using a signaling protocol, such LDP (later CR-LDP) or RSVP (later RSVP-TE). The connection is a label switched path (LSP). LSR is aware of all of the connections that pass through its switch fabric; therefore, it can decide whether to accept a new connection or not based on the amount of traffic that will be transmitted and the requested QoS. The LSR allocates a portion of its bandwidth to a new connection, and it stops accepting new connections when it either runs out of bandwidth or reaches a certain percentage of utilization.

Tag Switching Key difference: tags setup in background using IP routing protocols (I.e. control-driven VC setup)

MPLS Concept: Route at Edge, Switch in Core IP IP #L1 IP #L2 IP #L3 IP IP Forwarding LABEL SWITCHING IP Forwarding

MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR: Label Switching Router LER: Label Edge Router (Useful term not in standards) MPLS “multi-protocol” both in terms of protocols it supports ABOVE and BELOW in protocol stack!

MPLS Header IP packet encapsulated in MPLS header and sent down LSP IP packet restored at end of LSP by egress router TTL adjusted by default … IP Packet 32-bit MPLS Header MPLS is responsible for directing a flow of IP packets along a predetermined path across a network. This path is called a label-switched path. Label-switched paths are similar to ATM PVCs in that they are simplex in nature; that is, the traffic flows in one direction from the ingress router to a egress router. Duplex traffic requires two label-switched paths; that is, one path to carry traffic in each direction. A label-switched path is created by the concatenation of one or more label-switched hops, allowing a packet to be forwarded from one label-switching router to another label-switching router across the MPLS domain. A label-switching router is a router that supports MPLS-based forwarding. When an IP packet enters a label-switched path, the ingress router examines the packet and assigns it a label based on its destination, placing the label in the packet’s header. The label transforms the packet from one that is forwarded based on its IP routing information to one that is forwarded based on information associated with the label. The packet is then forwarded to the next router in the label-switched path. The key point in this scheme is that the physical path of the LSP is not limited to what the IGP would choose as the shortest path to reach the destination IP address.

MPLS Header label experimental bits TTL label used to match packet to LSP experimental bits carries packet queuing priority (CoS) stacking bit: can build “stacks” of labels qoal: nested tunnels! time to live copied from IP TTL An MPLS header consists of: 20-bit label—Used to identify the packet to a particular LSP Class of service value—Indicates queuing priority through the network. At each hop along the way, the class of service value determines which packets receive preferential treatment within the tunnel. Stacking bit—Indicates that this MPLS packet has more than one label associated with it. The MPLS implementation in JUNOS Software supports a stacking depth of one. Time to live value—Contains a limit on the number of router “hops” this MPLS packet may travel through the network. It is decremented at each hop, and if the TTL value drops below one, the packet is discarded.

MPLS Forwarding: Example IP packet destined to 134.112.1.5/32 arrives to SF San Francisco has route for 134.112/16 next hop is LSP to New York 134.112/16 IP New York 134.112.1.5 San Francisco 1965 1026 Santa Fe

MPLS Forwarding Example San Francisco pre-pends MPLS header onto IP packet, sends packet to first transit router on path 134.112/16 New York San Francisco IP 1965 Santa Fe

MPLS Forwarding Example because packet arrived to Santa Fe with MPLS header, Santa Fe forwards it using MPLS forwarding table 134.112/16 New York San Francisco IP 1026 Santa Fe

MPLS Forwarding Example packet arrives from penultimate router with label 0 egress router sees label 0, strips MPLS header egress router performs standard IP forwarding IP 134.112/16 Labels 0 through 15 are reserved labels, as specified in draft-ietf-mpls-label-encaps-07.txt. A value of 0 represents the "IPv4 Explicit NULL Label". This label value is only legal when it is the sole label stack entry. It indicates that the label stack must be popped, and the forwarding of the packet must then be based on the IPv4 header. A value of 1 represents the "Router Alert Label". This label value is legal anywhere in the label stack except at the bottom. When a received packet contains this label value at the top of the label stack, it is delivered to a local software module for processing. The actual forwarding of the packet is determined by the label beneath it in the stack. However, if the packet is forwarded further, the Router Alert Label should be pushed back onto the label stack before forwarding. The use of this label is analogous to the use of the "Router Alert Option" in IP packets. Since this label cannot occur at the bottom of the stack, it is not associated with a particular network layer protocol. A value of 2 represents the "IPv6 Explicit NULL Label".This label value is only legal when it is the sole label stack entry. It indicates that the label stack must be popped, and the forwarding of the packet must then be based on the IPv6 header. A value of 3 represents the "Implicit NULL Label". This is a label that an LSR may assign and distribute, but which never actually appears in the encapsulation. When an LSR would otherwise replace the label at the top of the stack with a new label, but the new label is "Implicit NULL", the LSR will pop the stack instead of doing the replacement. Although this value may never appear in the encapsulation, it needs to be specified in the Label Distribution Protocol, so a value is reserved. Values 4-15 are reserved for future use. New York IP San Francisco Santa Fe

Regular IP Forwarding 1 47.1 IP 47.1.1.1 1 2 IP 47.1.1.1 3 2 IP 47.1.1.1 1 3 47.2 47.3 2 IP 47.1.1.1 IP destination address unchanged in packet header!

MPLS Label Distribution 1 47.1 3 Request: 47.1 3 Request: 47.1 2 1 Mapping: 0.40 1 2 Mapping: 0.50 47.3 3 47.2 2

Label Switched Path (LSP) IP 47.1.1.1 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2 IP 47.1.1.1

A General Vanilla LSP #963 #14 #99 #311 #216 #14 #963 #612 #311 #462 #99 #5 - Vanilla LSP actually part of tree from every source to destination (unidirectional) - Vanilla LDP builds tree using existing IP forwarding tables to route control messages

Forwarding Equivalence Classes FEC - group of IP packets forwarded over same path, with same forwarding treatment FEC may correspond to destination IP subnet source, destination IP subnet QoS class

Example

Routing in MPLS Hop-by-hop routing: IP router learns about the topology of its domain by exchanging information with the other IP routers. It then calculates the next hop IP router for each destination using the shortest path algorithm. This next hop is stored in its FIB. MPLS uses the same next hop information in order to set up an LSP. Explicit routing: LSP that follows an explicit route through a network which might not necessarily correspond to the hop-by-hop path. An explicit route might be set up to satisfy a QoS criterion, such as minimizing the total end-to-end delay and maximizing throughput. Also, explicit routing can be used to provide load-balancing, by forcing some of the traffic to follow different paths through a network, so that the utilization of the network links is as even as possible. Finally, explicit routing can be used to set up MPLS-based tunnels and virtual private networks (VPN).

Label Distribution Protocols LDP: A new signaling protocol. It is used to distribute label bindings for an LSP associated with a FEC. RSVP: Extending of an existing IP control protocol, so that it can carry label bindings.

LDP LDP is used to establish and maintain label bindings for an LSP associated with a FEC. Two LSRs that use LDP to exchange label bindings are known as LDP peers. LDP provides several LDP messages: Discovery: to announce and maintain the presence of an LSR in the network. Session: in order for two LDP peers to exchange information, they have to first establish an LDP session. The session messages are used to establish, maintain, and terminate LDP sessions between LDP peers. Advertisement: to create, change, and delete label bindings to FECs. Notification: to provide advisory information and to signal error information. LDP runs on top of TCP for reliability, with the exception of the LDP discovery messages that run over UDP.

LDP label distribution always done from downstream to upstream downstream-unsolicited: new route => send new label downstream-on-demand: upstream LSR asks for label

LDP Label mapping message: An LSR uses the message to advertise a mapping (i.e., a binding) of a label to a FEC to its LDP peers. A FEC element could be either a prefix or a full IP address of a destination host The FEC element identifies a set of packets that can be mapped to the corresponding LSP. The message contains the label associated with the FEC.

LDP Label request message: LSR sends this message to an LPD peer to request a mapping to particular FEC under the following conditions: The LSR recognizes a new FEC via its forwarding routing table; the next hop is an LDP peer; and the LSR does not already have a mapping from the next hop for the given FEC. The next hop to the FEC changes, and the LSR does not already have a mapping from the next hop for the given FEC. The LSR receives a label request for a FEC from an upstream LDP peer; the FEC next hop is an LDP peer; and the LSR does not already have a mapping from the next hop. Label release message: Sent to an LDP peer LSR B to signal to LSR B that LSR A no longer needs a specific FEC-label mapping that was previously requested of and/or advertised by the peer.

Constraint-based Routing LDP It is used to set up a unidirectional point-to-point explicitly routed LSP. An LSP is set up as a result of the routing information in an IP network using the shortest path algorithm. A CR-LSP is calculated at the source LSR based on criteria not limited to routing information, such as explicit routing and QoS-based routing. The route then signaled to the other nodes along the path which obey the source’s routing instructions. CR-LDP is based on LDP, and runs on top of TCP for reliability.

CR-LSP Setup Procedure A CR-LSP is set up using downstream on demand allocation with ordered control. An upstream LSR obtains the label mapping by issuing a request. In the ordered control scheme, the allocation of labels proceeds backwards from the egress LSR towards the ingress LSR. Specifically, an LSR only binds a label to a FEC if it is the egress LSR for that FEC, or if it has already received a label binding for that FEC from its next hop LSR.

IntServ architecture The following two service classes were defined in IntServ: 1. Guaranteed service: firm bounds on the end-to-end queueing delay with no packet loss for all conforming packets. 2. Controlled-load service: provides the user with a QoS that closely approximates the QoS of the best effort service that the user would receive from an unloaded network. Specifically, a user might assume the following: a. A very high percentage of transmitted packets will be successfully delivered by the network to the receiver. The percentage of packets not successfully delivered must closely approximate the basic packet error rate of the transmission links. b. The end-to-end delay experienced by a very high percentage of the delivered packets will not greatly exceed the minimum end-to-end delay experienced by any successfully delivered packet.

IntServ architecture In intserv, the sender specifies how much traffic it will transmit to its receiver(s), and a receiver specifies how much traffic it can receive and the required QoS, expressed in terms of packet loss and end-to-end delay. This information permits each IP router along the path followed by the sender’s packets to perform the following functions: 1. Policing: This is used to verify that the traffic transmitted by the sender conforms to the sender’s Tspec, a set of traffic descriptors that characterize the traffic transmitted by the sender. 2. Admission control: decide whether an IP router has adequate resources to meet the requested QoS. 3. Classification: decide which IP packets should be considered as part of the sender’s traffic and be given the requested QoS. 4. Queueing and scheduling: in order for an IP router to provide different QoS to different receivers, it has to be able to queue packets into different queues and to transmit packets out of these queues according to a scheduler. The intserv architecture requires a signaling protocol for the reliable establishment and maintenance of resource reservations. RSVP is the most popular one.

RSVP-Traffic Engineering is used in MPLS to set up LSPs using either the next hop information in the routing table or an explicit route. RSVP-TE uses downstream-on-demand label allocation to set up an LSP. RSVP-TE enables the reservation of resources along the LSP. For example, bandwidth can be allocated to an LSP using standard RSVP reservations.

Traffic Engineering configuring routes to traffic demands so as to improve user performance use network resources more efficiently operates at coarse timescales not for failures, sudden traffic changes uses shortest path computations OSPF, MPLS

The traffic parameters peak data rate (PDR) and peak burst size (PBS): PDR is the maximum rate at which traffic is sent to the CR-LDP. The peak rate in CR-LDP is specified in terms of token bucket P. The maximum token bucket size of P is set equal to the peak burst size (PBS), expressed in bytes, and the token bucket is replenished at the peak data rate (PDR), expressed in bytes/sec. committed data rate (CDR) and committed burst size (CBS): Same as above for token bucket. The output of this token bucket is referred to as the committed rate which is the amount of bandwidth the network should allocate for the CR-LSP. excess burst size (EBS): The max. token bucket can be EBS and replenishing rate is CDR.

Class of Service Packets that violate token bucket can either be dropped or marked.

Q: how to set link weights? Effect of link weights unit link weights local change to congested link global optimization to balance link utilizations

Generalized MPLS GMPLS is an extension of MPLS, and was designed to apply MPLS label-switching techniques to time-division multiplexing (TDM) networks and wavelength routing networks.

Addition to Patricia Trees from previous lecture

PATRICIA Tree (a space-optimized tree, also called radix tree or crit bit tree ) Keys are represented by binary strings. Sometimes called “Path Compression”. Each node with only one child is merged with its child, (every internal node has at least two children). Edges can be labeled with sequences of characters as well as single characters. A common extension of radix trees uses two types of nodes, ‘color filled’ and ‘non filled’. It supports the following main operations, all of which are O(k), where k is the maximum length of all strings in the set: - Lookup: Determines if a string is in the set. To check if a given string is stored in the tree, the search starts from the top and follows the edges of the input string until no further progress can be made. If the search-string is consumed and the final node is a ‘filled’ node, the search has failed; if it is ‘non filled’, the search has succeeded. - Insert: Add a string to the tree. We search the tree until we can make no further progress. At this point we either add a new outgoing edge labeled with all remaining characters in the input string, or if there is already an outgoing edge sharing a prefix with the remaining input string, we split it into two edges (the first labeled with the common prefix) and proceed. This splitting step ensures that no node has more children than there are possible string characters. - Delete: Delete a string from the tree. First, we delete the corresponding leaf. Then, if its parent only has one child remaining, we delete the parent and merge the two incident edges.

(cont.) Example,(with the same numbers again) Keys: 111*, 10*, 1010*, 10101 2 3 111* 10* 5 1010* 10101 1 Let’s lookup for ‘10111’ … We can't proceed to check the 5’th bit. So we stop after checking the 3’rd bit. Stopped at a ‘filled’ node, i.e. the search has failed ! So, let’s insert the string to the Patricia tree...

(Example cont.) Inserting Operation We can see that there is an outgoing edge, sharing a prefix with the remaining input string, (It is the edge with label ‘1’ connecting the ‘filled’ nodes of bitpos’s 3 & 5). So, split it into two edges… Now, we must consider the 4’th bit ! The tree after inserting ‘10111’ will be as follows: 2 3 111* 10* 4 10101 10111 1 5 1010*

(cont.),Tree Properties N-1 Internal nodes, N External nodes. Search performance insensitive to insertion order, but very sensitive to distribution of digits. Assuming random distribution, approx # of digits\bits inspected is about for M-ary tree with N nodes. Simple P-Tree for IP Routing (From BSD, circa 1990). Observations: This simple scheme places common prefixes together in the same leaf, (using a linked list). Parent pointers in nodes are used to back up in the tree in case of mis-match.