MPLS
Multiprotocol Label Switching is a forwarding system that carries packets across a network by using short labels instead of repeating a full network-layer lookup at every hop. Operators use it to build controlled transport paths and support services such as VPNs, traffic engineering, and fast recovery.
itNetworking | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
MPLS
IP forwarding asks each router to examine a destination address and choose a next hop. Multiprotocol Label Switching, or MPLS, adds another forwarding method. An MPLS router can examine a short label, apply a prepared forwarding action, and send the packet onward.
That description sounds like a shortcut, but speed is not the main reason to learn MPLS. Its lasting value is controlled forwarding. Labels let a network carry different services across shared infrastructure, create explicit paths, stack one forwarding context inside another, and repair selected paths near a failure.
MPLS is not a routing protocol. It is not a VPN by itself. It is not encryption. It is a forwarding architecture that other control-plane protocols and services use.
The core mental model
Think of an MPLS network as an edge that classifies and a core that switches.
unlabeled packet
↓
ingress LSR: classify → push label
↓
transit LSR: inspect top label → swap label
↓
egress LSR: pop label → forward payload
↓
unlabeled packet or another labeled service
An MPLS-capable router is a label switching router, or LSR. The ingress LSR assigns a packet to a forwarding equivalence class, or FEC. A FEC is a group of packets that receive the same forwarding treatment. The ingress then pushes a label that represents that FEC.
A transit LSR normally reads only the top label. Its forwarding table maps the incoming label to a next hop and a label-stack operation. The router may swap the top label, pop it, or push another label. The egress LSR removes the transport label and handles the exposed payload or inner label.
This process creates a label switched path, or LSP. An LSP is the path followed by packets in a FEC through one or more LSRs.
Labels are local instructions
An MPLS label is a short, fixed-length identifier. It has meaning in a forwarding context, not across the entire network.
Suppose router P1 advertises label 16020 to its upstream neighbor for a FEC. That value means something on traffic sent toward P1. Another router can use 16020 for a different FEC without conflict. You must read a label together with the interface, platform label space, and direction in which it was learned.
This local significance explains label swapping. A packet can enter a hop with label 16020 and leave with label 24007. The FEC remains the same, but each adjacent forwarding context uses the label expected by its downstream LSR.
The durable troubleshooting question is not “What does label 16020 mean?” Ask instead:
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.rfc-editor.org/rfc/rfc3031.html
Supports
- Labels as short, fixed-length, locally significant FEC identifiers
- Forwarding equivalence classes and label switching routers
- Label stacks, label switched paths, ingress, transit, and egress roles
- FTN, ILM, NHLFE, label swapping, and next-hop behavior
- Push, swap, pop, label hierarchy, and penultimate hop popping
- MPLS architecture allowing multiple label-distribution protocols
- https://www.rfc-editor.org/rfc/rfc3032.html
Supports
- Label-stack placement between data-link and network-layer headers
- 20-bit label, 3-bit class field, 1-bit bottom-of-stack field, and 8-bit TTL
- Four-byte size of each label-stack entry
- Stack order and bottom-of-stack processing
- IPv4 and IPv6 explicit-null behavior
- Implicit null as a distributed value that is not transmitted
- https://www.rfc-editor.org/rfc/rfc5462.html
Supports
- Rename of the three-bit experimental field to Traffic Class
- Traffic Class as the current name across MPLS documents
- Updated label-stack entry diagram and traffic-class use
- https://www.iana.org/assignments/mpls-label-values/mpls-label-values.xhtml
Supports
- Current base and extended special-purpose label assignments
- Values for explicit null, implicit null, router alert, generic associated channel, and extension labels
- Current references and allocation status for special-purpose labels
- https://www.rfc-editor.org/rfc/rfc5036.html
Supports
- LDP peers and bidirectional sessions
- Discovery, session, advertisement, and notification message categories
- Exchange of label-to-FEC mapping information
- Downstream unsolicited and downstream-on-demand distribution
- Label retention and transport behavior
- https://www.rfc-editor.org/rfc/rfc3209.html
Supports
- Signaling of MPLS LSP tunnels
- Explicit routes independent of conventional IP forwarding
- Ingress control of an explicitly routed path
- Policy and resource considerations for traffic engineering
- https://www.rfc-editor.org/rfc/rfc4090.html
Supports
- Local repair with pre-established backup LSP tunnels
- One-to-one detours and facility bypass tunnels
- Points of local repair and redirection near a failure
- Label stacking for shared facility protection
- https://www.rfc-editor.org/rfc/rfc4364.html
Supports
- Separation of VPN routes and overlapping address spaces
- BGP distribution of MPLS labels with VPN routes
- Outer transport and inner VPN route label roles
- Egress provider-edge handling based on the VPN route label
- Provider-core transport beneath a VPN service
- https://www.rfc-editor.org/rfc/rfc3985.html
Supports
- Pseudowires emulating essential attributes of a service
- Ethernet, circuit, and other service carriage over packet-switched networks
- IP or MPLS tunnels beneath pseudowire service encapsulation
- Attachment-circuit, service, and packet-switched-tunnel layering
- https://www.rfc-editor.org/rfc/rfc6790.html
Supports
- Per-flow consistency as a load-balancing requirement
- Difficulty finding flow keys beneath MPLS encapsulation
- Ingress generation of entropy information
- Entropy Label Indicator value 7 immediately preceding each entropy label
- Two-entry stack-depth cost of the indicator and entropy label pair
- Transit-LSR load balancing without deep payload inspection
- https://www.rfc-editor.org/rfc/rfc8402.html
Supports
- Segments as ordered topological or service instructions
- Per-flow state at ingress nodes
- MPLS labels encoding segments
- MPLS label stacks encoding ordered segment lists
- https://www.rfc-editor.org/rfc/rfc8660.html
Supports
- SR-MPLS forwarding-plane behavior
- Segment identifiers represented by MPLS labels
- Segment-routing headers represented by MPLS label stacks
- Control-plane and forwarding-plane relationship with MPLS
- https://www.rfc-editor.org/rfc/rfc8029.html
Supports
- MPLS LSP ping and traceroute for FEC data-plane validation
- Distinction between ordinary IP reachability and MPLS FEC testing
- Control-plane rate limiting and source filtering for LSP OAM
- OAM topology-disclosure and denial-of-service considerations
- https://www.rfc-editor.org/rfc/rfc5920.html
Supports
- Threats and controls for MPLS control, management, and data planes
- Isolation of trusted domains and boundary protection
- LDP and RSVP control-plane protections
- Cryptographic confidentiality and integrity as separate protections
- CE-to-CE, PE-to-PE, and access-link protection boundaries
