You are on page 1of 58

Module 4

Advanced MPLS
Technology

© 2001, Cisco Systems, Inc.


Objectives
Upon completion of this chapter, you will be
able to perform the following tasks:
• Describe the concept of Label Switch Paths and
the impact of route summarization on LSP
• Understand the basics of MPLS Traffic Engineering
• Understand the data-plane loop detection in MPLS
and how it relates to IP TTL
• Explain the benefits and drawbacks of IP TTL
propagation
• Understand the data-plane loop detection in the
ATM environment and how it affects
troubleshooting tools such as traceroute
• Explain the impacts of configuring MPLS in
networks running BGP
• Design simplified BGP networks based on MPLS
technology
© 2001, Cisco Systems, Inc. MPLS v1.0—4-2
Label Switch Paths in
Unicast IP Routing

© 2001, Cisco Systems, Inc. MPLS v1.0—4-3


Objectives

Upon completion of this section, you


will be able to perform the following
tasks:
• Explain the concept of Label Switch
Path
• Describe how the LSP is built in
unicast
IP routing
• Describe the impact of IP aggregation
on Label Switch Paths
© 2001, Cisco Systems, Inc. MPLS v1.0—4-4
LSP Tunnels
• An LSP tunnel is a sequence of LSRs that forward
labeled packets of a certain forwarding
equivalence class.
• MPLS unicast IP forwarding builds LSP tunnels
based on the output of IP routing protocols.
• LDP or TDP advertises labels only for individual
segments in the LSP tunnel.
• LSP tunnels are unidirectional.
• Return traffic uses a different LSP tunnel (usually
the reverse path, as most routing protocols
provide symmetrical routing).
• An LSP tunnel can take a different path from the
one chosen by an IP routing protocol (MPLS
traffic engineering).
© 2001, Cisco Systems, Inc. MPLS v1.0—4-5
LSP Tunnel Building Example

IP routing
protocol
updates
C F

A I

D
G

B
H

LSP:
E
AB D G 
I

• IP routing protocol determines the path.


• LDP or TDP propagates labels to convert the
path to an LSP tunnel.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-6
LSP Tunnel Building
Example (cont.)
LDP
update
23 s
57
C F
16
A 23 34 I
p
77 po
D 34
LFIB: 16 G
3377 34
51
LIB: B 51 34
10/8 77
10/8 57 H
LFIB: LFIB:
E LFIB:
7716 1634 34pop
LIB: LIB: LIB:
10/8 16 10/8 23 10/8 pop
10/8 51 10/8 34
10/8 51

LDP or TDP propagates labels to convert the


path to an LSP tunnel.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-7


Effects of IP Aggregation on
LSP Tunnels
Aggregation
point
10.1.0.0/16 10.1.0.0/16 10.1.1.0/24 10.1.1.0/24 IGP
10.1.1.0/24 10.1.1.0/24 10.1.1.0/24 LDP/TDP
L=55 L=33 L=pop
10.1.0.0/16 10.1.0.0/16
L=23 L=pop

A B C D E
23 10.1.1.1 10.1.1.1 23 10.1.1.1 10.1.1.1

• IP aggregation breaks an LSP tunnel


into two segments.
• Router C is forwarding packets based
on Layer 3 information.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-8
Effects of IP Aggregation on
LSP Tunnels (cont.)

• ATM LSRs must not aggregate because


they cannot forward IP packets.
• Aggregation should not be used where
end-to-end LSP tunnel are required
(MPLS Virtual Private Networks [VPNs]).

© 2001, Cisco Systems, Inc. MPLS v1.0—4-9


Summary

After completing this section, you


should be able to perform the
following tasks:
• Explain the concept of Label Switch
Path
• Describe how the LSP is built in unicast
IP routing
• Describe the impact of IP aggregation
on Label Switch Paths
© 2001, Cisco Systems, Inc. MPLS v1.0—4-10
Review Questions

• What is an LSP?
• Which mechanism determines the
path?
• What happens when IP aggregation
(summarization) is used?

© 2001, Cisco Systems, Inc. MPLS v1.0—4-11


Explicit Label Switch
Paths (Traffic
Engineering)

© 2001, Cisco Systems, Inc. MPLS v1.0—4-12


Objectives

Upon completion of this section,


you will be able to perform the
following tasks:
• Explain the concept of explicit Label
Switch Path
• Describe how an explicit LSP can be
used for traffic engineering
• Describe the needs for running
LDP/TDP across explicit LSP

© 2001, Cisco Systems, Inc. MPLS v1.0—4-13


Explicit LSP Tunnels

• LSP tunnels are usually determined by


IP routing protocols.
• MPLS traffic engineering can be used
to diverge from the IGP-determined
path.
• Constraint-based Routing using Label
Distribution Protocol (CR-LDP) or
RSVP with extensions for traffic
engineering is used to establish LSP
tunnels.
• LSP tunnels can also be configured
manually.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-14
MPLS Traffic Engineering
Example
10.0.0.0/16 10.0.0.0/16 10.0.0.0/16
10.0.0.0/16 10.0.0.0/16 10.0.0.0/16
L=16 L=23 L=pop

A B D F

10.0.0.0/16
10.0.0.0/16
10.0.0.0/16

10.0.0.0/16
10.0.0.0/16
L=31

L=23
10.0.0.0/16
L=44

C E

IGP and LDP or TDP create an LSP tunnel


based on the shortest path determined
by IGP.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-15
MPLS Traffic Engineering
Example (cont.)

1.2.3.4/32
L=54

A B D F
1.2.3.4/32
L=19

C E
1.2.3.4/32
L=pop 1.2.3.4
• RSVP creates a TE tunnel between routers A
and E.
• The new link can be included in the IGP
shortest path calculation.
• RSVP uses downstream-on-demand label
distribution.
• The tunnel creation is initiated from router A.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-16
MPLS Traffic Engineering
Example (cont.)
10.0.0.0/16
10.0.0.0/16
L=pop

A B D F

10.0.0.0/16
10.0.0.0/16
L=23
10.0
.0.0/
L=44 16

C E

• IGP and LDP or TDP create a new LSP tunnel based


on the shortest path determined by IGP.
• This LSP tunnel is going across the MPLS TE LSP
tunnel.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-17
MPLS Traffic Engineering
Example (cont.)
FIB:
10/8 23
1.2.3.4  19 FIB:
10/8  pop
LFIB: LFIB:
54  19
10.1.1.1 23  pop
16  23
54 44 10.1.1.1 10.1.1.1

A B D F
FIB: 19 44 10.1.1.1 23 10.1.1.1
10/8  44, 54
1.2.3.4  54 44 10.1.1.1

C E
FIB: FIB:
10/8  44 10/8  23
1.2.3.4  pop 1.2.3.4 

LFIB: LFIB:
19  pop 44  23

© 2001, Cisco Systems, Inc. MPLS v1.0—4-18


Explicit LSP Tunnels

• As seen in the previous example,


MPLS TE can be used to implement
load balancing across unequal paths.
• Explicit paths are almost transparent
to LDP and TDP.
• LDP or TDP uses directed hello
packets to find nonadjacent
neighbors.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-19


Summary

After completing this section, you


should be able to perform the
following tasks:
• Explain the concept of explicit Label
Switch Path
• Describe how an explicit LSP can be
used for traffic engineering
• Describe the needs for running LDP/TDP
across explicit LSP
© 2001, Cisco Systems, Inc. MPLS v1.0—4-20
Review Questions

• What is the purpose of using explicit


LSPs?
• Which technology makes use of
explicit LSPs?
• How does LDP/TDP find neighbors
across an MPLS/TE tunnel?
• Which protocols can be used to
establish MPLS/TE tunnels?
• What type of label propagation do
these protocols use?
© 2001, Cisco Systems, Inc. MPLS v1.0—4-21
Loop Detection in
Packet Mode MPLS

© 2001, Cisco Systems, Inc. MPLS v1.0—4-22


Objectives

Upon completion of this section, you


will be able to perform the following
tasks:
• Describe loop detection in packet-mode
MPLS
• Explain the implications of IP TTL
propagation into the TTL field of the label
header
• Explain the interactions between IP TTL
propagation and traceroute diagnostic
tools
© 2001, Cisco Systems, Inc. MPLS v1.0—4-23
Loop Detection

• LDP or TDP relies on loop detection


mechanisms built into IGPs that are
used to determine the path.
• If, however, a loop is generated (that is,
misconfiguration with static routes),
the TTL field in the label header is used
to prevent indefinite looping of packets.
• TTL functionality in the label header is
equivalent to TTL in the IP headers.
• TTL is usually copied from the IP
headers to the label headers (TTL
propagation).
© 2001, Cisco Systems, Inc. MPLS v1.0—4-24
Normal TTL Operation

TTL is Only the TTL in Label


decreased and the top-of-stack IP TTL
TTL
copied into entry is
label header. modified.

5 4 4 3 4 2 1

A B C D

The TTL is
decreased and
copied back into the
TTL field of the IP MPLS Domain
header.

Cisco routers have TTL propagation enabled by


default.
• On ingress: TTL is copied from IP header to label
header.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-25
Loop Detection

Label
IP TTL
MPLS Domain TTL

Routing loop

5 4 4 3 4

A B C D
2 4

1 4

0
Labeled packets are dropped when the 4

TTL is decremented to zero.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-26


Disabling TTL Propagation

• TTL propagation can be disabled.


• IP TTL value is not copied into the
labels and label TTL is not copied back
into IP TTL.
• Instead, the value 255 is assigned to
the label header TTL field on the
ingress LSR.
• Disabling TTL propagation hides core
routers in the MPLS domain.
• Traceroute across an MPLS domain
does not show any core routers.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-27
Traceroute with Disabled TTL
Propagation (1)
Label
IP TTL
TTL

A B C D
TTL exceeded
0

traceroute 10.1.1.1
1 10 ms A.acme.com
• The first traceroute packet (ICMP or
UDP) that reaches the network is
dropped on router A.
• An ICMP TTL exceeded message is
sent to the source from router A.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-28
Traceroute with Disabled TTL
Propagation (2)
Label
IP TTL
TTL

2 255 1 254 1 1

A B C D
TTL exceeded

0
traceroute 10.1.1.1
1 10 ms A.acme.com
• The second traceroute packet that 2 10 ms D.acme.com
reaches the network is dropped on
router D.
• An ICMP TTL exceeded message is
sent to the source from router D.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-29
Effect of Disabling TTL
Propagation

• Traceroute across an MPLS domain


does not show core routers.
• TTL propagation has to be disabled on
all LSRs.
• Mixed configurations (some LSRs with
TTL propagation enabled and some with
TTL propagation disabled) could result
in faulty traceroute output.
• TTL propagation can be enabled for
forwarded traffic only—traceroute from
LSRs does not use the initial TTL value
of 255.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-30
Summary

After completing this section, you


should be able to perform the
following tasks:
• Describe loop detection in packet-mode
MPLS
• Explain the implications of IP TTL
propagation into the TTL field of the
label header
• Explain the interactions between IP TTL
propagation and traceroute diagnostic
© 2001, Cisco Systems, Inc. MPLS v1.0—4-31
Review Questions

• How are routing loops prevented in


MPLS networks?
• What is the purpose of the TTL field?
• What is TTL propagation?
• What is the result of disabling TTL
propagation?
• What can happen when some LSRs
have TTL propagation disabled and
some do not?

© 2001, Cisco Systems, Inc. MPLS v1.0—4-32


Loop Detection in
Cell-Mode MPLS

© 2001, Cisco Systems, Inc. MPLS v1.0—4-33


Objectives

Upon completion of this section,


you will be able to perform the
following tasks:
• Explain the challenges of loop
detection in cell-mode MPLS
• Describe how the label-distribution
procedures enable loop detection in
cell-mode MPLS
• List loop detection mechanisms
available during TDP/LDP label
distribution
© 2001, Cisco Systems, Inc. MPLS v1.0—4-34
Loop Detection in
Cell-Mode MPLS

• VPI/VCI field in the ATM header is used


for label switching.
• ATM header does not contain a TTL
field.
• LDP or TDP still primarily relies on IGPs
to prevent routing loops.
• There is an additional mechanism built
into LDP or TDP to prevent loops.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-35


LDP Hop Count TLV

• LDP uses an additional type, length,


value (TLV) attribute to count the
number of hops in an LSP tunnel.
• The TTL field in the IP header or label
header is decreased by the number of
hops by the ingress ATM edge LSR
before being forwarded through an label
VC .
• If the TTL field is zero, or less the
packet is discarded.
• Maximum number of hops can also be
specified for LDP.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-36
LDP Hop Count
Example

10.0.0.0/16 10.0.0.0/16 10.0.0.0/16


L=1/43 L=1/34 L=1/35
Hops=3 Hops=2 Hops=1

A D
B C

LSR A discovers the length of the LSP


tunnel across the ATM domain to LSR D
through LDP.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-37
Traceroute Through ATM
LSRs Example (1)
TTL is decreased by Label
3 IP TTL
TTL
The new TTL value
would be –2
The packet is
dropped.
1

A D
TTL exceeded B C
-2

traceroute 10.1.1.1
1 10 ms A.acme.com

• The first traceroute packet that


reaches the network is dropped on
router A.
• An ICMP TTL exceeded message is
sent to the source from router A.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-38
Traceroute Through ATM
LSRs Example (2)
TTL is decreased by Label
3 IP TTL
TTL
The new TTL value
would be –1
The packet is
dropped.
2

A D
TTL exceeded B C
-1

traceroute 10.1.1.1
1 10 ms A.acme.com
2 10 ms A.acme.com
• The second traceroute packet that
reaches the network is dropped on
router A.
• An ICMP TTL exceeded message is
sent to the source from router A.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-39
Traceroute Through ATM
LSRs Example (3)
TTL is decreased by Label
3 IP TTL
TTL
The new TTL value
would be 0
The packet is
dropped.
3

A D
TTL exceeded B C
0

traceroute 10.1.1.1
1 10 ms A.acme.com
2 10 ms A.acme.com
• The third traceroute packet that 3 10 ms A.acme.com
reaches the network is dropped on
router A.
• An ICMP TTL exceeded message is
sent to the source from router A.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-40
Traceroute Through ATM
LSRs Example (4)
TTL is decreased by Label
3 IP TTL
TTL
The new TTL value is
1
The packet is
forwarded.
4 1 1 1

A D
B C

0
TTL exceeded

traceroute 10.1.1.1
1 10 ms A.acme.com
2 10 ms A.acme.com
• The fourth traceroute packet that 3 10 ms A.acme.com
4 10 ms D.acme.com
reaches the network is dropped on
router D.
• An ICMP TTL exceeded message is
sent to the source from router D.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-41
LDP Path Vector TLV

• Path vector TLV is another safeguard


that prevents loops in LDP.
• This TLV is used to carry router IDs of
all ATM LSRs in the path.
• If an LSR receives an LDP update with
its own router ID in the path vector TLV,
the update
is ignored.
• Path vector TLV is similar to BGP’s AS
path or cluster list attributes.
• Path vector TLV is not present in TDP.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-42
Path Vector
Example

10.0.0.0/16 10.0.0.0/16
PV=D,C,E,B PV=D

A D
B C
10
PV .0.

,C 6
=D 0.0

=D .0/1
,C /16

PV 0.0
,E

.
E 10
E

The LDP update is dropped because it contains


the router ID of router C in the path vector TLV.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-43


Loop Detection Summary

• MPLS primarily relies on loop


detection mechanisms built into
IGPs.
• Hop count TLV is used to simulate
TTL functionality on ATM LSRs with
the help of ATM edge LSRs.
• Path vector TLV is used to prevent
loops in LDP updates.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-44


Summary

After completing this section, you


should be able to perform the
following tasks:
• Explain the challenges of loop
detection in cell-mode MPLS
• Describe how the label-distribution
procedures enable loop detection in
cell-mode MPLS
• List loop detection mechanisms
available during TDP/LDP label
distribution
© 2001, Cisco Systems, Inc. MPLS v1.0—4-45
Review Questions

• Which mechanisms are used to prevent


routing loops in MPLS-enabled networks
using cell-mode MPLS?
• Which TLVs in LDP are used to prevent
loops?
• Describe TTL operation in cell-mode
MPLS.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-46


MPLS—BGP
Interaction

© 2001, Cisco Systems, Inc. MPLS v1.0—4-47


Objectives
Upon completion of this section,
you will be able to perform the
following tasks:
• Describe label allocation procedures
for external IP routes
• Explain label sharing between external
routes and BGP next hops
• Describe traditional BGP core design
requirements
• Explain the relaxation of core design
requirements made possible by MPLS
• List BGP design rules applicable in
© 2001, Cisco Systems, Inc. MPLS v1.0—4-48
Label Allocation in Unicast IP

• Labels are assigned to FECs.


• FEC in unicast IP routing is equal to a
destination prefix found in an IP routing
table.
• This is true only for IGP-derived
prefixes.
• BGP-derived prefixes are assigned the
label that is used for the BGP next-hop
address.
• Result: all prefixes learned from an
external BGP neighbor use a single
© 2001, Cisco Systems, Inc. MPLS v1.0—4-49
Traditional BGP AS
System Design
Requirements

ISP1 ISP2
EBGP EBGP
Transit AS
IBGP RR IBGP RR IBGP
Border1 Border2
Core1 Core2

• All core routers are required to run BGP.


• All core routers require full Internet routing
information (more than 100,000 networks) to
be able to forward IP packets between ISP1
and ISP2.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-50
Simplified BGP Network
Design in MPLS-Based
Networks
ISP1 ISP2
EBGP EBGP
Transit AS
IBGP
Border1 Border2
Core1 Core2

• Only border routers are required to run BGP.


• Core routers run an IGP to learn about BGP
next-hop addresses.
• Core routers run LDP or TDP to learn about
labels for next-hop addresses.

© 2001, Cisco Systems, Inc. MPLS v1.0—4-51


MPLS-Based Transit AS
Building FIB and LFIB
10

8
ISP1 ISP2

.0/
.0.

0
1.2.3.4

.0.
0.0

10
10.0.0.0/8
/8

Border1 Border2
Core1 Core2
FIB:
FIB: 1.2.3.4/32 1.2.3.4/32
1.2.3.4/32 FIB:
FIB:
1.2.3.4
1.2.3.423
23
1.2.3.4
1.2.3.4 serial0/0
serial0/0
10.0.0.0/8  23 1.2.3.4/32 1.2.3.4/32
1.2.3.4/32 10.0.0.0/8  1.2.3.4
L=23 L=35 L=pop
LFIB: LFIB:
64  23
FIB: FIB:
1.2.3.4  35 1.2.3.4  pop
LFIB: LFIB:
23  35 35  pop

All routers are capable of forwarding packets to external


destinations:
Border (edge) routers label and forward IP packets.
Core routers forward labeled packets.
© 2001, Cisco Systems, Inc. MPLS v1.0—4-52
MPLS-Based Transit AS
Packet Propagation

ISP1 ISP2

.1
10

1
1.2.3.4
.1.

.1.
1

10
.1

23 10.1.1.1 35 10.1.1.1 10.1.1.1

Border1 Border2
Core1 Core2
FIB:
FIB:
FIB:
FIB:
1.2.3.4
1.2.3.423
23 FIB: FIB: 1.2.3.4
1.2.3.4 serial0/0
serial0/0
10.0.0.0/8  23 1.2.3.4  35 1.2.3.4  pop 10.0.0.0/8  1.2.3.4
LFIB: LFIB: LFIB: LFIB:
64  23 23  35 35  pop

© 2001, Cisco Systems, Inc. MPLS v1.0—4-53


Benefits of MPLS-Based
Transit AS

• Simplified BGP topology (only AS edge


routers are required to run BGP with full
Internet routing).
• Core routers do not require a lot of
memory (100,000 networks may require
more than 50 MB of memory for the BGP
table, IP routing table, and CEF’s FIB table
and distributed FIB tables).
• Changes in the Internet do not impact core
routers.
• Allows private addresses (RFC 1918) to be
used in the core if TTL propagation is
disabled (traceroute across the AS will not
show any private addresses).
© 2001, Cisco Systems, Inc. MPLS v1.0—4-54
Common Design and
Configuration Errors
BGP next-hop addresses should not be
summarized by the IGP used in the AS.
• Summarization of next-hop addresses
causes LSP tunnels to break into two
shorter LSP tunnels.
• The summarizing routers would have to
run BGP to overcome the summarization
problem.
The recommendation is to have all BGP
next hops reachable as host routes or
original subnets throughout the AS (no
summarization).
© 2001, Cisco Systems, Inc. MPLS v1.0—4-55
Summary

After completing this section, you


should be able to perform the following
tasks:
• Describe label allocation procedures for
external IP routes
• Explain label sharing between external
routes and BGP next hops
• Describe traditional BGP core design
requirements
• Explain the relaxation of core design
requirements made possible by MPLS
• List BGP design rules applicable in MPLS-
based networks
© 2001, Cisco Systems, Inc. MPLS v1.0—4-56
Review Questions

• What are the main benefits of using


MPLS in transit autonomous systems?
• What are the design requirements for
MPLS-based transit AS?
• What happens if BGP next-hop address
is summarized somewhere in the AS?

© 2001, Cisco Systems, Inc. MPLS v1.0—4-57


Summary
After completing this chapter, you should be able
to perform the following tasks:
• Describe the concept of Label Switch Paths and the
impact of route summarization on LSP
• Understand the basics of MPLS Traffic Engineering
• Understand the data-plane loop detection in MPLS
and how it relates to IP TTL
• Explain the benefits and drawbacks of IP TTL
propagation
• Understand the data-plane loop detection in an ATM
environment and how it affects troubleshooting
tools such as traceroute
• Explain the impacts of configuring MPLS in
networks running BGP
• Design simplified BGP networks based on MPLS
technology
© 2001, Cisco Systems, Inc. MPLS v1.0—4-58