MPLS

Segment Routing (SR-MPLS): Replacing LDP and RSVP-TE

SR-MPLS keeps the MPLS data plane and drops LDP and RSVP-TE. Prefix-SIDs, adjacency-SIDs, source-routed label stacks, SR-MPLS vs SRv6, and why networks migrate.
Segment Routing SR-MPLS feature image, PingLabz
Table of Contents
In: MPLS, Fundamentals

Segment Routing is the technology quietly replacing LDP and RSVP-TE in modern service-provider and large-enterprise cores. The pitch is simple: take the MPLS data plane that already works well, and throw away the separate label-distribution protocols that made it complicated. SR-MPLS keeps the labels and drops the protocols that used to hand them out. This post explains what segment routing is, how SR-MPLS works, and why networks are migrating to it.

For the cluster overview, see the MPLS complete guide.

The problem with traditional MPLS

Classic MPLS works, but it needs a lot of moving parts. To forward a labeled packet, every router in the path needs a label for every destination, and those labels have to be distributed somehow. Traditional MPLS used dedicated protocols for that:

  • LDP distributed labels for basic hop-by-hop MPLS forwarding.
  • RSVP-TE distributed labels and held state for traffic-engineered paths.

Both run alongside the IGP (OSPF or IS-IS). So a traditional MPLS core runs an IGP and LDP and, if you do traffic engineering, RSVP-TE. RSVP-TE is the worst offender: it builds per-tunnel state on every router along every path. In a large network with many TE tunnels, that state explodes, and it does not scale gracefully.

The segment routing idea

Segment Routing makes one clean observation: the IGP already floods information about the whole topology to every router. So why run a separate protocol just to distribute labels? Let the IGP do it.

In SR-MPLS, OSPF or IS-IS is extended to also advertise segments - and a segment is just a label with a meaning. The IGP that already knows the topology now also distributes the labels. LDP is no longer needed. RSVP-TE is no longer needed. One protocol (the IGP) does the job that previously took three.

The MPLS data plane does not change at all. Packets still carry MPLS labels, still get label-swapped hop by hop, still use the same hardware forwarding path. SR-MPLS is a control-plane simplification riding on the unchanged MPLS data plane.

The two segment types

Prefix-SID (node SID)
What it represents
"Get to this router/prefix by the shortest IGP path"
Scope
Global - every router agrees on the same label for it
Adjacency-SID
What it represents
"Use this one specific link / next hop"
Scope
Local - meaningful only on the router that advertised it

A prefix-SID is a globally significant label assigned to a destination (usually a router's loopback). Every router in the domain installs the same prefix-SID for that destination and forwards toward it by the shortest path. It is allocated from a shared range called the SRGB (Segment Routing Global Block), which is why the value is consistent network-wide.

An adjacency-SID is a locally significant label for one specific link. It says "send this out exactly this interface" regardless of what the shortest path would do.

Source routing: the path lives in the packet

Here is the part that makes traffic engineering elegant. To steer a packet along a specific path, the ingress router pushes a stack of segment labels onto it. Each label is a waypoint. The packet itself carries its own itinerary.

Want a packet to go through router B, then over a specific link, then to router E? The ingress router pushes the label stack [prefix-SID of B, adjacency-SID of that link, prefix-SID of E]. Each router along the way pops the top segment when it is reached and forwards toward the next. No router in the middle holds any per-flow or per-tunnel state. The path is encoded in the packet, not stored in the network.

This is the death of RSVP-TE state. Traffic engineering in SR is just "push the right label stack at the edge." The core routers stay stateless. That is the scaling win.

Configuration shape on Cisco IOS XE

Enabling SR-MPLS is mostly turning it on under the IGP and defining the global label block. The shape, with IS-IS:

segment-routing mpls
 global-block 16000 23999
!
router isis CORE
 segment-routing mpls
!
interface Loopback0
 ip address 10.255.0.1 255.255.255.255
 isis prefix-sid index 1

The SRGB here is 16000-23999. The loopback gets prefix-SID index 1, so its global label is 16000 + 1 = 16001, and every router in the domain will use 16001 to reach this router. No LDP anywhere in the config - the IGP carries the labels.

SR-MPLS vs SRv6

Segment Routing comes in two data-plane flavors, and it is worth knowing the difference:

Data plane
SR-MPLSMPLS labels
SRv6
IPv6 addresses (segments are IPv6 SIDs)
Requires
SR-MPLS
Existing MPLS-capable hardware
SRv6
IPv6 end to end; no MPLS needed
Migration path
SR-MPLS
Drop-in for existing MPLS networks
SRv6
Larger shift; appeals to greenfield / IPv6-native designs

SR-MPLS is the pragmatic upgrade for any network that already runs MPLS - same data plane, simpler control plane. SRv6 is the more ambitious version that drops MPLS entirely and encodes segments directly in IPv6 addresses. Most MPLS networks migrating today go SR-MPLS first.

Why networks migrate to SR-MPLS

Fewer protocols
IGP only. LDP and RSVP-TE are removed - fewer things to run, monitor, and break.
No core TE state
The path is in the packet. Core routers hold no per-tunnel state, so traffic engineering scales.
Better fast-reroute
Topology-Independent LFA (TI-LFA) gives sub-50ms protection with guaranteed coverage - cleaner than the LDP/RSVP equivalents.
SDN-friendly
A central controller can compute a path and just tell the edge router the label stack to push. SR is the natural data plane for SDN traffic engineering.
Unchanged data plane
Existing MPLS hardware forwards SR-MPLS with no change. The migration is control-plane only.

Migration reality

SR-MPLS and LDP can run at the same time during a transition, so migration is incremental rather than a flag day. A common path: enable SR under the IGP across the core, let SR and LDP coexist with a defined preference, move services onto SR, then decommission LDP once nothing depends on it. RSVP-TE tunnels get rebuilt as SR policies. None of this requires touching the data-plane hardware.

Key takeaways

Segment Routing keeps the MPLS data plane and removes the separate label-distribution protocols. In SR-MPLS, the IGP (OSPF or IS-IS) is extended to distribute segments - labels with meaning - so LDP and RSVP-TE are no longer needed. Prefix-SIDs are global "shortest path to here" labels; adjacency-SIDs are local "use this link" labels. Traffic engineering becomes a label stack pushed at the edge, leaving core routers stateless, which is the headline scaling win over RSVP-TE. SR-MPLS is the low-friction upgrade for existing MPLS networks; SRv6 is the more radical IPv6-native variant. The migration is control-plane only and can run alongside LDP during the transition.

For the MPLS cluster, see the MPLS pillar.

Written by
More from Ping Labz
QoS for VoIP across MPLS WAN feature image, PingLabz
QoS

QoS for VoIP Across an MPLS WAN

End-to-end QoS for VoIP across an MPLS L3VPN: DSCP marking, the LLQ + CBWFQ policy at the CE edge, and the DSCP-to-MPLS-EXP mapping the carrier needs.
MPLS L3VPN vs SD-WAN migration feature image, PingLabz
MPLS

MPLS L3VPN vs SD-WAN: When to Migrate

A decision framework for migrating from MPLS L3VPN to SD-WAN: what's different, when to migrate, the 7-step transition that works, and when the right answer is to stay.
Cisco MPLS Configuration on IOS XE
MPLS

Cisco MPLS Configuration on IOS XE

Cisco MPLS configuration on IOS XE: enabling MPLS forwarding, LDP, LDP-IGP sync, VRFs for L3VPN, and MP-BGP between PEs. With a complete PE config example.
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.