MPLS

MPLS Traffic Engineering Explained

MPLS Traffic Engineering MPLS-TE feature image, PingLabz
Table of Contents
In: MPLS, Fundamentals

MPLS Traffic Engineering exists to solve a problem the IGP creates. OSPF and IS-IS always forward along the shortest path, every flow, all the time. That is correct for reachability and terrible for capacity: the shortest path saturates while parallel links sit idle. MPLS-TE is how you override the IGP and steer traffic onto the paths you choose. This post explains the problem, the components, and why segment routing is now changing how it is done.

For the cluster overview, see the MPLS complete guide.

The problem: the shortest path is not the only path

Picture two paths between a pair of core routers - a direct link and a slightly longer detour. The IGP computes the direct link as shorter, so every flow takes it. Under load, the direct link hits 95 percent utilization and starts dropping packets while the detour link sits at 10 percent. The capacity exists. The IGP simply will not use it, because "longer" disqualifies it regardless of how congested "shorter" is.

You could fudge IGP metrics to shift traffic, but metric tuning is blunt - it moves all traffic for affected destinations and tends to just relocate the congestion. MPLS-TE is the precise tool: it lets you place specific traffic on specific paths, with bandwidth accounted for.

What MPLS-TE does

MPLS-TE builds explicit label-switched paths - TE tunnels - across the network. A tunnel is a one-way LSP from a headend router to a tailend router, and it can be told to follow a path the IGP would never choose. Traffic mapped into the tunnel rides that path. The MPLS data plane forwards it by label, exactly as ordinary MPLS does; what changes is that the path was chosen by TE constraints, not by shortest-path SPF.

The three components

IGP TE extensions
Flood per-link TE attributes - available bandwidth, admin colors - so every router has a TE topology database, not just a reachability database
CSPF
Constrained Shortest Path First - runs at the headend to compute a path that satisfies the tunnel's constraints
RSVP-TE
Signals the chosen path hop by hop, reserves bandwidth on each link, and distributes the labels for the LSP

The TE database

A normal IGP floods topology and reachability. For TE, OSPF and IS-IS are extended to also flood resource information about each link: how much bandwidth is configured for TE, how much is currently reserved, and any administrative "colors" (also called affinities) tagging the link. Every router collects this into a TE database that describes not just the shape of the network but its available capacity.

CSPF: shortest path with rules

The headend of a tunnel runs CSPF against the TE database. Ordinary SPF asks "what is the shortest path?" CSPF asks "what is the shortest path that also has at least 200 Mbps free, and avoids any link colored red?" It prunes every link that fails a constraint, then finds the shortest path through what remains. The output is an explicit hop list.

Typical constraints are required bandwidth, link affinities (include or exclude links by color), and an explicit hop list you supply directly when you want a fully specified path.

RSVP-TE: signaling and reservation

Once CSPF produces a path, RSVP-TE builds it. A PATH message travels headend to tailend along the chosen hops; a RESV message travels back, and as it returns each router reserves the requested bandwidth on its outgoing link and allocates a label. The result is a signaled LSP with bandwidth booked end to end.

That bandwidth accounting is the point. RSVP-TE reservations are why the network knows a link has 200 Mbps already committed, so the next tunnel's CSPF will not oversubscribe it. The cost is state: every router along every tunnel holds per-tunnel RSVP state and refreshes it. In a large network with many tunnels, that state grows fast - the well-known scaling weakness of classic MPLS-TE.

Fast ReRoute

A major reason to deploy MPLS-TE is Fast ReRoute (FRR). FRR pre-computes and pre-signals a backup tunnel around a protected link or node. When the protected resource fails, the router at the point of failure switches traffic onto the pre-built backup in well under 50 milliseconds - long before the IGP would even notice the failure. For voice, video, and other loss-sensitive traffic, sub-50ms protection is the headline feature.

The configuration shape on Cisco IOS XE

TE is enabled globally and per interface, then tunnels are defined at the headend:

! Global + per-link enablement
mpls traffic-eng tunnels
!
interface GigabitEthernet0/1
 mpls traffic-eng tunnels
 ip rsvp bandwidth 500000
!
router ospf 1
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!
! A TE tunnel at the headend
interface Tunnel10
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 10.255.0.5
 tunnel mpls traffic-eng bandwidth 200000
 tunnel mpls traffic-eng path-option 10 dynamic

The dynamic path-option lets CSPF compute the path; an explicit path-option with a named hop list pins it. Verify with show mpls traffic-eng tunnels.

The modern shift: segment routing

Classic MPLS-TE works, but the RSVP-TE per-tunnel state does not scale gracefully. This is exactly the problem SR-MPLS (Segment Routing) addresses: the path is encoded as a label stack pushed at the headend, and core routers hold no per-tunnel state at all. New traffic-engineering deployments increasingly use SR Policy instead of RSVP-TE, while keeping the same goals - explicit paths, bandwidth awareness, fast protection via TI-LFA. If you are designing TE today, see the segment routing article; if you are running an existing RSVP-TE network, the concepts here are what you are operating.

Common gotchas

A tunnel will not come up
CSPF found no path meeting the constraints - usually requested bandwidth exceeds what any path has free.
TE tunnel is up but no traffic uses it
Nothing is mapped into it. Traffic needs autoroute, a static route, or a forwarding-adjacency to enter the tunnel.
Tunnel reroutes onto a worse path under load
The primary path lost enough free bandwidth to fail CSPF; the tunnel re-optimized to a path that still fits.
RSVP state growing unmanageably
Inherent to RSVP-TE at scale. This is the case for migrating to SR Policy.
FRR not protecting a failure
No backup tunnel was configured for that link or node, or the protected interface lacks tunnel mpls traffic-eng fast-reroute.

Key takeaways

MPLS Traffic Engineering overrides the IGP's shortest-path-only behaviour so you can place specific traffic on specific paths and stop congesting one link while parallel capacity sits idle. It works through three pieces: IGP TE extensions that flood per-link bandwidth and colors into a TE database, CSPF at the headend that finds the shortest path meeting your constraints, and RSVP-TE that signals the path and reserves bandwidth hop by hop. Fast ReRoute gives sub-50ms protection by pre-signaling backup tunnels. The trade-off is RSVP per-tunnel state, which does not scale gracefully - and that is why modern TE deployments are moving to segment routing, which keeps the goals while leaving core routers stateless.

For the MPLS cluster, see the MPLS pillar.

Written by
More from Ping Labz
Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to Ping Labz.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.