Sei sulla pagina 1di 45

Introduction to MPLS

and Traffic Engineering


Zartash Afzal Uzmi
Outline
Traditional IP Routing
Forwarding and routing
Problems with IP routing
Motivations behind MPLS
MPLS Terminology and Operation
MPLS Label, LSR and LSP, LFIB Vs FIB
Transport of an IP packet over MPLS
More MPLS terminology
Traffic Engineering [with MPLS]
Nomenclature
Requirements
Examples

Feb 14, 2008 CS 573: Network Protocols and Standards 2


Outline
Traditional IP Routing
Forwarding and routing
Problems with IP routing
Motivations behind MPLS
MPLS Terminology and Operation
MPLS Label, LSR and LSP, LFIB Vs FIB
Transport of an IP packet over MPLS
More MPLS terminology
Traffic Engineering [with MPLS]
Nomenclature
Requirements
Examples

Feb 14, 2008 CS 573: Network Protocols and Standards 3


Forwarding and routing
Forwarding:
Passing a packet to the next hop router
Routing:
Computing the best path to the destination
IP routing includes routing and forwarding
Each router makes the forwarding decision
Each router makes the routing decision
MPLS routing
Only one router (source) makes the routing decision
Intermediate routers make the forwarding decision

Feb 14, 2008 CS 573: Network Protocols and Standards 4


IP versus MPLS routing
IP routing
Each IP datagram is routed independently
Routing and forwarding is destination-based
Routers look at the destination addresses
May lead to congestion in parts of the network
MPLS routing
A path is computed in advance and a virtual
circuit is established from ingress to egress
An MPLS path from ingress to egress node is
called a label switched path (LSP)

Feb 14, 2008 CS 573: Network Protocols and Standards 5


How IP routing works

Searching
Longest
Prefix Match
in FIB (Too
Slow)
Feb 14, 2008 CS 573: Network Protocols and Standards 6
Problems with IP routing
Too slow
IP lookup (longest prefix matching) was a
major bottleneck in high performance routers
This was made worse by the fact that IP
forwarding requires complex lookup operation
at every hop along the path
Too rigid no flexibility
Routing decisions are destination-based
Not scalable in some desirable applications
When mapping IP traffic onto ATM

Feb 14, 2008 CS 573: Network Protocols and Standards 7


IP routing rigidity example
D
1 1
A
S A B
B
1 2
C

Packet 1: Destination A
Packet 2: Destination B
S computes shortest paths to A and B; finds D as next hop
Both packets will follow the same path
Leads to IP hotspots!
Solution?
Try to divert the traffic onto alternate paths

Feb 14, 2008 CS 573: Network Protocols and Standards 8


IP routing rigidity example
D
1 4
A
S A B
B
1 2
C

Increase the cost of link DA from 1 to 4


Traffic is diverted away from node D
A new IP hotspot is created!
Solution(?): Network Engineering
Put more bandwidth where the traffic is!
Leads to underutilized links; not suitable for large networks

Feb 14, 2008 CS 573: Network Protocols and Standards 9


Motivations behind MPLS
Avoid [slow] IP lookup
Led to the development of IP switching in 1996
Provide some scalability for IP over ATM
Evolve routing functionality
Control was too closely tied to forwarding

Evolution of routing functionality led to some


other benefits
Explicit path routing
Provision of service differentiation (QoS)

Feb 14, 2008 CS 573: Network Protocols and Standards 10


IP routing versus MPLS routing
Traditional IP Label
Multiprotocol Routing
Switching (MPLS)
1 2

S D

3 4 5

MPLS allows overriding shortest paths!

Feb 14, 2008 CS 573: Network Protocols and Standards 11


Outline
Traditional IP Routing
Forwarding and routing
Problems with IP routing
Motivations behind MPLS
MPLS Terminology and Operation
MPLS Label, LSR and LSP, LFIB Vs FIB
Transport of an IP packet over MPLS
More MPLS terminology
Traffic Engineering [with MPLS]
Nomenclature
Requirements
Examples

Feb 14, 2008 CS 573: Network Protocols and Standards 12


MPLS label
To avoid IP lookup MPLS packets carry
extra information called Label
Packet forwarding decision is made using
label-based lookups
Label IP Datagram

Labels have local significance only!


How routing along explicit path works?

Feb 14, 2008 CS 573: Network Protocols and Standards 13


Routing along explicit paths
Idea: Let the source make the complete routing
decision
How is this accomplished?
Let the ingress attach a label to the IP packet and let
intermediate routers make forwarding decisions only
On what basis should you choose different paths
for different flows?
Define some constraints and hope that the constraints
will take some traffic away from the hotspot!
Use CSPF instead of SPF (shortest path first)

Feb 14, 2008 CS 573: Network Protocols and Standards 14


Label, LSP and LSR
Label 01234567890123456789012345678901
Label | Exp|S| TTL

Label = 20 bits
Exp = Experimental, 3 bits
S = Bottom of stack, 1bit
TTL = Time to live, 8 bits

Router that supports MPLS is known as label


switching router (LSR)
An Edge LSR is also known as LER (edge router)
Path which is followed using labels is called LSP

Feb 14, 2008 CS 573: Network Protocols and Standards 15


LFIB versus FIB
Labels are searched in LFIB whereas normal IP
Routing uses FIB to search longest prefix match
for a destination IP address
Why switching based on labels is faster?
LFIB has fewer entries
Routing table FIB has larger number of entries???

In LFIB, label is an exact match


In FIB, IP is longest prefix match

Feb 14, 2008 CS 573: Network Protocols and Standards 16


MPLS Flow Progress

D
R1 LSR4 R2
LSR1
D

LSR6 destination

LSR3
LSR2 R1 and R2 are
regular routers
LSR5

1 - R1 receives a packet for destination D connected to R2

Feb 14, 2008 CS 573: Network Protocols and Standards 17


MPLS Flow Progress

D
R1 LSR4 R2
LSR1
D

LSR6 destination

LSR3
LSR2

LSR5

2 - R1 determines the next hop as LSR1 and forwards the packet


(Makes a routing as well as a forwarding decision)

Feb 14, 2008 CS 573: Network Protocols and Standards 18


MPLS Flow Progress

R1 LSR4 R2
LSR1
31 D
D

LSR6 destination

LSR3
LSR2

LSR5

3 LSR1 establishes a path to LSR6 and PUSHES a label


(Makes a routing as well as a forwarding decision)

Feb 14, 2008 CS 573: Network Protocols and Standards 19


MPLS Flow Progress

R1 LSR4 R2
LSR1
D

LSR6 destination

LSR3 17 D

LSR2

LSR5 Labels have local


signifacance!
4 LSR3 just looks at the incoming label
LSR3 SWAPS with another label before forwarding

Feb 14, 2008 CS 573: Network Protocols and Standards 20


MPLS Flow Progress

R1 LSR4 R2
LSR1
D

LSR6 destination

LSR3 17 D

LSR2
Path within MPLS cloud
is pre-established:
LSR5
LSP (label-switched path)

5 LSR6 looks at the incoming label


LSR6 POPS the label before forwarding to R2

Feb 14, 2008 CS 573: Network Protocols and Standards 21


MPLS and explicit routing recap
Who establishes the LSPs in advance?
Ingress routers
How do ingress routers decide not to always take
the shortest path?
Ingress routers use CSPF (constrained shortest path
first) instead of SPF
Examples of constraints:
Do not use links left with less than 7Mb/s bandwidth

Do not use blue-colored links for this request

Use a path with delay less than 130ms

Feb 14, 2008 CS 573: Network Protocols and Standards 22


CSPF
What is the mechanism? (in typical cases!)
First prune all links not fulfilling constrains
Now find shortest path on the rest of the topology
Requires some reservation mechanism
Changing state of the network must also be
recorded and propagated
For example, ingress needs to know how much
bandwidth is left on links
The information is propagated by means of routing
protocols and their extensions

Feb 14, 2008 CS 573: Network Protocols and Standards 23


More MPLS terminology

Upstream Downstream

172.68.10/24
LSR1 LSR2

Data

Feb 14, 2008 CS 573: Network Protocols and Standards 24


Label advertisement
Always downstream to upstream label
advertisement and distribution

Upstream Downstream
Use label 5 for destination
171.68.32/24
171.68.32/24

MPLS Data Packet LSR2


LSR1 with label 5 travels

Feb 14, 2008 CS 573: Network Protocols and Standards 25


Label advertisement
Label advertisement can be downstream
unsolicited or downstream on-demand
Upstream Sends label Downstream
Without any Request
171.68.32/24

LSR1 LSR2

Upstream Sends label ONLY after Downstream


receiving request
171.68.32/24

LSR1 LSR2
Request For label

Feb 14, 2008 CS 573: Network Protocols and Standards 26


Label distribution
Label distribution can be ordered or unordered
First we see an example of ordered label distribution

Label

Egress LSR
Ingress LSR

Feb 14, 2008 CS 573: Network Protocols and Standards 27


Label distribution
Label distribution can be ordered or unordered
Next we see an example of unordered label distribution

Label

Label

Egress LSR
Ingress LSR

Feb 14, 2008 CS 573: Network Protocols and Standards 28


Label retention modes
Label retention can be conservative or liberal

? Destination

Label

LSR1

Label

Feb 14, 2008 CS 573: Network Protocols and Standards 29


Label operations
Advertisement
Downstream unsolicited
Downstream on-demand
Distribution
Ordered
Unordered
Retention
Liberal
Conservative

Feb 14, 2008 CS 573: Network Protocols and Standards 30


Outline
Traditional IP Routing
Forwarding and routing
Problems with IP routing
Motivations behind MPLS
MPLS Terminology and Operation
MPLS Label, LSR and LSP, LFIB Vs FIB
Transport of an IP packet over MPLS
More MPLS terminology
Traffic Engineering [with MPLS]
Nomenclature
Requirements
Examples

Feb 14, 2008 CS 573: Network Protocols and Standards 31


Traffic Engineering
Traffic Engineering with MPLS
(Application of CSPF)
What is traffic engineering?
Performance optimization of operational networks
optimizing resource utilization
optimizing traffic performance
reliable network operation
How is traffic engineered?
measurement, modeling, characterization, and
control of Internet traffic
Why?
high cost of network assets
service differentiation

Feb 14, 2008 CS 573: Network Protocols and Standards 33


Traffic engineering
Recall the IP hotspot problem

The ability to move traffic away from the


shortest path calculated by the IGP (such as
OSPF) to a less congested path

IP: changing a metric will cause ALL the traffic


to divert to the less congested path
MPLS: allows explicit routing (using CSPF) and
setup of such explicitly computed LSPs

Feb 14, 2008 CS 573: Network Protocols and Standards 34


MPLS-TE: How to do it?
LSPs are set up by LSRs based on information
they learn from routing protocols (IGPs)
This defeats the purpose!
If we were to use shortest path, IGP was okay

Feb 14, 2008 CS 573: Network Protocols and Standards 35


MPLS TE: How we actually do it?
MPLS TE Requires:
Enhancements to routing protocols
OSPF-TE
ISIS-TE
Enhancement to signaling protocols to allow
explicit constraint based routing
RSVP-TE and CR-LDP
Constraint based routing
Explicit route selection
Recovery mechanisms defined

Feb 14, 2008 CS 573: Network Protocols and Standards 36


Signaling mechanisms
RSVP-TE
Extensions to RSVP for traffic engineering
BGP-4
Carrying label information in BGP-4
CR-LDP
A label distribution protocol that distributes labels
determined based on constraint based routing

RSVP-TE and CR-LDP both do label distribution


and path reservation use any one of them!

Feb 14, 2008 CS 573: Network Protocols and Standards 37


RSVP-TE

Basic flow of LSP set-up using RSVP

Feb 14, 2008 CS 573: Network Protocols and Standards 38


RSVP-TE PATH Message

PATH message is used to establish state and


request label assignment
R1 transmits a PATH message addressed to R9

Feb 14, 2008 CS 573: Network Protocols and Standards 39


RSVP-TE RESV Message

RESV is used to distribute labels after reserving resources


R9 transmits a RESV message, with label=3, to R8
R8 and R4 store outbound label and allocate an inbound label.
They also transmit RESV with inbound label to upstream LSR
R1 binds label to forwarding equivalence class (FEC)

Feb 14, 2008 CS 573: Network Protocols and Standards 40


Rerouting LSP tunnels
When a more optimal route/path
becomes available
When a failure of a resource occurs along
a TE LSP

Make-before-break mechanism
Adaptive, smooth rerouting and traffic
transfer before tearing down the old LSP
Not disruptive to traffic

Feb 14, 2008 CS 573: Network Protocols and Standards 41


Recovering LSP tunnels
LSP Set-up

Feb 14, 2008 CS 573: Network Protocols and Standards 42


Protection LSP set up

Feb 14, 2008 CS 573: Network Protocols and Standards 43


Protection LSP

Feb 14, 2008 CS 573: Network Protocols and Standards 44


References
RFC 2702 Requirements for Traffic
Engineering Over MPLS
RFC 3031 Multiprotocol Label Switching
Architecture
RFC 3272 Overview and Principles of
Internet Traffic Engineering
RFC 3346 Applicability Statement for
Traffic Engineering with MPLS
MPLS Forum (http://www.mplsforum.org)

Feb 14, 2008 CS 573: Network Protocols and Standards 45

Potrebbero piacerti anche