Module 3
Label Assignment and Distribution © 2001, Cisco Systems, Inc.
Objectives Upon completion of this chapter, you will be able to perform the following tasks: • Describe the need for LDP/TDP in MPLS network. • Describe the LDP/TDP neighbor discovery and session establishment procedures. • Explain the needs for different LDP/TDP label distribution modes. • Explain the difference between independent and ordered control. • Describe various LDP/TDP retention modes (conservative and liberal). • Explain the functions and benefits of © 2001, Cisco Systems, Inc.
MPLS v1.0—3-2
LDP Role in Unicast IP Routing
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-3
Objectives Upon completion of this section, you will be able to perform the following tasks: • Explain the need for the Label Distribution Protocol (LDP) in unicast IP routing MPLS application. • Describe the LDP’s interaction with other Label Switch Router (LSR) components.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-4
MPLS Unicast IP Routing • MPLS introduces a new field that is used for forwarding decisions. • Although labels are locally significant, they have to be advertised to directly reachable peers. • One option would be to include this parameter in existing IP routing protocols. • The other option is to create a new protocol to exchange labels. • The second option has been used because there are too many existing IP routing protocols that would have to be modified to carry labels.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-5
MPLS Unicast IP Routing Architecture LSR Exchange of routing information
Control Plane Routing Protocol IP Routing Table
Exchange of labels
Incoming IP packets Incoming labeled packets
© 2001, Cisco Systems, Inc.
LDP
Data Plane IP Forwarding Table Label Forwarding Table
Outgoing IP packets Outgoing labeled packets
MPLS v1.0—3-6
MPLS Unicast IP Routing: Example LSR Control Plane OSPF: 10.0.0.0/8 1.2.3.4
OSPF: 10.0.0.0/8
RT: 10.0.0.0/8 1.2.3.4 LIB:
Data Plane 10.1.1.1 L=5 10.1.1.1
© 2001, Cisco Systems, Inc.
FIB: 10.0.0.0/8 1.2.3.4
10.1.1.1
LFIB:
MPLS v1.0—3-7
MPLS Unicast IP Routing: Example LSR Control Plane OSPF: 10.0.0.0/8 1.2.3.4
OSPF: 10.0.0.0/8
RT: 10.0.0.0/8 1.2.3.4
LDP: 10.0.0.0/8, L=5
LIB:10.0.0.0/8 Next-hop L=3, Local L=5
LDP: 10.0.0.0/8, L=3
Data Plane 10.1.1.1 L=5 10.1.1.1
© 2001, Cisco Systems, Inc.
FIB: 10.0.0.0/8 1.2.3.4, L=3 LFIB: L=5 L=3
L=3 10.1.1.1 L=3 10.1.1.1
MPLS v1.0—3-8
Summary After completing this section, you should be able to perform the following tasks: • Explain the need for the LDP in unicast IP routing MPLS application. • Describe the LDP’s interaction with other LSR components.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-9
Review Questions • Why is the LDP/TDP needed? • What is the forwarding equivalence class in MPLS unicast IP forwarding? • Where is this forwarding equivalence class taken from? • What is the output of the LDP/TDP?
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-10
Typical Label Distribution in Packetmode MPLS © 2001, Cisco Systems, Inc.
MPLS v1.0—3-11
Objectives Upon completion of this section, you will be able to perform the following tasks: • Describe label allocation in packetmode MPLS environments. • Describe TDP/LDP label distribution in packet-mode MPLS environments. • Explain how the MPLS data structures are built based on label allocation and distribution. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-12
Label Allocation in a PacketMode MPLS Environment Label allocation and distribution in a packet-mode MPLS environment follows these steps: • IP routing protocols build the IP routing table. • Each LSR assigns a label to every destination in the IP routing table independently. • LSRs announce their assigned labels to all other LSRs.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-13
Building the IP Routing Table Routing table of A Network Next-hop X B
Routing table of B Network Next-hop X C
A FIB on A Network Next hop Label X B —
Routing table of C Network Next-hop X D
B
C
E
Routing table of E Network Next-hop X C
D Network X
• IP routing protocols are used to build IP routing tables on all LSRs. • FIBs are built based on IP routing tables with no labeling information. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-14
Allocating Labels Routing table of B Network Next-hop X C
A
Router B assigns label 25 to destination X.
B
C
D Network X
E
• Every LSR allocates a label for every destination in the IP routing table. • Labels have local significance. • Label allocations are asynchronous. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-15
LIB and LFIB Setup Routing table of B Network Next-hop X C
A
Router B assigns label 25 to destination X.
B Label 25
LFIB on B Action Next hop pop EC
LIB on B Network LSR label X local 25
C
D
Outgoing action is pop, as B Network X X has received no label for from C. Local label is stored in LIB.
LIB and LFIB structures have to be initialized on the LSR allocating the label. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-16
Label Distribution LIB on B Network LSR label X local 25
X = 25
X = 25
A
B X
=
25
C
D Network X
E
The allocated label is advertised to all neighbor LSRs, regardless of whether the neighbors are upstream or downstream LSRs for the destination.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-17
Receiving Label Advertisement LIB on A Network LSR label X B 25
LIB on C Network LSR label X B 25
X = 25 A FIB on A Network Next hop Label X B 25
X = 25 B
X
=
C
D
25 Network X
E
LIB on E Network LSR label X B 25
• Every LSR stores the received label in its LIB. • Edge LSRs that receive the label from their next-hop also store the label information in the FIB. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-18
Interim Packet Propagation Label lookup is performed in LFIB: label is removed.
Label 25
IP: X
A
Lab: 25
LFIB on B Action Next hop pop C
B
FIB on A Network Next hop Label X B 25
IP: X
C
E
IP lookup is performed in FIB: packet is labeled.
Forwarded IP packets are labeled only on the path segments where the labels have already been assigned.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-19
Further Label Allocation LIB on C Network LSR label X B 25 local 47
X = 47 A
B X
E
=
47
C
D
Router C assigns label Network 47 to destination X.X Label 47
LFIB on C Action Next hop pop D
Every LSR will eventually assign a label for every destination. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-20
Receiving Label Advertisement FIB on B Network Next hop Label X C 47
LIB on B Network LSR label X local 25 C 47
X = 47 A
B X FIB on E Network Next hop X C
E Label 47
=
47
C
D Network X
LIB on E Network LSR label X B 25 C 47
• Every LSR stores received information in its LIB. • LSRs that receive their label from their nexthop LSR will also populate the IP forwarding
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-21
Populating LFIB FIB on B Network Next hop Label X C 47
LIB on B Network LSR label X local 25 C 47
X = 47 A
Label 25
B LFIB on B Action Next hop 47 C
X
=
47
C
D Network X
E
• Router B has already assigned a label to X and created an entry in the LFIB. • The outgoing label is inserted in the LFIB after the label is received from the next-hop LSR. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-22
Packet Propagation Across an MPLS Network Label lookup is performed in the LFIB, label is switched.
Ingress LSR IP: X
A
Label 25
Lab: 25
LFIB on B Action Next hop 47 C
B
FIB on A Network Next hop Label X B 25
Egress LSR
Lab: 47
E
Label 47
C
IP: X
LFIB on C Action Next hop pop D
IP lookup is performed in the FIB, packet is labeled. Label lookup is performed in the LFIB, label is removed.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-23
Per-Platform Label Allocation
X = 25 A
C
Label 25
B 25 = X
LFIB on B Action Next hop 75 D
D Network X
• An LFIB on a router usually does not contain an incoming interface. • The same label can be used on any interface— per-platform label allocation. • LSR announces a label to adjacent LSR only once even if there are parallel links between them.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-24
Benefits and Drawbacks of Per-Platform Label Allocation Label for X is announced only to A.
Label 25
X = 25 AA
BB
25 : b La
LFIB on B Action Next hop 75 D
Lab: 47
DD
N e tw o rk X X Network
A third-party router can still send packets toward network X, even though the label was not announced to it.
Benefits: • Smaller LFIB • Quicker label exchange © 2001, Cisco Systems, Inc.
Drawbacks: • Insecure—any neighbor LSR can send packets with any label in the LFIB MPLS v1.0—3-25
Summary of Packet-Mode MPLS Label Allocation and Distribution Packet-mode MPLS label allocation and distribution follows these rules: • Every LSR assigns a label for every destination in the IP routing table. • Labels are assigned once per LSR (perplatform). • Every LSR advertises its label assignments to all neighbors. • Every LSR stores all advertised labels in the LIB. • Labels received from next-hop LSRs are used to populate label information in the FIB and the outgoing label in the LFIB.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-26
Review Questions • Where are received labels stored? • Which forwarding table is used to forward a labeled packet? • Which forwarding table is used to forward an unlabeled packet? • What happens if the next-hop label is not in the LFIB table? • How many labels are usually assigned to one destination network? © 2001, Cisco Systems, Inc.
MPLS v1.0—3-27
Convergence in Packet-mode MPLS
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-28
Objectives Upon completion of this section, you will be able to perform the following tasks: • Identify TDP/LDP convergence issues. • Describe the interaction between routing protocol convergence and LDP convergence. • Describe the packet-mode MPLS convergence after link failure and link recovery. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-29
Steady State Description Routing table of B Network Next-hop X C
A
FIB on B Network Next hop Label X C 47
B LIB on B Network LSR label X local 25 C 47 E 75 Label 25
C
D Network X
E
LFIB on B Action Next hop 47 C
• After the LSRs have exchanged the labels, LIB, LFIB and FIB data structures are completely populated.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-30
Link Failure Actions Routing table of B Network Next-hop X C
A
FIB on B Network Next hop Label X C 47
B LIB on B Network LSR label X local 25 C 47 E 75 Label 25
© 2001, Cisco Systems, Inc.
LFIB on B Action Next hop 47 C
✖
C
D Network X
E
• Routing protocol neighbors and LDP neighbors are lost after a link failure. • Entries are removed from various data structures.
MPLS v1.0—3-31
Routing Protocol Convergence Routing table of B Network Next-hop X E
A
FIB on B Network Next hop Label X E —
B LIB on B Network LSR label X local 25 C 47 E 75 Label 25
© 2001, Cisco Systems, Inc.
LFIB on B Action Next hop 47 C
✖
C
D Network X
E
Routing protocols rebuild the IP routing table and the IP forwarding table.
MPLS v1.0—3-32
MPLS Convergence Routing table of B Network Next-hop X E
A
FIB on B Network Next hop Label X E 75
B LIB on B Network LSR label X local 25 C 47 E 75 Label 25
© 2001, Cisco Systems, Inc.
LFIB on B Action Next hop 75 E
✖
C
D Network X
E
The LFIB and labeling information in the FIB are rebuilt immediately after the routing protocol convergence, based on labels stored in the LIB. MPLS v1.0—3-33
MPLS Convergence After a Link Failure • MPLS convergence in packet-mode MPLS does not affect the overall convergence time. • MPLS convergence occurs immediately after the routing protocol convergence, based on labels already stored in the LIB.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-34
Link Recovery Actions Routing table of B Network Next-hop X E
A
FIB on B Network Next hop Label X E 75
B LIB on B Network LSR label X local 25 C 47 E 75 Label 25
© 2001, Cisco Systems, Inc.
LFIB on B Action Next hop 75 E
C
D Network X
E
• Routing protocol neighbors are discovered after link recovery. MPLS v1.0—3-35
IP Routing Convergence After Link Recovery Routing table of B Network Next-hop X C E
A
FIB on B Network Next hop Label C — X E 75
B LIB on B Network LSR label X local 25 C 47 E 75 Label 25
© 2001, Cisco Systems, Inc.
LFIB on B Action Next hop 75 E pop C
C
D Network X
E
• IP routing protocols rebuild the IP routing table. • The FIB and the LFIB are also rebuilt, but the label information might be lacking.
MPLS v1.0—3-36
MPLS Convergence After a Link Recovery • Routing protocol convergence optimizes the forwarding path after a link recovery. • The LIB might not contain the label from the new next hop by the time the IP convergence is complete. • End-to-end MPLS connectivity might be intermittently broken after link recovery. • Use MPLS traffic engineering for makebefore-break recovery. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-37
Summary After completing this section, you should be able to perform the following tasks: • Identify TDP/LDP convergence issues. • Describe the interaction between routing protocol convergence and LDP convergence. • Describe the packet-mode MPLS convergence after link failure and link recovery. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-38
Review Questions
• What is the impact of LDP/TDP convergence time on overall convergence when a link is lost? • What is the impact of LDP/TDP convergence time on overall convergence when a link is restored?
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-39
Typical Label Distribution over LC-ATM Interfaces and VC-Merge
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-40
Objectives Upon completion of this section, you will be able to perform the following tasks: • Describe ATM-related issues that dictate additional needs for label-distribution procedures over LC-ATM interfaces. • Describe TDP/LDP label distribution in cellmode MPLS environments. • Identify the need for per-edge-LSR VC allocation over ATM network. • Describe the functions, benefits and © 2001, Cisco Systems, Inc.
MPLS v1.0—3-41
Issues of Cell-Mode MPLS Environments • An MPLS label is encoded as the virtual path identifier/virtual channel identifier (VPI/VCI) value in cell-mode MPLS environments. • Each VPI/VCI combination represents a virtual circuit in ATM. • The number of virtual circuits supported by router and switch hardware is severely limited. • Conclusion: labels in cell-mode MPLS are a scarce resource. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-42
Building the IP Routing Table Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
A
B
C
Routing table of B Network Next-hop X C
Routing table of D Network Next-hop X E
Routing table of E Network Next-hop X conn
D
E Network X
• IP routing protocols are used to build IP routing tables on all LSRs. • The routing tables are built as if the ATM switches were regular routers. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-43
Building the IP Forwarding Table Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
A
B
C
Routing table of B Network Next-hop X C
Routing table of D Network Next-hop X E
D
Routing table of E Network Next-hop X conn
E Network X
• Unlabeled IP packets cannot be propagated across LC-ATM interfaces. • Forwarding tables are not built until the labels are assigned to destinations in IP routing tables. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-44
Requesting a Label Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
RQ X A
Routing table of D Network Next-hop X E
RQ X C
An ATM switch can allocate an incoming label only if it already has a corresponding outgoing label.
Routing table of E Network Next-hop X conn
RQ X D
E
A switch requests a X label from itsNetwork next hop.
• Labels have to be explicitly requested over LCATM interfaces. • A router requests a label for every destination in the routing table with the next hop reachable over an LC-ATM interface.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-45
Allocating a Label Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
RQ X A
Label 1/56
X=1/56 LFIB on C Action Next hop 2/82 D
The LFIB is actually the ATM switching matrix.
Routing table of D Network Next-hop X E
RQ X C
X=2/82
LIB on D Network LSR label X E 1/37 local 2/82 LFIB on D Label Action Next hop 2/82 1/37 —
An ATM LSR can allocate an incoming label after receiving an outgoing label. It replies with the allocated label to the incoming request. © 2001, Cisco Systems, Inc.
Routing table of E Network Next-hop X conn
RQ X D
X=1/37
E
LIB on E Network X Network LSR label X local 1/37 Label 1/37
LFIB on E Action Next hop pop —
The egress ATM edge LSR allocates a label and replies to the request.
MPLS v1.0—3-46
Processing Label Allocation Reply Routing table of A Network Next-hop X C
RQ X A
X=1/56
C
D
LIB on A Network LSR label X C 1/56
E Network X
FIB on A Network Next hop Label X C 1/56
The ingress ATM edge LSR requesting a label inserts the received label in its LIB, FIB, and (optionally) LFIB.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-47
Allocation Requests from Additional Upstream LSRs Routing table of A Network Next-hop X C
A
X=1/43 RQ X
B Routing table of B Network Next-hop X C
Routing table of C Network Next-hop X D
C
D
LIB on C Network LSR label X D 2/82 local 1/56 local 1/43
Every upstream LSR will request a label for downstream destinations from an ATM LSR. © 2001, Cisco Systems, Inc.
Routing table of D Network Next-hop X E
Label 1/56 1/43
Routing table of E Network Next-hop X conn
E LFIB on C Action Next hop 2/82 D 2/82 D
The ATM LSR could reuse an already allocated downstream label for the second upstream label. MPLS v1.0—3-48
Cell Interleave Issue FIB on A Network Next hop Label X C 1/56
A
B
1/56
1/43
1/56 1/43
FIB on B Network Next hop Label X C 1/43
Label 1/56 1/43
C
LFIB on C Action Next hop 2/82 D 2/82 D
2/82 2/82
D
E
If an ATM LSR reuses a downstream label, cells from several upstream LSRs might become interleaved.
• Solution #1—allocate a separate downstream label for every upstream request. • Solution #2—prevent cell interleave by blocking incoming cells until a whole frame is collected. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-49
Additional Label Allocation Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
Routing table of D Network Next-hop X E
RQ X (2) A
X=1/43 RQ X
B Routing table of B Network Next-hop X C
C
X=2/87
LIB on E Network LSR label X local 1/37 local 1/38
The ATM LSR requests a new label from downstream LSRs for every upstream request. © 2001, Cisco Systems, Inc.
Routing table of E Network Next-hop X conn
RQ X (2) D
X=1/38
Label 1/37 1/38
E
LFIB on E Action Next hop pop — pop —
The ATM egress router has to allocate a unique label for every ATM ingress router for every destination. MPLS v1.0—3-50
Virtual Circuit Merge AA
B
1/56
1/43
1/56 1/43
C
2/82 2/82 2/82 2/82
Label 1/56 1/43
D
LFIB on C Action Next hop 2/82 D 2/82 D
• VC merge is a solution in which incoming cells are blocked until the last cell in a frame arrives. • All buffered cells are then forwarded to the next-hop ATM LSR.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-51
Benefits and Drawbacks of VC Merge Benefits of VC merge • The Merging ATM LSR can reuse the same downstream label for multiple upstream LSRs.
Drawbacks of VC merge • Buffering requirements increase on the ATM LSR. • Jitter and delay across the ATM network increase. • The ATM network is effectively transformed into a frame-based network.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-52
Per-Interface Label Allocation The ATM edge LSR has to request a label over every interface.
LFIB on C
X=1/73
Incoming I/F VPI/VCI Outgoing I/F VPI/VCI ATM 0/0 1/73 ATM 1/3 1/39
RQ X A
RQ X X=1/69
C
E Network X
• The LFIB on an ATM switch (ATM switching matrix) always contains the incoming interface. • Labels have to be assigned for individual interfaces—per-interface label allocation. • The same label can be reused (with a different meaning) on different interfaces. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-53
Security of Per-Interface Label Allocation LFIB on C Incoming I/F VPI/VCI Outgoing I/F VPI/VCI ATM 0/0 1/73 ATM 1/3 1/39
1/73
1/39 C
AA
3
1/7
The packet or cell arriving through the proper interface is forwarded.
C
EE
NNetwork e t w o r k XX
A labeled packet or cell coming through a wrong interface is dropped.
Per-interface label allocation is secure—labeled packets (or ATM cells) are accepted only from the interface where the label was actually assigned.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-54
Summary After completing this section, you should be able to perform the following tasks: • Describe ATM-related issues that dictate additional needs for labeldistribution procedures over LC-ATM interfaces. • Describe TDP/LDP label distribution in cell-mode MPLS environments. • Identify the need for per-edge-LSR VC allocation over ATM network. • Describe the functions, benefits and
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-55
Review Questions
• What is ATM switching matrix called in MPLS terminology? • Why is it necessary to have the nexthop label before propagating the local label? • What are the benefits of VC-Merge? • What are the drawbacks of VC-Merge?
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-56
MPLS Label Allocation, Distribution and Retention Modes
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-57
Objectives Upon completion of this section, you will be able to perform the following tasks: • Describe the difference between perinterface and per-platform label space. • Describe TDP/LDP unsolicited downstream and downstream-on-demand label distribution. • Describe the difference between ordered and independent label allocation control. • Describe the difference between conservative and liberal retention mode. • Identify parameter sets used in Cisco IOS
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-58
Label Distribution Parameters MPLS architecture defines several label allocation and distribution parameters: • Per-interface or per-platform label space • Unsolicited downstream and downstream-on-demand label distribution • Ordered or independent LSP tunnel control © 2001, Cisco Systems, Inc.
MPLS v1.0—3-59
Label Space: Per Interface LFIB on C Incoming I/F VPI/VCI Outgoing I/F VPI/VCI ATM 0/0 1/73 ATM 1/3 1/39 AA
C
C
EE
NNetwork e t w o r k XX
• The LFIB on an LSR contains incoming an interface. • Labels have to be assigned for individual interfaces. • The same label can be reused (with a different meaning) on different interfaces. • Label allocation is secure—LSRs cannot send © 2001, Cisco Systems, Inc.
MPLS v1.0—3-60
Label Space: Per Platform
X = 25 A
C
Label 25
B 25 = X
LFIB on B Action Next hop 75 D
D Network X
• The LFIB on an LSR does not contain an incoming interface. • The same label can be used on any interface and is announced to all adjacent LSRs. • The label is announced to adjacent LSRs only once and can be used on any link. • Per-platforms label space is less secure than perinterface label space.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-61
Label Distribution: Unsolicited Downstream LIB on B Network LSR label X local 25
X = 25
X = 25
A
B X
=
C 25
D Network X
E
The Label for a prefix is allocated and advertised to all neighbor LSRs, regardless of whether the neighbors are upstream or downstream LSRs for the destination.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-62
Label Distribution: Downstream-on-Demand Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
Routing table of D Network Next-hop X E
Routing table of E Network Next-hop X conn
RQ X A
C
D
E Network X
• An LSR will assign a label to a prefix only when asked for a label by an upstream LSR. • Label distribution is a hop-by-hop parameter— different label distribution mechanisms can coexist in an MPLS network. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-63
LSP Control: Independent Control Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
Routing table of D Network Next-hop X E
Routing table of E Network Next-hop X conn
RQ X A
C
D
X=1/37
Label 1/37
E
LFIB on E Network Action NextX hop pop
—
• An LSR can always assign a label for a prefix, even if it has no downstream label. • Independent control can be used only for LSRs with Layer 3 capabilities. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-64
LSP Control: Ordered Control Routing table of A Network Next-hop X C
Routing table of C Network Next-hop X D
RQ X A
Label 1/56
X=1/56 LFIB on C Action Next hop 2/82 D
Routing table of D Network Next-hop X E
RQ X C
Label 2/82
X=2/82 LFIB on D Action Next hop 1/37 —
Routing table of E Network Next-hop X conn
RQ X D
X=1/37
Label 1/37
E
LFIB on E Network Action NextX hop pop
—
An LSR can assign a label only if it has already received a label from the next-hop LSR; otherwise it must request a label from the nexthop LSR. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-65
Label Retention: Liberal Retention Mode LIB on A Network LSR label X B 25
LIB on C Network LSR label X B 25
X = 25 A
X = 25 B
X
C =
25
D Network X
E
LIB on E Network LSR label X B 25
• Every LSR stores the received label in its LIB, even when the label is not received from a next-hop LSR. • Liberal label retention mode improves
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-66
Label Retention: Conservative Retention Mode LIB on A Network LSR label X B 25
LIB on C Network LSR label X B 25
X = 25 A
X = 25 B
X
C =
25
D Network X
E
• An LSR stores only the labels received from next-hop LSRs; all other labels are ignored. • Downstream-on-demand distribution is required during the convergence phase. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-67
Standard Parameter Sets in Cisco IOS Platform MPLS Implementation Routers with packet interfaces: • Per-platform label space, unsolicited distribution, liberal label retention, independent control
Routers with ATM interfaces: • Per-interface label space, on-demand distribution, conservative or liberal label retention, independent control
ATM switches: • Per-interface label space, on-demand distribution, conservative label retention, ordered control © 2001, Cisco Systems, Inc.
MPLS v1.0—3-68
Summary After completing this section, you should be able to perform the following tasks: • Describe the difference between perinterface and per-platform label space. • Describe TDP/LDP unsolicited downstream and downstream-on-demand label distribution. • Describe the difference between ordered and independent label allocation control. • Describe the difference between conservative and liberal retention mode. • Identify parameter sets used in Cisco IOS
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-69
Review Questions • Why and where is downstream-ondemand label propagation used? • What are the benefits and drawbacks of liberal retention mode? • What are the benefits and drawbacks of per-platform label space? • Why is per-interface label space on ATM LSRs needed?
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-70
LDP Neighbor Discovery
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-71
Objectives Upon completion of this section, you will be able to perform the following tasks: • Describe LDP/TDP neighbor discovery. • Describe LDP/TDP session establishment process.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-72
LDP Session Establishment •LDP and TDP use a similar process to establish a session: • Hello messages are periodically sent on all interfaces enabled for MPLS. • If there is another router on that interface, it will respond by trying to establish a session with the source of the hello messages. •User Datagram Protocol (UDP) is used for hello messages. It is targeted at “all routers on this subnet” multicast address (224.0.0.2). •Transmission Control Protocol (TCP) is used to establish the session. •Both TCP and UDP use well-known LDP port number 646 (711 for TDP). © 2001, Cisco Systems, Inc.
MPLS v1.0—3-73
LDP Hello Message IP Header
UDP Header
LDP Hello Message
Source address=1.0.0.1 Source port=1050 Transport address=1.0.0.1 Destination address=224.0.0.2Destination port=646
Well-know multicast IP address identifying all routers on the subnet.
Well-know port number used for LDP.
Optional TLV used to identify the source IP address for LDP session.
LDP ID=1.0.0.1:0
6-byte TLV identifying the router and label space.
• Hello messages are targeted at all routers reachable through an interface. • LDP uses well-known UDP and TCP port number 646. • The source address used for an LDP session can be set by adding the transport address TLV to the hello message. • A 6-byte LDP identifier TLV identifies the router (first four bytes) and label space (last two bytes). © 2001, Cisco Systems, Inc.
MPLS v1.0—3-74
Label Space • LSRs establish one LDP session per label space. • Per-platform label space requires only one LDP session, even if there are multiple parallel links between a pair of LSRs. • Per-platform label space is announced by setting the label space ID to zero (for example, LDP ID=1.0.0.1:0). • A combination of frame-mode and cellmode, or multiple cell-mode links, results in multiple LDP sessions. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-75
Label Space Negotiation Example 1.0.0.1:0
1.0.0.1:0
1.0.0.1:0
1.0.0.1:0
1.0.0.1:10 ATM
1.0.0.1:10
ATM 1.0.0.1:20
1.0.0.1:0
ATM
• One LDP session is established for each announced LDP identifier (router ID + label space). • The number of LDP sessions is determined by the number of different label spaces. • The bottom right example is not common, since ATM LSRs do not use Ethernet for packet forwarding, and frame-mode MPLS across ATM uses per-platform label space. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-76
LDP Neighbor Discovery
TCP
MPLS_A
1.0.0.1
.0.1:6 43 1.0 0 :1 .2 .0 (1.0
46)
UDP: Hello UDP: Hello UDP: Hello (1.0.0.1:1050 224.0.0.2:646) (1.0.0.1:1051 (1.0.0.1:1052224.0.0.2:646) 224.0.0.2:646) TCP (1 .0.0.4: 1
065 1.0.0.1 :6
46)
UDP: Hello UDP: Hello UDP: Hello (1.0.0.4:1033 224.0.0.2:646) (1.0.0.4:1034 (1.0.0.4:1035 224.0.0.2:646) 224.0.0.2:646)
TCP (1.0.0.4:1066 1.0.0.2:646)
UDP: Hello UDP: Hello UDP: Hello (1.0.0.2:1064 224.0.0.2:646) (1.0.0.2:1065 (1.0.0.2:1066 224.0.0.2:646) 224.0.0.2:646)
MPLS_B
1.0.0.2
NO_MPLS_C
1.0.0.3
MPLS_D
1.0.0.4
• An LDP session is established from the router with the higher IP address. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-77
LDP Session Negotiation MPLS_A
1.0.0.1
Establish TCP session Initialization message
MPLS_B
1.0.0.2
Initialization message Keepalive Keepalive
• Peers first exchange initialization messages. • The session is ready to exchange label mappings after receiving the first keepalive.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-78
LDP Sessions Between ATM LSRs
OSPF LDP LFIB
0/32
OSPF LDP
VSI LFIB
0/32
OSPF LDP
VSI LFIB
0/32
OSPF LDP LFIB
• An IP adjacency between ATM LSRs is established through the control virtual circuit (0/32). • The control virtual circuit is used for LDP or TDP as well as for IP routing protocols. • Virtual Switch Interface (VSI) protocol is used to populate the ATM switching matrix (LFIB) in the data plane of some ATM switches (Cisco-specific implementation). © 2001, Cisco Systems, Inc.
MPLS v1.0—3-79
LDP or TDP Discovery of Nonadjacent Neighbors • LDP or TDP neighbor discovery of nonadjacent neighbors differs from normal discovery only in the addressing of hello packets. • Hello packets use unicast IP addresses instead of multicast addresses. • Once a neighbor is discovered, the mechanism to establish a session is the same. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-80
Summary
After completing this section, you should be able to perform the following tasks: • Describe LDP/TDP neighbor discovery. • Describe the LDP/TDP session establishment process.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-81
Review Questions • How do routers find LDP/TDP peers reachable through an interface? • Which protocol is used to discover neighboring LSRs? • Which protocol is used for the session itself? • How do ATM LSRs establish an LDP/TDP session? • What is different in an LDP session establishment between non-adjacent peers? © 2001, Cisco Systems, Inc.
MPLS v1.0—3-82
Penultimate Hop Popping
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-83
Objectives Upon completion of this section, you will be able to perform the following tasks: • Describe penultimate hop popping. • Describe how LSRs request PHP through TDP/LDP. • Identify when the PHP could be used in MPLS network. • Describe the benefits and drawbacks of PHP. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-84
Double Lookup Scenario MPLS Domain 10.0.0.0/8 L=17 17
10.0.0.0/8 L=18
10.1.1.1
18
10.0.0.0/8 L=19
10.1.1.1
19
FIB 10/8 NH, 17
FIB 10/8 NH, 18
FIB 10/8 NH, 19
LFIB 35 17
LFIB 17 18
LFIB 18 19
• Double lookup is not an optimal way of forwarding labeled packets. • A label can be removed one hop earlier. © 2001, Cisco Systems, Inc.
10.1.1.1 FIB 10/8 NH
10.0.0.0/8
10.1.1.1
LFIB 19 untagged
Double lookup is needed: 1. LFIB: remove the label. 2. FIB: forward the IP packet based on IP next-hop address.
MPLS v1.0—3-85
Penultimate Hop Popping Pop or implicit null label is advertised.
MPLS Domain 10.0.0.0/8 L=17 17
10.0.0.0/8 L=18
10.1.1.1
18
10.0.0.0/8 L=pop
10.1.1.1
10.1.1.1
10.1.1.1
FIB 10/8 NH, 17
FIB 10/8 NH, 18
FIB 10/8 NH, 19
FIB 10/8 NH
LFIB 35 17
LFIB 17 18
LFIB 18 pop
LFIB
10.0.0.0/8
One single lookup.
• A label is removed on the router before the last hop within an MPLS domain. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-86
Penultimate Hop Popping
• Penultimate hop popping optimizes MPLS performance (one less LFIB lookup). • PHP does not work on ATM (VPI/VCI cannot be removed). • The pop or implicit null label uses value 3 when being advertised to a neighbor.
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-87
Objectives After completing this section, you should be able to perform the following tasks: • Describe penultimate hop popping. • Describe how LSRs request PHP through TDP/LDP. • Identify when the PHP could be used in MPLS network. • Describe the benefits and drawbacks of PHP. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-88
Review Questions
• What is the main benefit of penultimate hop popping? • How does a router know that it has to pop the label?
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-89
Summary After completing this chapter, you should be able to perform the following tasks: • Describe the need for LDP/TDP in MPLS network. • Describe the LDP/TDP neighbor discovery and session establishment procedures. • Explain the needs for different LDP/TDP label distribution modes. • Explain the difference between independent and ordered control. • Describe LDP/TDP retention modes (conservative and liberal). • Explain the functions and benefits of penultimatehop-popping. © 2001, Cisco Systems, Inc.
MPLS v1.0—3-90
© 2000, Cisco Systems, Inc.
www.cisco.co
Blank for Pagination
© 2001, Cisco Systems, Inc.
MPLS v1.0—3-92