© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label Assignment and Distribution Introducing Typical Label Distribution in Frame-Mode MPLS
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Outline Overview Propagating Labels Across a Network? What Are LSPs? Propagating Labels Using PHP What Is the Impact of IP Aggregation on LSPs? Allocating Labels in a Frame-Mode MPLS Network Distributing and Advertising Labels Populating the LFIB Propagating Packets Across an MPLS Network Detecting Frame-Mode Loops Allocating Per-Platform Labels Summary
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS Unicast IP Routing Architecture MPLS introduces a label 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.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS Unicast IP Routing Architecture (Cont.)
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS Unicast IP Routing Architecture (Cont.)
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS Unicast IP Routing Architecture (Cont.)
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label-Switched Path An LSP is a sequence of LSRs that forwards labeled packets of a certain forwarding equivalence class. –MPLS unicast IP forwarding builds LSPs based on the output of IP routing protocols. –LDP advertises labels only for individual segments in the LSP. LSPs are unidirectional. –Return traffic uses a different LSP (usually the reverse path because most routing protocols provide symmetrical routing). An LSP can take a different path from the one chosen by an IP routing protocol (MPLS TE).
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v LSP Building The IP routing protocol determines the path.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v LSP Building (Cont.) LDP propagates labels to convert the path to an LSP.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v PHP: Before Double lookup is not an optimal way of forwarding labeled packets. A label can be removed one hop earlier.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v PHP: After A label is removed on the router before the last hop within an MPLS domain.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v PHP Penultimate hop popping optimizes MPLS performance (one less LFIB lookup). PHP does not work on ATM. (virtual path identifier/virtual channel identifier cannot be removed.) The pop or implicit null label uses a reserved value when being advertised to a neighbor.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Impact of IP Aggregation on LSPs IP aggregation breaks an LSP into two segments. Router C is forwarding packets based on Layer 3 information.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Impact of IP Aggregation on LSPs (Cont.) IP aggregation breaks an LSP into two segments. Aggregation should not be used where endtoend LSPs are required, such as with: –MPLS VPNs –MPLS TEs –MPLS-enabled ATM network –Transit BGP where core routers are not running BGP
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label Allocation in a Frame-Mode MPLS Network Label allocation and distribution in a frame-mode MPLS network 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. Every LSR builds its LIB, LFIB, and FIB data structures based on received labels.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v IP routing protocols are used to build IP routing tables on all LSRs. FIBs are initially built based on IP routing tables with no labeling information. Label Allocation in a Frame-Mode MPLS Network: Building the IP Forwarding Table
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Every LSR allocates a label for every destination in the IP routing table. Labels have local significance. Label allocations are asynchronous. Label Allocation in a Frame-Mode MPLS Network: Allocating Labels
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v LIB and LFIB structures have to be initialized on the LSR allocating the label. Label Allocation in a Frame-Mode MPLS Network: LIB and LFIB Setup
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Router A allocates a label for X independently of router B. Label Allocation in a Frame-Mode MPLS Network: Labels and Table Setup
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label Distribution and Advertisement The allocated label is advertised to all neighbor LSRs, regardless of whether the neighbors are upstream or downstream LSRs for the destination.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label Distribution and Advertisement: Receiving Label Advertisement 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.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label Distribution and Advertisement: Interim Packet Propagation Forwarded IP packets are labeled only on the path segments where the labels have already been assigned.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label Distribution and Advertisement: Further Label Allocation Every LSR will eventually assign a label for every destination.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Label Distribution and Advertisement: Receiving Label Advertisement Every LSR stores received information in its LIB. LSRs that receive their label from their next-hop LSR will also populate the IP forwarding table.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Populating the LFIB Router B has already assigned a label to network 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.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Packet Propagation Across an MPLS Network
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Loop Detection LDP 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).
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Normal TTL Operation Cisco routers have TTL propagation enabled by default. On ingress: TTL is copied from IP header to label header. On egress: TTL is copied from label header to IP header.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Labeled packets are dropped when the TTL is decreased to 0. TTL and Loop Detection
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Disabling TTL Propagation TTL propagation can be disabled. The IP TTL value is not copied into the TTL field of the label, and the label TTL is not copied back into the 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.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Traceroute with Disabled TTL Propagation 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.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Traceroute with Disabled TTL Propagation (Cont.) The second traceroute packet that reaches the network is dropped on router D. An ICMP TTL exceeded message is sent to the source from router D.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Impact of Disabling TTL Propagation Traceroute across an MPLS domain does not show core routers. TTL propagation has to be disabled on all label switch routers. 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 onlytraceroute from LSRs does not use the initial TTL value of 255.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Per-Platform Label Allocation An LFIB on a router usually does not contain an incoming interface. The same label can be used on any interfaceper-platform label allocation. LSR announces a label to an adjacent LSR only once, even if there are parallel links between them.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Per-Platform Label Allocation: Benefits and Drawbacks of Per-Platform Label Allocation Benefits: Smaller LFIB Faster label exchange Drawback: Insecure: Any neighbor LSR can send packets with any label in the LFIB.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Summary Labels are propagated across a network either by extending the functionality of existing routing protocols or by creating a new protocol that is dedicated to exchanging labels. An LSP is a sequence of LSRs that forward labeled packets of a certain forwarding equivalence class. Penultimate hop popping optimizes MPLS performance (one less LFIB lookup). IP aggregation can break an LSP into two segments. Every LSR assigns a label for every destination in the IP routing table.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Summary (Cont.) Although labels are locally significant, they have to be advertised to directly reachable peers. Outgoing labels are inserted in the LFIB after the label is received from the next-hop LSR. Packets are forwarded using labels from the LFIB table rather than the IP routing table. If TTL propagation is disabled, traceroute across an MPLS domain does not show core routers. LSR announces a label to an adjacent LSR only once, even if there are parallel links between them.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v