Skip to content

SRv6 vs SR-MPLS

Leer en español · 日本語で読む

Both SRv6 and SR-MPLS implement Segment Routing, but they use different data planes. Here's a practical comparison.

Comparison Table

Aspect SR-MPLS SRv6
Data Plane MPLS IPv6
Segment ID 20-bit label 128-bit IPv6 address
SID Space ~1M labels Virtually unlimited
Encapsulation MPLS label stack SRv6 SRH (IPv6 ext. header)
Network Programming Limited Rich (End, End.X, End.DT4...)
MTU Impact 4 bytes per label 40B IPv6 + 8B + 16B per SID
Existing Infra Requires MPLS forwarding Uses native IPv6
Signaling None (same as SRv6) None
Maturity Widely deployed Growing rapidly

SRv6 overhead is no longer what it was

The 16 bytes per SID figure applies to classic SRv6. With uSID (RFC 9800), up to 6 instructions fit in a single 16-byte container, putting SRv6 on par with or better than an MPLS label stack. See uSID / SRv6 Compression.

When to Choose What

Choose SR-MPLS when...

  • You have existing MPLS infrastructure
  • MTU overhead is a concern
  • Your use case is primarily TE or VPN

Choose SRv6 when...

  • Building a new IPv6-native network
  • You need advanced network programmability
  • Simplification and future-proofing are priorities
  • You want to eliminate MPLS entirely

Further Reading

References

  1. RFC 8402 - Segment Routing Architecture - Defines the SR architecture covering both MPLS and IPv6 data planes
  2. RFC 8660 - Segment Routing with the MPLS Data Plane - Specifies SR-MPLS forwarding behavior and MPLS label-based segment encoding
  3. Cisco Segment Routing Overview and Migration Guidelines - Practical overview of SR deployment and migration from traditional MPLS