Title Subtitle - Iowa State University

Download Report

Transcript Title Subtitle - Iowa State University

CS 520 – Fall 2004 - Lecture 15
MPLS and its Applications
(with modifications for CS 520)
Philip Matthews
Nortel Networks
April 2000
(Material prepared by
Dr. Bilel Jamoussi and
Peter Ashwood-Smith)
1
Outline
• Overview
• Label Encapsulations
• Label Distribution Protocols
• Constraint-Based Routing
• MPLS and VPNs
• Network Survivability
• Summary
2
What is MPLS?
• MPLS is an IETF Standardized mechanism for
controlling packet routing.
• MPLS Framework and Architecture
— Defines the scope, the various components and their interactions
• Encapsulations
— Labels are used at the data plane to make forwarding decisions
• Signaling Protocols
— Distribute Labels to establish Label Switched Paths
• Routing Protocol Traffic Engineering Extensions
— Distribute Bandwidth and other link attributes to make routing
decisions
3
“Label Substitution” what is it?
Have a friend go to B ahead of you. At every road they
reserve a lane just for you. At every intersection they post
a big sign that says for a given lane which way to turn and
what new lane to take.
LANE#1 TURN RIGHT USE LANE#2
LANE#1
LANE#2
4
Label Switched Path (LSP)
#1 RIGHT #2
#2 LEFT #1
#1 RIGHT #2
#2 LEFT #1
5
What is a “LABEL”?
A property that uniquely identifies a
flow on a logical or physical interface
Labels may be platform wide unique or more
commonly interface wide unique.
But are not globally unique, so label values can be
reused in many places.
6
Label Switched Path
#3 Right #7
IP
#3
#7
#7 LEFT #99
#99 RIGHT #9
#99
#9
#9 LEFT #4072
#4072
IP
7
Another context: An Optical Label Switched Path – “labels” are
colors of light
RED RIGHT BLUE
IP
RED
BLUE
BLUE LEFT WHITE
WHITE RIGHT ORANGE
WHITE
ORANGE
ORANGE LEFT RED
RED
IP
8
MPLS Labels
• Hop-by-hop or source routing can be used to
establish labels
— Hop-by-hop can use OSPF, RIP, etc. to define labels
— Source routing lets sources define routes and their labels
• Multiple levels of labels (stacks of labels within
labels).
— Allows groups of flows to carry the same label for part of a
route.
9
ROUTE AT EDGE, SWITCH IN CORE
IP
IP
IP Forwarding
#L1
IP
#L2
LABEL SWITCHING
IP
#L3
IP
IP Forwarding
10
Routers Do Both Routing and Switching
• Routing
— Deciding the next hop based on
the destination address.
— A Layer 3 (L3) function.
• Switching
— Moving a packet from an input
port to an output port and out.
— A layer 2 function.
INPUT PORTS
OUTPUT PORTS
11
MPLS Turns Routing into Switching
• So we can avoid performing the layer 3 function.
— Use labels to decide next hops.
• What benefit does this provide?
• In what situations would this benefit not be very
significant?
12
MPLS: Flexible Forwarding
IP: Packets are forwarded based on Destination Address (DA). We can
call this “destination based routing”.
IP DA
IP DA
IP DA
IP DA
IP DA
MPLS:
• Map packets to LSP based on (Source Address, Destination Address,
protocol, port, DSCP, interface, etc.)
• Forward packets based on the Label
IP
IP
IP to LSP
#L1
IP
#L2
LABEL SWITCHING
IP
#L3
IP
LSP to IP
13
MPLS-based Solutions
• Enable QoS in IP Networks
— Support Diffserv using connection-oriented QoS
— “Connections” can be flows or large aggregates
• IP Traffic Engineering
— Use constraint-based routing to adapt to latest network loading
and QoS performance
• Virtual Private Networks
— Use controllable tunneling mechanisms
• L2/L3 Integration
— Integrate with L1 and L2 technologies like Optical Cross
Connects (OXC’s) and ATM
• Resilient Network Design
— Automatic Failover and Backup
14
BEST OF BOTH WORLDS
PACKET
Forwarding
IP
HYBRID
MPLS
+IP
CIRCUIT
SWITCHING
ATM
• MPLS + IP forms a middle ground that combines
the best of IP and the best of circuit switching
technologies.
15
MPLS Terminology
• LDP: Label Distribution Protocol
• LSP: Label Switched Path
• LER: Label Edge Router (edge of an area
that supports MPLS)
• LSR: Label Switching Router (inside an area
that supports MPLS)
• FEC: Forwarding Equivalence Class
16
LER’s and LSR’s
IP
IP
IP to LSP
LER
#L1
IP
#L2
LABEL SWITCHING
LSR’s
IP
#L3
IP
LSP to IP
LER
17
Forwarding Equivalence Classes
• FEC = “A subset of packets that are all treated (forwarded) the same way
by a router”
• The concept of FECs provides for a great deal of flexibility and
scalability. Traffic can be aggregated or differentiated in many ways
• In conventional routing, a packet is assigned to an FEC at each hop (i.e.
L3 look-up), in MPLS it is only done once at the network ingress.
LSR
LSR
LER
LER
LSP
IP1
IP1
IP1
#L1
IP1
#L2
IP1
#L3
IP2
#L1
IP2
#L2
IP2
#L3
IP2
IP2
Packets are destined for different address prefixes, but can be
mapped to common path
18
Label Switched Path (Two Types)
#427
#216
#819
#77
#18
#963
#14
#612
#462
#99
#5
#311
Two types of Label Switched Paths:
•
Hop by hop
(“Vanilla” LDP)
•
Explicit Routing (LDP+”ER”)
19
LABEL SWITCHED PATH (vanilla)
#216
#14
#311
#99
#311
#963
#311
#963
#14
#612
#5
#462
#99
#311
- A Vanilla LSP creates MPLS paths for standard IP routing
(from IP routing tables).
- A Vanilla LSP is actually part of a tree from every source
to that destination (unidirectional).
20
STANDARD IP
D est
O ut
1
2
3
D est
O ut
4 7 .1
4 7 .2
4 7 .1
4 7 .2
1
2
4 7 .3
4 7 .3
3
1 47.1
1
2
3
D est
O ut
4 7 .1
4 7 .2
1
2
4 7 .3
3
2
1
47.2
3
Network 47.3
2
• Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.
21
STANDARD IP
O ut
4 7 .1
4 7 .2
1
2
4 7 .3
3
O ut
D est
O ut
4 7 .1
4 7 .2
1
2
4 7 .1
4 7 .2
1
2
4 7 .3
3
4 7 .3
3
1 47.1
1
D est
D est
IP 47.1.1.1
2
IP 47.1.1.1
3
2
IP 47.1.1.1
1
47.2
47.3 3
2
IP 47.1.1.1
22
Label Switched Path (LSP)
Intf Label Dest Intf Label
In In
Out Out
3
50
47.1 1
40
Intf Dest Intf Label
In
Out Out
3
47.1 1
50
3
1
47.3 3
Label Dest Intf
In
Out
40
47.1 1
IP 47.1.1.1
1 47.1
3
1
Intf
In
3
2
2
47.2
2
IP 47.1.1.1
23
MPLS Label Distribution
Intf Label Dest Intf Label
In In
Out Out
3
50
47.1 1
40
Intf
In
3
Label Dest Intf
In
Out
40
47.1 1
1
Request: 47.1
Intf Dest Intf Label
In
Out Out
3
47.1 1
50
47.3 3
3
2
3
1
47.1
1
2
Mapping: 40
47.2
2
24
Benefits and Limitations
• Why might the MPLS approach be better than normal IP
forwarding that does not use MPLS?
— Remember, all packets still travel the same paths.
• What else might we be able to do with MPLS that could
be even more powerful if we went beyond following
normal IP Routing?
25
Route=
{A,B,C}
EXPLICITLY ROUTED OR ER-LSP
#14
#972
#216
B
#14
A
C
#972
#462
- ER-LSP follows the route that source chooses. In other
words, the control message to establish the LSP (label
request) is source routed.
26
EXPLICITLY ROUTED LSP ER-LSP
This entry gives the
longest prefix match.
Intf Label Dest Intf Label
In In
Out Out
3
50
47.1 1
40
Intf Dest
In
3
47.1.1
3
47.1
Intf
Out
2
1
Label
Out
33
50
Intf
In
3
Label Dest Intf
In
Out
40
47.1 1
IP 47.1.1.1
1 47.1
3
3
2
1
1
47.3 3
2
47.2
2
IP 47.1.1.1
Explicitly Routing LSP
that does not follow
the standard IP path.
27
ER LSP - Advantages
• Operator has routing flexibility
— Can establish LSP’s based on policy, QoS, etc.
— Can have pre-established LSP’s that can be used in case
of failures.
• Can use routes other than the shortest path
• Can compute routes based on dynamic
constraints (available bandwidth, delay, etc.) in
exactly the same manner as ATM based on a
distributed topology database.
(traffic engineering)
28
ER LSP - Discord!
• Two signaling options are proposed in the
standards: CR-LDP and RSVP extensions:
– CR-LDP = Label Distribution Protocol (LDP) + Explicit Routing
– RSVP-TE = Traditional Resource Reservation Protocol (RSVP)
+ Explicit Route + Scalability Extensions
• RSVP was established several years ago to be able
to reserve resources along a path.
— To ensure QoS by making sure each flow had enough
resources.
— Had significant scalability problems.
• ITU has decided on LDP/CR-LDP for public
networks.
29
Outline
• Overview
• Label Encapsulations
• Label Distribution Protocols
• Constraint Based Routing
• MPLS and VPNs
• Network Survivability
• Summary
30
WDM
Upper Layer Consistency Across
Lower Layers
Ethernet
GigEthernet
Optical Cross
Connect (OXC)
ATM
Frame
Relay
• MPLS is “multiprotocol” below the network layer (for the link layer and
below)
• MPLS can be used with all of the above technologies
• Provides for consistent operations, engineering across multiple
technologies
• Allows operators to leverage existing infrastructure
• Co-existence with other protocols is provided for
31
MPLS Encapsulation - PPP & LAN Data Links
MPLS ‘Shim’ Headers (1-n)
n
•••
1
Network Layer Header
and Packet (eg. IP)
Layer 2 Header
(eg. PPP, 802.3)
4 Octets
Label Stack
Entry Format
Label
Exp.
S
TTL
Label: Label Value, 20 bits (Values 0 through 16 are reserved)
Exp.:
Experimental, 3 bits (was Class of Service)
S:
Bottom of Stack, 1 bit (1 = last entry in label stack)
TTL:
Time to Live, 8 bits
• Network layer must be inferable from value of bottom label of the stack
MPLS on LANs uses a ‘Shim’ Header Inserted
Between Layer 2 and Layer 3 Headers
(other technologies use different approaches)
32
Outline
• Overview
• Label Encapsulations
• Label Distribution Protocols
• Constraint-Based Routing
• MPLS and VPNs
• Network Survivability
• Summary
33
Label Distribution Protocols
• Label Distribution Protocol (LDP)
• Constraint-based Routing LDP (CR-LDP)
• Extensions to RSVP
34
Label Distribution Protocol (LDP) - Purpose
Label distribution ensures that adjacent routers have
a common view of bindings of FEC’s to labels
Routing Table:
Routing Table:
Addr-prefix
47.0.0.0/8
Addr-prefix
47.0.0.0/8
Next Hop
LSR2
Next Hop
LSR3
LSR1
IP Packet
LSR3
LSR2
47.80.55.3
Label Information Base:
Label-In FEC Label-Out
XX
47.0.0.0/8
17
Step 3: LSR inserts label
value into forwarding base
For 47.0.0.0/8
use label ‘17’
Label Information Base:
Label-In FEC Label-Out
17
47.0.0.0/8
XX
Step 2: LSR communicates
binding to adjacent LSR
Step 1: LSR creates binding
between FEC and label value
Common understanding of which FEC the label is referring to!
Label distribution can either piggyback on top of an existing routing protocol,
or a dedicated label distribution protocol (LDP) can be created.
35
Labels are Downstream Assigned
• Note that label assignments are decided at the
downstream node and communicated to the upstream
node.
• Why does it need to be done this way?
• What flexibility does this approach provide?
36
Label Distribution Protocols
• Label Distribution Protocol (LDP)
• Constraint-based Routing LDP (CR-LDP)
• Extensions to RSVP
37
Traffic Engineering Requirements
Constraint-Based Routing is one method of Traffic Engineering.
Traffic Engineering seeks to engineer the best use of capacity.
RFC 2702:
• Strict & Loose ER
• Specification of QoS
• Specification of Traffic Parameters
• Route Pinning
• Preemption
• Failure Recovery
38
Constraint Based Routing using LDP (CRLDP)
• Built on existing LDP messages over TCP.
• Defines an Explicit Route:
— Detailed path that can traverse any links supporting CR-LDP.
• Defines a set of constraints for LSP computation and
admission:
— Expectation and Allocation of resources:
– Peak burst & rate, Committed burst & rate,
Excess burst, Frequency, Weight.
— Preemption Level:
– Setup and Holding Priority with respect to other LSPs.
— Resource Class:
– Color of traffic inclusion, exclusion rules for links.
39
CR-LDP Preemption
• Preemption may or may not be a good idea in a
particular context – recall our discussion in
previous lectures.
• A CR-LSP carries an LSP priority. This priority can
be used to allow new LSPs to bump existing LSPs
of lower priority in order to steal their resources.
• This is especially useful during times of failure and
allows you to rank the LSPs such that the most
important obtain resources before less important
LSPs.
40
Preemption A.K.A. Bumping
This LSP must be
preempted.
Now this one can
proceed.
Route=
{A,B,C}
#216
B
#14
A
C
#972
#462
41
Label Distribution Protocols
• Label Distribution Protocol (LDP)
• Constraint-based Routing LDP (CR-LDP)
• Extensions to RSVP
42
ER-LSP setup using RSVP-TE
• TE (Traffic Engineering) extensions to RSVP
• Built on RSVP messages over IP.
— In RSVP, a source requests resources along a path.
— Then the source regularly sends refresh messages to keep the
reservations active.
• Extensions to RSVP:
—
—
—
—
—
Explicit Route Object
Label Request
Label Object
Session Attribute
Record Route Object
• Defines a set of constraints for LSP computation and admission:
— Expectation and Allocation of resources: Uses Inserv-style reservations
— Preemption Level: Setup and Holding Priority with respect to other LSPs.
43
Outline
• Overview
• Label Encapsulations
• Label Distribution Protocols
• Constraint Based Routing
• MPLS and VPNs
• Network Survivability
• Summary
44
IP Follows a Tree to the Destination
Dest=a.b.c.d
a.b.c.d
Dest=a.b.c.d
Dest=a.b.c.d
- IP will over-utilize best paths and under-utilize
not-so-good paths.
45
HOP-BY-HOP (A.K.A Vanilla) LDP
#216
#963
#14
#612
#5
#462
#99
#311
- Ultra fast, simple forwarding a.k.a switching
- Follows same route as normal IP datapath
- So like IP, LDP will over-utilize best paths and
under-utilize less good paths.
46
Label Switched Path (Two Types)
#427
#216
#819
#77
#18
#963
#14
#612
#462
#99
#5
#311
Two types of Label Switched Paths:
•
Hop by hop
(“Vanilla” LDP)
•
Explicit Routing (LDP+”ER”)
47
CR-LDP
CR = “Constraint” based “Routing”
Example: USE: (links with sufficient resources) AND
(links of type “someColor”) AND
(links that have delay less than 200 ms)
&
&
=
48
Traffic Engineering
B
C
Demand
A
D
Traffic engineering is the process of mapping traffic demand onto a network
Network
Topology
Purpose of traffic engineering:
• Maximize utilization of links and nodes throughout the network
• Engineer links to achieve required delay, grade-of-service
• Spread the network traffic across network links to minimize impact of failure
• Ensure available spare link capacity for re-routing traffic on failure
• Meet policy requirements imposed by the network operator
Traffic engineering is key to optimizing cost/performance
49
MPLS Traffic Engineering Methods
• MPLS can use the source routing capability to
steer traffic on desired paths
• An operator may manually configure LSRs along
the desired paths.
• What are limitations of manual configuration?
50
WHEN SHOULD TE BE USED?
• When traffic is being thrown away but you have other
viable routes that are unused or underutilized.
• When it is not acceptable to simply rank packets and
throw away the least important traffic first.
• Don’t use TE if it is not necessary. In fact don’t use
MPLS if vanilla IP is working for you. Use LDP, CR-LDP
and RSVP-TE if/when they are needed.
51
Reactive traffic engineering
Wait till you have a problem and then patch
around it.
1- Identify a flow to move
Q: how?
2- Establish an LSP on some other route
Q: what route?
52
How to identify a flow to move?
Good Statistics!
A) move the flow that has packets being discarded. For
this you need to have stats that show {src, dest,
protocol} that are being thrown away. (note this is TE of
least important traffic)
B) move some other high priority user on the link
somewhere else. For this you need to have stats that
show {src, dest, protocol} of high users. (note, this is TE
of more important traffic)
53
What route should be used for an LSP?
An non-shortest path!
A) Explicitly route without the help of constraint based
routing.
B) Use constraint “not this link” so that MPLS can pick
all the other links dynamically but is not allowed to pick
the congested one.
Neither of these approaches will result in shortest paths
and both are hard to administer as things scale up.
54
Pro-active traffic engineering (plan ahead)
S1
S2
S3
D
S4
S5
S6
1- Start with rough idea on {Si, D} B/W
requirements.
2- Establish constraint based tunnels {Si -> D}
3- repeat forever at regular planning intervals
(days, weeks, months)
3a- Remeasure {Si -> D} B/W utilization.
3b- Adjust reservations on {Si ->D} to be closer
to actual utilization using hot swaps.
55
MPLS Traffic engineering
•Imperative to be able to monitor flow rates to
the granularity of {source, dest, protocol} .
•Try to adjust the reservations periodically to
reflect changes in utilization.
•MPLS aims to do a really good job of placing
routes given the reservations are accurate.
•MPLS allows dynamic changes to reservations
so they can slowly converge to reality over
time.
56
MPLS Traffic engineering
interactions with vanilla IP.
•There are non trivial interaction issues to deal with
when some of the traffic is traffic engineered (MPLS)
and the rest (vanilla IP) is not.
•What problems might occur?
57
Outline
• Overview
• Label Encapsulations
• Label Distribution Protocols
• Constraint Based Routing
• MPLS and VPNs
• Network Survivability
• Summary
58
MPLS Provides Benefits for Establishing
Virtual Private Networks
• Virtual Private Network (VPN)
— Connects two or more separate sites over the Internet
— Allows them to function as if they were a single, private network.
— Key Features: Security, control over performance, management
ability.
• Use of MPLS for VPN’s
— MPLS can set up one or more LSP’s between sites.
— Organizations can choose how they use the LSP’s.
— Can view the LSP’s as virtual “network links”.
• Will study VPN’s more in a later lecture.
59
Outline
• Overview
• Label Encapsulations
• Label Distribution Protocols
• Constraint Based Routing
• MPLS and VPNs
• Network Survivability
• Summary
60
The need for MPLS protection
• MPLS-based services have been growing
— VPN’s
— Migration of ATM and Frame Relay onto MPLS
— Traffic Engineering
• MPLS-based services are more demanding of resiliency
and reliability
— Because MPLS promises more reliability.
— That’s one reason why customers would use MPLS-based services.
61
The need for MPLS protection
• Layer 3 recovery is too slow.
— OSPF, RIP, etc. require a redistribution of updated link status
information in response to a fault.
— Then routers must recompute their routes.
— Takes on the order of seconds.
— Can have looping and lost packets in the meantime.
• Other technologies are very fast.
— SONET can establish an alternate route around a failure within
50 milliseconds.
— By having active backup resources immediately available.
• It would be good to have millisecond failovers with
MPLS.
62
MPLS protection approaches
• Headend reroute
— Recompute LSP’s to find a new LSP after a failure.
— Initiated by the source or LER.
— But this is just has slow as using OSPF or RIP – not good.
• Pre-signaled standby LSP’s
— Backup LSP is signaled in advance from primary ingress to egress.
— It does not share any links or LSR’s with the primary path.
— Called “link and node disjoint”.
— Has millisecond failover, around 500 milliseconds.
— These backup LSP’s need to have resources reserved for them, but
these resources are not used very often.
— Note: But SONET also has a lot of unused resources just on standby
for failures.
63
Pre-signaled Standby LSP’s
• Planning occurs before failure
— Then LSP ingress learns of the failure
— Moves traffic to use standby LSP
• Ingress must first know about the failure
— The farther away from the failure, the longer it will take to start
the reroute.
64
MPLS protection approaches
• MPLS Fast Reroute
— During the establishment of a primary LSP, a protected path for each
possible link or node failure is pre-signaled.
— Even faster failover, around 50 milliseconds.
— But many more LSP’s are established, with resources reserved to
them
— Much more to manage.
• Midpoint LSR’s could make their own LSP’s to the
egress.
— To go around the immediate downstream link or node that could fail.
— LSP’s are established using the same criteria used for the primary
LSP.
— Since the PLR (Protection Label-Switched Router) is immediately
connected to the failed link, it will know about the failure very quickly
from the hardware.
— Then the backup LSP can be used.
65
MPLS Fast Reroute
— A merge node joins traffic back onto the primary LSP.
66
Outline
• Overview
• Label Encapsulations
• Label Distribution Protocols
• Constraint Based Routing
• MPLS and VPNs
• Network Survivability
• Summary
67
Summary of Motivations for MPLS
• Simplified forwarding based on an exact match of a fixed
length label
— Initial driver for MPLS was based on the existence of cheap, fast ATM
switches
• Separation of routing and forwarding in IP networks
— Facilitates evolution of routing techniques by fixing the forwarding
method
— New routing functionality can be deployed without changing the
forwarding techniques of every router in the Internet
• Facilitates the integration of ATM and IP
— Allows carriers to leverage their large investment of ATM equipment
68
Summary of Motivations for MPLS
• Enables the use of explicit routing/source routing in IP
networks
— Can easily be used for such things as traffic management, QoS
routing
• Promotes the partitioning of functionality within the
network
— Move detailed processing of packets to the edge; restrict core to
simple packet forwarding
— Assists in maintaining scalability of IP protocols in large networks
• MPLS can enable fast restoration from failures.
69
Summary of Motivations for MPLS
• Applicability to both cell and packet link-layers
— Can be deployed on both cell (eg. ATM) and packet (eg. FR, Ethernet)
media
— Common management and techniques simplifies engineering
• But MPLS is much more complex than traditional IP
forwarding
— Routers need to be able to forward based on labels (in addition to their
normal functions).
— LSP’s must be signalled and maintained.
— Some ISP’s have said they are not using MPLS and do not plan to.
– This will continue to be true if overprovisioning remains effective.
– But MPLS is more seriously being considered to carry legacy ATM
and Frame Relay traffic (connection-oriented traffic).
– And some of these ISP’s are realizing that their customers want
MPLS to provide more assurance about their IP-based services.
70
Summary
• MPLS is an important emerging technology.
• MPLS/LDP/CR-LDP have been recommended by the ITU
for IP transport on ATM in public networks.
• Basic functionality (Encapsulation and basic Label
Distribution) has been defined by the IETF.
• Traffic Engineering based on MPLS/CR-LDP is being
developed (protocols and research).
71