Title: Multiprotocol Label Switching The future of IP Backbone Technology
1Multiprotocol Label SwitchingThe future of IP
Backbone Technology
- Ravikumar Pragada
-
- Girish Srinivasan
2Overview
- Need for MPLS
- MPLS Basics
- Benefits
- Label Switched Path
- Label Distribution Protocol
- Hierarchy in MPLS
- Explicit Routing
- Loop Detection
- Traffic Engineering
- Constraint Based Routing
- Tag Switching
- IP Switching
3Conventional IP Networks Routing
- Client networks are connected to backbone via
edge routers - LAN, PSTN, ADSL
- Data packets are routed based on IP address and
other information in the header - Functional components
- Forwarding
- responsible for actual forwarding across a router
- consists of set of procedures to make forwarding
decisions - Control
- responsible for construction and maintenance of
the forwarding table - consists of routing protocols such as OSPF, BGP
and PIM
4Need for Multiprotocol Label Switching (MPLS)
- Forwarding function of a conventional router
- a capacity demanding procedure
- constitutes a bottle neck with increase in line
speed - MPLS simplifies forwarding function by taking a
totally different approach by introducing a
connection oriented mechanism inside the
connectionless IP networks
5Label Switching
- Decomposition of network layer routing into
control and forwarding components applicable - Label switching forwarding component algorithm
uses - forwarding table
- label carried in the packet
- What is a Label ?
- Short fixed length entity
6MPLS Basics
- A Label Switched Path (LSP) is set up for each
route - A LSP for a particular packet P is a sequence of
routers, - ltR1,R2..Rngtfor all i, 1lt i lt n Ri
transmits P to Ri1 by means - of a label
- Edge routers
- analyze the IP header to decide which LSP to use
- add a corresponding local Label Switched Path
Identifier, in the form of a label - forward the packet to the next hop
7MPLS Basics contd..
- Subsequent nodes
- just forward the packet along the LSP
- simplify the forwarding function greatly
- increase performance and scalability dramatically
- New advanced functionality for QoS,
differentiated services can be introduced in the
edge routers - Backbone can focus on capacity and performance
- Routing information obtained using a common intra
domain routing protocol such as OSPF
8Basic Model for MPLS Network
MPLS
LSR Label Switched Router LER Label Edge
Router
9MPLS Benefits
- Comparing MPLS with existing IP core and IP/ATM
technologies, MPLS has many advantages and
benefits - The performance characteristics of layer 2
networks - The connectivity and network services of layer 3
networks - Improves the price/performance of network layer
routing - Improved scalability
10MPLS Benefits contd..
- Improves the possibilities for traffic
engineering - Supports the delivery of services with QoS
guarantees - Avoids need for coordination of IP and ATM
address allocation and routing information
11Necessity of L3 Forwarding
- For security
- To allow packet filtering at firewalls
- Requires examination of packet contents,
including the IP header - For forwarding at the initial router - used when
hosts dont do MPLS - For Scaling
- Forward on a finer granularity than the labels
can provide
12Carrying a Label
- Certain link layer technologies can carry label
as a part of their link layer header - e.g ATM Frame Relay
- Link layers that do not support labels in their
header carry them in a shim label header
13Establishing Label Switched Path
- LSPs are generated and maintained in a
distributed fashion - Each LSR negotiates a label for each Forwarding
Equivalence Class (FEC) with its upstream and
downstream neighbors using a distribution method - Label Information Base (LIB) - Result of
negotiation
14LDP - Terminology
- Label Distribution Protocol (LDP)
- set of procedures by which LSRs establish LSPs
- mapping between network-layer routing information
directly to data-link layer switched paths - LDP peers
- two LSRs which use LDP to exchange label/stream
mapping - information exchange known as LDP Session
15LDP Message Exchange
- Discovery messages - used to announce and
maintain the presence of an LSR - Session messages - used to establish, maintain
and terminate sessions between LDP peers - Advertisement messages - used to create, change,
and delete label mappings - Notification messages - used to provide advisory
information and to signal error information
16LDP Message Format
17LDP Protocol Data Units (PDUs)
- LDP message exchanges are accomplished by sending
LDP PDUs - Each LDP PDU is an LDP header followed by LDP
message - The LDP header is
18Forwarding Equivalence Class (FEC)
- Introduced in MPLS standards to denote packet
forwarding classes - Comprises traffic
- to a particular destination
- to destination with distinct service requirements
- Why FEC?
- To precisely specify which IP packets are mapped
to each LSP - Done by providing a FEC specification for each
LSP
19LSP - FEC Mapping
- FEC specified as a set of two elements
(currently) 1. IP Address Prefix - any length
from 0 - 32 - 2. Host Address - 32 bit IP address
- A given packet matches a particular LSP if and
only if IP Address Prefix FEC element matches
packets IP destination address
20Rules for Mapping packet to a LSP
- If exactly one LSPs Host Address FEC element
packets IP destination address, packet is mapped
to that LSP - If there are multiple LSPs satisfying the above
condition, then the packet is mapped to one of
those LSPs - If a packet matches exactly one LSP, packet is
mapped to that LSP - If packet matches multiple LSPs, mapped to one
with the longest prefix match - Which LSP to be chosen - outside the scope of
this presentation
21Label Spaces
- Useful for assignment and distribution of labels
- Two types of label spaces
- Per interface label space Interface-specific
labels used for interfaces that use interface
resources for labels - Per platform label space Platform-wide incoming
labels used for interfaces that can share the
same label space
22LDP Identifiers
- A six octet quantity
- used to identify specific label space within an
LSR - First four octets encode LSRs IP address
- Last two octets identify specific label space
- Representation ltIP addressgt ltlabel space idgt
- e.g., 171.32.27.280, 192.0.3.52
- Last two octets for platform-wide label spaces
are always both zero
23LDP Discovery
- A mechanism that enables an LSR to discover
potential LDP peers - Avoids unnecessary explicit configuration of LSR
label switching peers - Two variants of the discovery mechanism
- basic discovery mechanism used to discover LSR
neighbors that are directly connected at the link
level - extended discovery mechanism used to locate LSRs
that are not directly connected at the link level
24LDP Discovery contd..
- Basic discovery mechanism
- To engage - send LDP Hellos periodically
- LDP Hellos sent as UDP packets for all routers on
that subnet - Extended discovery mechanism
- To engage - send LDP targeted Hellos periodically
- Targeted Hellos are sent to a specific address
- Targeted LSR decides whether to respond or to
ignore the targeted Hello - LDP Link Hello sent by an LSR
- carries the LDP identifier for the label space
the LSR intends to use for the interface
25Session establishment
- Exchange of LDP discovery Hellos triggers session
establishment - Two step process
- Transport connection establishment
- If LSR1 does not already have a LDP session for
the exchange of label spaces LSR1a and LSR2b,
it attempts to open a TCP connection with LSR2 - LSR1 determines the transport addresses at its
end (A1) and LSR2s end (A2) of the TCP
connection - If A1gtA2, LSR1 plays the active role otherwise
it is passive - Session initialization
- Negotiate session parameters by exchanging LDP
initialization messages
26Session Initialization State Transition Diagram
Rx - Receive Tx - Transmit
27Session Initialization State Transition Table
28Session Initialization State Transition Table
(cont.)
29Label Distribution and Management
- Two label distribution techniques
- Downstream on demand label distribution
- An LSR can distribute a FEC label binding in
response to an explicit request - Downstream Unsolicited label distribution
- Allows an LSR to distribute label bindings to
LSRs that have not explicitly requested them - Both can be used in the same network at the same
time however, each LSR must be aware of the
distribution method used by its peer
30Label Distribution Control Mode
- Independent Label Distribution Control
- Each LSR may advertise label mappings to its
neighbors at any time - In independent Downstream on Demand mode - LSR
answers without waiting for a label mapping from
next hop - In independent Downstream Unsolicited mode - LSR
advertises label mapping for a FEC whenever it is
prepared - Consequence upstream label can be advertised
before a downstream label is received
31Label Distribution Control Mode contd..
- Ordered Label Distribution Control
- Initiates transmission of label mapping for a FEC
only if it has next FEC next hop or is the egress - If not, the LSR waits till it gets a label from
downstream LSR - LSR acts as an egress for a particular FEC, if
- next hop router for FEC is outside of label
switching network - FEC elements are reachable by crossing a domain
boundary
32Label Retention Mode
- Conservative Label Retention Mode
- Advertised label mappings are retained only if
they are used for forwarding packets - Downstream on Demand Mode typically used with
Conservative Label Retention Mode - Advantage only labels required are maintained
- Disadvantage a change in routing causes delay
- Liberal Retention Mode
- All label mappings are retained regardless of
whether LSR is next hop or not - reaction to routing changes will be quick
33Label Information Base
- LSR maintains learned labels in Label Information
Base (LIB) - Each entry of LIB associates an FEC with an (LDP
Identifier, label) pair - When next hop changes for a FEC, LSR will
retrieve the label for the new next hop from the
LIB
34Hierarchical Operation in MPLS
Example
- External Routers A,B,C,D,E,F - Talk BGP
- Internal Routers 1,2,3,4,5,6 - Talk OSPF
Domain 2
C
D
1
Domain 3
Domain 1
6
2
3
4
5
B
F
E
A
Note Internal routers in domains 1 and 3 not
shown
35Hierarchical Operation contd..
- When IP packet traverses domain 2, it will
contain two labels, encoded as a label stack - Higher level label used between routers C and D,
which is encapsulated inside a lower level label
used within Domain 2 - Operation at C
- C needs to swap BGP label to put label that D
expects - C also needs to add an OSPF label that 1 expects
- C therefore pushes down the BGP label and adds a
lower level label
36Label Stack
- Multiple labels are carried in data packets
- e.g. data packet carried across Domain 2
- Concept of stacking
- provides a mechanism to segregate streams within
a switched path - one useful application of this technique is in
Virtual Private Networks - Advantage of Hierarchical MPLS is that the
internal routers need not know about higher level
(BGP) routing
37Multipath
- Many IP routing protocols support the notion of
equal-cost multipath routes - Few possible approaches for handling multipath
within MPLS - First approach
- separate switched path from each ingress node to
the merge point - preserves switching performance, but at the cost
of proliferating the number of switched paths
38Multipath contd..
- Second approach
- Only one switched path from one ingress node to a
destination - Conserves switched paths but cannot balance loads
across downstream links as well as other
approaches - LSP may be different from the normal L3 path
- Third approach
- Allows single stream to be split into multiple
streams, by using L3 forwarding - e.g. might use a hash function on source and
destination IP addresses - Conserves paths at the cost of switching
performance
39Explicit Routing in MPLS
- Two options for route selection
- Hop by hop routing
- Explicit routing
- Explicit Routing (aka Source Routing) is a very
powerful technique - With pure datagram routing overhead of carrying
complete explicit route is prohibitive - MPLS allows explicit route to be carried only at
the time the LSP is setup, and not with each
packet - MPLS makes explicit routing practical
40Explicit Routing in MPLS contd..
- In an explicitly routed LSP
- the LSP next hop is not chosen by the local node
- selected by a single node, usually the ingress
- The sequence of LSRs may be chosen by
- configuration (e.g., by an operator or by a
centralized server) - an algorithm (e.g., the ingress node may make use
of topological information learned from a link
state routing protocol)
41Loops and Loop Handling
- Routing protocols used in conjunction with MPLS
are based on distributed computation which may
contain loops - Loops handling - 3 categories
- Loop Survival
- Loop Detection
- Loop Prevention
42Loop Survival
- Minimizes the impact of loops by limiting the
amount of resources consumed by the loop - Method
- based on use of TTL field which is decrement at
each hop - Use of dynamic routing protocol converging
rapidly to non-looping paths - Use of fair queuing
43Loop Detection
- Loops may be setup but they are subsequently
detected - The detected loop is then broken by dropping
label relationship - Broken loops now necessitates packets to be
forwarded using L3 forwarding
44Loop Detection (cont.)
- Method is based on transmitting a Loop Detection
Control Packet (LDCP) whenever a route changes - LDCP is forwarded towards the destination until
- last MPLS node along the path is reached
- TTL of the LDCP expires
- it returns to the node which originated it
45Loop Prevention
- Ensures that loops are never set up
- labels are not used until it is sure to be loop
free - Methods
- labels are propagated starting at the egress
switch - use source routing to set up label bindings from
the egress switch to each ingress switch
46(No Transcript)
47Traffic Engineering and Performance Objectives
- Traffic Engineering (TE) is concerned with
performance optimization of operational networks - The key performance objectives
- traffic oriented - aspects that enhance the QoS
of traffic streams e.g minimization of packet
loss - resource oriented - aspects that pertain to the
optimization of resource utilization e.g
efficient management of bandwidth
48Performance Objectives (cont.)
- Minimizing congestion is a major traffic and
resource oriented performance objective - Congestion manifest under two scenarios
- network resources are insufficient or inadequate
- can be solved by capacity expansion or classical
congestion control techniques - traffic streams are inefficiently mapped onto
available resources - can be reduced by adopting load balancing policies
49Traffic and Resource Control
- The traffic engineer acts as the controller in an
adaptive feedback control system which includes - a set of interconnected network elements
- a network performance monitoring system
- network configuration management tools
- The traffic engineer formulates control policies,
observes the state of the network, characterizes
the traffic and applies the control actions in
accordance to the control policy
50MPLS and Traffic Engineering
- Main components used
- Traffic Trunk - aggregation of traffic flows of
the same class which are placed inside a Label
Switched Path - Induced MPLS Graph
- analogous to a virtual topology in an overlay
model - logically mapped onto the physical network
through the selections o LSPs for traffic trunk - comprises a set of LSRs which act as nodes of the
graph and a set of LSPs which provide logical
point to point connectivity between LSRs and thus
act as edges of the graph
51Augmented Capabilities
- Set of attributes associated with traffic trunks
which collectively specify their behavioral
characteristics - Set of attributes associated with resources which
constrain the placement of traffic trunks through
them - A constraint based routing framework which is
used to select paths for traffic trunks subject
to constraints imposed
52Basic operation on traffic trunks
- Establish - create an instance of a traffic trunk
- Activate - cause to start passing traffic
- Deactivate - stop passing traffic
- Modify Attributes
- Reroute - administratively or by underlying
protocols - Destroy - reclaim all resources such as label
space and bandwidth
53Basic attributes of traffic trunk
- Traffic parameter attribute - capture the
characteristics of the traffic streams - Generic Path selection and maintenance attributes
- defines rules for selecting route taken by
traffic trunk and rules of maintaining the paths - Priority attribute
- Preemption attribute
- Resilience attribute
- Policing attribute
54Resource Attributes
- Part of the topology state parameters used to
constrain the routing of traffic trunks through
specific resources - Main components
- Maximum Allocation Multiplier (MAM) -
administratively configured to determine the
proportion of resource available for allocation - Resource Class Attribute - administratively
assigned parameters which express some notion of
Class for resources
55Constraint Based Routing
- Enables a demand driven, resource reservation
aware, routing paradigm to co-exist with current
topology driven protocols - uses the following inputs
- traffic trunk attributes
- resource attributes
- other topology state information
- Basic features
- prune the resources that do not meet the
requirements of the traffic trunk attribute - run a shortest path algorithm on the residual
graph
56Constraint Based Routing (cont.)
- Strict Loose Explicit Routes
- Constraint Based LSP (CRLSP) is calculated at one
point at the edge of the network based on certain
criteria - special char. such as assigning certain bandwidth
can be supported - The route is encoded as a series of Explicit
routed hops contained in a CR based route TLV
57Constraint Based Routing (cont.)
- Traffic Characteristics
- Described in the Traffic Parameter TLV in terms
of peak rate, committed rate and service
granularity - Preemption
- Setup and Holding priorities are used to rank new
and existing paths respectively to determine if
new paths can preempt existing paths - Allocation of these priorities is a network
policy
58Constraint Based Routing (cont.)
- Route Pinning
- applicable to segments of an LSP that are loosely
routed i.e the next hop is an abstract node - used if the LSP need not be changed
- Resource Class
- While setup , indication must be given as to
which class the CRLSP can draw resources from
59Implementation Consideration
Management Interface
MPLS
Constraint Based Routing Process
Conventional IGP Process
Resource Attribute Availability Database
Link State Database
60Quality of Service using CRLSP
- Delay Sensitive Service
- the network commits to deliver with high
probability, user datagrams at a rate of PDR with
minimum delay and delay requirements - Datagrams in excess of PDR will be discarded
- Throughput Sensitive Service
- the network commits to deliver at a rate of at
least CDR - Datagrams with higher CDR have lower probability
of being delivered - Best Effort Service
- No expected service is guaranteed
61Tag Switching
62Destination Based Routing
- A TSR participates in unicast routing protocols
to construct its mapping between FECs and next
hops - This mapping is used by the Tag Switching Control
component for constructing the TFIB which is used
for actual packet forwarding
63Destination Based forwarding model of Tag
Switching
192.16/16
64Information for constructing TFIB
- A local binding between the FEC and a tag
- takes a tag from the pool of free tags and uses
it as an index in the TFIB to set the incoming
tag entry - A mapping between the FEC and the next hop for
that FEC (provided by the routing protocol(s)
running on the TSR) - A remote binding between the FEC and a tag that
is received from the next hop
65Initial TFIB Entries
66TFIB Entries after Tag Distribution
67Behavior during routing change
Link Down
68Updated TFIB
69Hierarchy of Routing Knowledge
- All TSRs within a routing domain participate in a
common intra-domain routing protocol and
construct TFIB corresponding to destinations
within the domain - All border TSRs or TERs within a domain and
directly connected TERs from other domains also
exchange Tag binding information via inter-domain
routing protocol
70Hierarchy of Routing Knowledge (cont.)
- To support forwarding in the presence of
hierarchy of routing knowledge, Tag switching
allows a packet to carry several tags organized
as a tag stack - At the ingress a tag is pushed onto the tag
stack, and at the egress a tag is popped off a
the stack
71Hierarchy of Routing knowledge model
72TFIB Entries in Routing Domain A
73Label Stack During Hierarchical Routing
TSR Z distributes label 2 to TSR W and TSR W
gives label 5 to TSR T for the purpose of
inter-domain routing
74Multicast in Tag Switching
- Selects the distribution tree based only on
- tag carried in a packet
- interface on which the packet arrives
- TSR maintains its TFIB on a per interface basis
- TSRs connected to a common sub-network agree
among themselves on a common tag associated with
a particular multicast tree
75Multicast in Tag Switching (cont.)
- Procedures are used to partition the set of tags
for use with multicast into disjoint subsets and
care is taken to avoid overlapping with the help
of HELLO packets - TSR connected to a common sub-network and those
which are a part of the same distribution tree
elect one TSR that will create the tag bindings
and distribute them and any TSR can join the
group using the JOIN command
76Multicast model in Tag Switching
77RSVP with Tag Switching
- RSVP is supported by the help of a RSVP object -
the tag Object - The tag object binding information for an RSVP
flow is carried in the RSVP RESV message - The RESV message carries the tag object
containing the tag given by a TSR and also
information about the local resources to be used - The reservation state is refreshed once the flow
is set up using the RESV message
78Explicit Routes
- Tag switching supports explicit routes with the
help of a RSVP object - the Explicit Route Object - The object is carried in the RSVP PATH message
- The tag information is carried in the Tag Object
by the RSVP RESV
79IP Switching
- Introduced by Ipsilon
- Already been tested in the field
- Significant Innovation Defined a switch
management protocol (GSMP) along with label
binding protocol called Ipsilon Flow Management
Protocol (IFMP) - General Switch Management Protocol (GSMP) -
allows an ATM switch to be controlled by an IP
switch controller
80IP Switching Overview
- IP over ATM models are complex and inefficient -
involve running two control planes - ATM Forum signaling and routing
- IP routing and address resolution on top
- In contrast IP Switching uses
- IP component plus label binding protocol
- completely removes ATM control plane
- Goal To integrate ATM switches and IP routing in
a simple and efficient way
81Removing ATM Control Plane
IP IFMP
ATM hardware
(a)
(b)
- (a) IP over Standard ATM
- (b) IP Switching
82IP Switching Architecture
- Switch controller
- control processor of the system
- uses GSMP to communicate with ATM switch itself
- runs IP routing and forwarding code
- Default VC
- defined to get control traffic before IP
Switching is performed - uses well known VCI/VPI value
- also used for data that doesnt yet have a label
83IP Switch Architecture
84IP Switching Basics
- IP Switching relies on IP protocols
- to establish routing information
- to determine next hop
- Flow classification and control module selects
flows from incoming traffic - IP flow refers to a sequence of datagrams
- from one source to one destination, identified by
the ordered pair ltsource address, destination
addressgt - can also refer to a flow at finer granularity,
e.g., different applications between same pair of
machines, identified by lt source address, source
port, destination address, destination portgt
85Flow Redirection
- Redirection Process of binding labels to flows
and establishing label switched paths - Example
- data is flowing from A via B to C on default VC
- B sends a redirect to A specifying flow y and the
label (VPI/VCI) on which it expects to receive - If C issues a redirect to B for flow y, B
forwards y on the VPI/VCI specified by C - Since same flow y enters B on one VC and leaves
on another, B uses GSMP to inform its switching
element to set up the appropriate switching path
86Flow Redirection
87Ipsilon Flow Management Protocol (IFMP)
- Designed to communicate flow to label binding
information - IFMP is a soft state protocol
- IFMPs Adjacency Protocol
- Used to communicate and discover information
about neighbors - Adjacency message sent as limited broadcast
- IFMPs Redirection Protocol
- used to send appropriate messages for flow-label
bindings
88IFMPs Redirection Protocol
- Different message types defined
- REDIRECT used to bind label to a flow
- RECLAIM enables label to be unbound for
subsequent re-use - RECLAIM ACK Acknowledgement for RECLAIM message
- ERROR Used to deal with various error conditions
- Common header format
89IFMP Redirect Protocol Message Format
IFMP REDIRECT message body
90Encapsulation of Redirected Flows
91General Switch Management Protocol (GSMP)
- GSMP is a master/slave protocol
- ATM switch is the slave
- Master could be any general purpose computer
- The protocol allows the master to
- Establish and release VC connections across the
switch - Perform port management (Up, Down, Reset,
Loopback) - Request Data (configuration information,
statistics) - Allows slave to inform master if something
interesting, such as link failure, happens on the
switch
92GSMP contd..
- GSMP packets are LLC/SNAP encapsulated and sent
over ATM link using AAL5 - GSMP Adjacency Protocol
- used to gain information about the system at the
other end of the link and - to monitor link status
- GSMP Connection Management Protocol
- used to ensure consistency between the GSMP
master and slave - also specifies the QoS using a priority field
93Implementations Contributions
- IP Switching products
- available since 1996
- Ipsilon product family uses Intel Pentium-based
PC as the switch controller - Also offers a number of ATM switches that are
controlled by the switch controller - IP Switching made the following significant
contributions to label switching effort - first to deliver real products and caused
activity that resulted in the development of Tag
Switching and ultimately the formation of MPLS
working group - contributed GSMP