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
F
C
I
A D G B H LSP: AB D G I
E
• 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.) 23
57
C
16
A
F 34
23
I
p
po
77
B
34
D
16
LFIB: 3377 LIB: 10/8 77 10/8 57
LDP update s
G
51
34
51
LFIB: 7716
LFIB: 1634
LIB: 10/8 16 10/8 51
LIB: 10/8 23 10/8 34 10/8 51
34
H E
LFIB: 34pop LIB: 10/8 pop
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 L=23
A
10.1.0.0/16
10.1.1.0/24
10.1.1.0/24 IGP
10.1.1.0/24 L=55
10.1.1.0/24 L=33
10.1.1.0/24 LDP/TDP L=pop
10.1.0.0/16 L=pop
B 23 10.1.1.1
C 10.1.1.1
E
D 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 L=16
10.0.0.0/16 L=23
10.0.0.0/16 L=pop
10.0.0.0/16
10.0.0.0/16 L=31
A
B
D 10.0.0.0/16 10.0.0.0/16 L=44
C
10.0.0.0/16 L=23
10.0.0.0/16
10.0.0.0/16
10.0.0.0/16
F
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 1.2.3.4/32 L=19
A
B
C
• • • •
D
1.2.3.4/32 L=pop
F
E
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
D
10.0
.0.0/ L=44 16
C
10.0.0.0/16 L=23
B
A
10.0.0.0/16
10.0.0.0/16 L=pop
F
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
10.1.1.1 54 44 10.1.1.1
LFIB: 54 19 16 23
10.1.1.1
F
D
19 44 10.1.1.1
23 10.1.1.1 44 10.1.1.1
C FIB: 10/8 44 1.2.3.4 pop LFIB: 19 pop
© 2001, Cisco Systems, Inc.
LFIB: 23 pop
B
A FIB: 10/8 44, 54 1.2.3.4 54
FIB: 10/8 pop
E FIB: 10/8 23 1.2.3.4 LFIB: 44 23
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 decreased and copied into label header.
5
4
A
Only the TTL in the top-of-stack entry is modified.
4
3
B The TTL is decreased and copied back into the TTL field of the IP header.
4
Label TTL
IP TTL
1
2
C
D
MPLS Domain
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 TTL
MPLS Domain
IP TTL
Routing loop 5
4
A
4
3
4
B
C 2
4
1
4
D
0 4
Labeled packets are dropped when the 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 TTL
IP TTL
1
A
B
C
D
TTL exceeded 0
• 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.
traceroute 10.1.1.1 1 10 ms A.acme.com
MPLS v1.0—4-28
Traceroute with Disabled TTL Propagation (2) Label TTL
2
255 1
A
1
254 1
B
IP TTL
D
C TTL exceeded 0
• The second traceroute packet that reaches the network is dropped on router D.
traceroute 10.1.1.1 1 10 ms A.acme.com 2 10 ms D.acme.com
• 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 L=1/43 Hops=3
10.0.0.0/16 L=1/34 Hops=2
10.0.0.0/16 L=1/35 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 3 The new TTL value would be –2 The packet is dropped.
Label TTL
IP TTL
1
A
D B
TTL exceeded
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 3 The new TTL value would be –1 The packet is dropped.
Label TTL
IP TTL
2
A
D B
TTL exceeded
C
-1
• 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.
traceroute 10.1.1.1 1 10 ms A.acme.com 2 10 ms A.acme.com
MPLS v1.0—4-39
Traceroute Through ATM LSRs Example (3) TTL is decreased by 3 The new TTL value would be 0 The packet is dropped.
Label TTL
IP TTL
3
A
D B
TTL exceeded
C
0
• The third 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.
traceroute 1 10 ms 2 10 ms 3 10 ms
10.1.1.1 A.acme.com A.acme.com A.acme.com
MPLS v1.0—4-40
Traceroute Through ATM LSRs Example (4) TTL is decreased by 3 The new TTL value is 1 The packet is forwarded. 1
4
Label TTL
1
IP TTL
1
A
D B
C 0
TTL exceeded
• The fourth traceroute packet that 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.
traceroute 1 10 ms 2 10 ms 3 10 ms 4 10 ms
10.1.1.1 A.acme.com A.acme.com A.acme.com D.acme.com
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 PV=D,C,E,B
10.0.0.0/16 PV=D
A
D B
C 10 . PV 0.0 =D .0/1 ,C 6
10 PV .0. =D 0.0 ,C /16 ,E
E 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 IBGP Border1
RR Core1
Transit AS IBGP
EBGP RR
Core2
IBGP Border2
• 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 ISP2
ISP1
EBGP
Transit AS
EBGP
IBGP Border1
Core1
Core2
Border2
• 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
/8
10.0.0.0/8
Border1 FIB: FIB: 1.2.3.4 1.2.3.423 23 10.0.0.0/8 23 LFIB: 64 23
1.2.3.4/32
Core1
1.2.3.4/32 L=23 FIB: 1.2.3.4 35 LFIB: 23 35
ISP2 1.2.3.4
10
.0. 0
0.0 .0.
.0/ 8
10
ISP1
Core2
Border2
1.2.3.4/32
1.2.3.4/32
1.2.3.4/32 L=35
1.2.3.4/32 L=pop
FIB: FIB: 1.2.3.4 1.2.3.4 serial0/0 serial0/0 10.0.0.0/8 1.2.3.4 LFIB:
FIB: 1.2.3.4 pop LFIB: 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
.1
23 10.1.1.1
Border1 FIB: FIB: 1.2.3.4 1.2.3.423 23 10.0.0.0/8 23 LFIB: 64 23
© 2001, Cisco Systems, Inc.
ISP2 1.2.3.4
10
1 .1.
.1. 1
10
ISP1
.1
MPLS-Based Transit AS Packet Propagation
35 10.1.1.1
Core1 FIB: 1.2.3.4 35 LFIB: 23 35
10.1.1.1
Core2 FIB: 1.2.3.4 pop LFIB: 35 pop
Border2 FIB: FIB: 1.2.3.4 1.2.3.4 serial0/0 serial0/0 10.0.0.0/8 1.2.3.4 LFIB:
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 MPLSbased 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