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.
This document answers the most frequently asked questions related to Multiprotocol Label Switching (MPLS) from a beginner level.
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.
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.
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.
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.
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.
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.
For FEC 10.1.1.0/24, R1 is the Downstream LSR to R2 and R2 is the Downstream LSR to R3.
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).
The R4 routing table has R1, R2, and R3 as the next-hops to reach 10.1.1.0/24.
No, data flows from upstream to downstream.
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:
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.
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.
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.
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.
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.
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:
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.
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.
There are many MPLS configuration documents located at Implementation and Configuration: MPLS.
MPLS packets can be load balanced with the MPLS label information and/or the source and destination address of the essential IP header.
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.
Yes, no additional configuration is needed.
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.