MPLS FAQ For Beginners

The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.

Contents

Introduction

This document answers the most frequently asked questions related to Multiprotocol Label Switching (MPLS) from a beginner level.

What is Multi-Protocol Label Switching (MPLS)?

MPLS is a packet-forwarding technology which uses labels in order to make data forwarding decisions. With MPLS, the Layer 3 header analysis is done just once (when the packet enters the MPLS domain). Label inspection drives subsequent packet forwarding. MPLS provides these beneficial applications:

Additionally, it decreases the forwarding overhead on the core routers. MPLS technologies are applicable to any network layer protocol.

What is a label? What is the structure of the label?

A label is a short, four-byte, fixed-length, locally-significant identifier which is used in order to identify a Forwarding Equivalence Class (FEC). The label which is put on a particular packet represents the FEC to which that packet is assigned.

4649-mpls-faq-4649-00.jpeg

Where will the label be imposed in a packet?

The label is imposed between the data link layer (Layer 2) header and network layer (Layer 3) header. The top of the label stack appears first in the packet, and the bottom appears last. The network layer packet immediately follows the last label in the label stack.

4649-mpls-faq-4649-01.jpeg

What is a Forwarding Equivalence Class (FEC)?

A FEC is a group of IP packets which are forwarded in the same manner, over the same path, and with the same forwarding treatment. A FEC might correspond to a destination IP subnet but it also might correspond to any traffic class that the Edge-LSR considers significant. For example, all traffic with a certain value of IP precedence might constitute a FEC.

What is an upstream label switch router (LSR)? What is a downstream LSR?

Upstream and downstream are relative terms in the MPLS world. They always refer to a prefix (more appropriately, a FEC). These examples further explain this.

4649-mpls-faq-4649-02.jpeg

For FEC 10.1.1.0/24, R1 is the Downstream LSR to R2.

For FEC 10.1.1.0/24, R2 is the Upstream LSR to R1.

4649-mpls-faq-4649-03.jpeg

For FEC 10.1.1.0/24, R1 is the Downstream LSR to R2 and R2 is the Downstream LSR to R3.

4649-mpls-faq-4649-04.jpeg

For FEC 10.1.1.0/24, R1 is the Downstream LSR to R2. For FEC 10.2.2.0/24, R2 is the Downstream LSR to R1.

Data flows from upstream to downstream to reach that network (prefix).

4649-mpls-faq-4649-05.jpeg

The R4 routing table has R1, R2, and R3 as the next-hops to reach 10.1.1.0/24.

Is R3 a Downstream LSR to R4 for 10.1.1.0/24?

No, data flows from upstream to downstream.

What do the terms incoming, outgoing, local, and remote mean when you refer to labels?

Consider R2 and R3 in this topology. R2 distributes a label L for FEC F to R3. R3 uses label L when it forwards data to FEC-F (because R2 is its downstream LSR for FEC-F). In this scenario:

4649-mpls-faq-4649-06.jpeg

Can an LSR transmit/receive a native IP packet (non-MPLS) on an MPLS interface?

Yes, if the IP is enabled on the interface. Native packets are received/transmitted as usual. IP is just another protocol. MPLS packets have a different Layer 2 encoding. The receiving LSR is aware of the MPLS packet, based on the Layer 2 encoding.

Can an LSR receive/transmit a labeled packet on a non-MPLS interface?

No. Packets are never transmitted on an interface which is not enabled for that protocol. MPLS has a certain Ethertype code associated with it (just as IP, IPX, and Appletalk have unique Ethertypes). When a Cisco router receives a packet with an Ethertype which is not enabled on the interface, it drops the packet. For example, if a router receives an Appletalk packet on an interface which does not have Appletalk enabled, it drops the packet. Likewise, if an MPLS packet is received on an interface which does not have MPLS enabled, the packet is dropped.

What platforms and Cisco IOSes support MPLS?

The Cisco Series 2691, 3640, 3660, 3725, 3745, 6400-NRP-1, 6400-NRP-2SV, 6400-NSP, Catalyst 5000 with Route Switch Module (RSM), 7200, 7301, 7400, 7500, Catalyst 6500/Cisco 7600 Series with WS-SUP720-3B and WS-SUP720-3BXL, Gigabit Switch Router (GSR), Route Processor Module (RPM), Universal Broadband Router (UBR) 7200, AS5350, and IGX8400-URM all support MPLS.

These platforms support the Cisco Tag Distribution Protocol (TDP) as the label distribution protocol.

Label Distribution Protocol (LDP), Resource Reservation Protocol (RSVP), and Border Gateway Protocol (BGP) information can be found using the Software Advisor ( registered customers only ) tool. Software Advisor provides a complete list of feature sets supported in the different Cisco IOS versions and on different platforms.

Generic Routing Encapsulation (GRE) tunnel has an overhead of 24 bytes. How much overhead does an MPLS LSP tunnel have?

An MPLS LSP tunnel has one label (four bytes) or two labels (for example, when using Link Protection Fast reroute) of overhead. Unlike a GRE tunnel, MPLS does not change the IP header. Instead, the label stack is imposed on to the packet that takes the tunnel path.

How does the LSR know which is the top label, bottom label, and a middle label of the label stack?

The label immediately after the Layer 2 header is the top label, and the label with the S bit set to 1 is the bottom label. No application requires LSR to read/identify the middle labels. However, a label will be a middle label if it is not at the top of the stack and the S bit is set to 0.

What is the range of label values? What label values are reserved? What do the reserved values signify?

These values can also be found in RFC3032 - MPLS Label Stack Encoding.

Theoretically, the range is 0 through (2 20 -1). Label values 0-15 are reserved, and values 4-15 are reserved for future use. Values 0-3 are defined as:

What protocol and port numbers do LDP and TDP use to distribute labels to LDP/TDP peers?

LDP uses TCP port 646, and TDP uses TCP port 711. These ports are opened on the router interface only when mpls ip is configured on the interface. The use of TCP as a transport protocol results in reliable delivery of LDP/TDP information with robust flow control and congestion handling mechanisms.

What restrictions exist for MPLS support on the Catalyst 6500 and 7600 Optical Services Router (OSR)?

The interface connected to the MPLS domain must use one of the Optical Services Modules (OSM) (for example, any module that utilizes Parallel Express Forwarding (PXF) complex) or an interface in the FlexWAN module. The same restriction exists for MPLS Layer 3 VPN. That is, the IP frame must enter on a WAN interface which is either an OSM or an interface in a FlexWAN module. These restrictions do not exist on a Supervisor 720.

Where can I find MPLS configuration samples?

There are many MPLS configuration documents located at Implementation and Configuration: MPLS.

What options are available for load balancing MPLS packets?

MPLS packets can be load balanced with the MPLS label information and/or the source and destination address of the essential IP header.

Can we configure an 802.1Q trunk between two Cisco Catalyst switches on different sites over a MPLS connection?

When you connect to a remote site through MPLS, it is a layer 3 connection, and the 802.1Q trunk is a layer 2 protocol, so you cannot have an 802.1Q trunk across a MPLS connection. You need to have a Metro Ethernet connection or 802.1Q tunneling to expand your VLAN, which is provided by the ISP. In the MPLS cloud, the ISP communicates through VRF.

Does the outgoing MPLS EXP value inherit the DSCP value in incoming IP packets by default or is the incoming DSCP trusted without any additional configuration on an MPLS enabled interface?

Yes, no additional configuration is needed.

Does the DHCP relay function work in the MPLS VPN network?

Yes, the DHCP request is forwarded within the VRF across the MPLS VPN network and the egress Provider Edge sends it in the same VRF to the DHCP server.

Related Information