In a Nutshell

Traditional textWAN\\text{WAN} routing relies on complex protocols like textLDP\\text{LDP} and textRSVPTE\\text{RSVP-TE} to manage traffic tunnels. Segment Routing (textSR\\text{SR}) revolutionizes this by introducing 'Source Routing'. Instead of every router along the path making a decision, the source router encodes the entire path into the packet header. textSRv6\\text{SRv6} achieves this using textIPv6\\text{IPv6} address spaces, turning the network into a programmable computer.

The Paradigm Shift: textSourceRouting\\text{Source Routing}

Imagine you are going on a road trip.Traditional Routing is like driving and stopping at every intersection to ask a local for directions — each router consults its textFIB\\text{FIB} and makes an independent decision based on the destination address alone. Segment Routing is like having a textGPS\\text{GPS} that prints a list of waypoints on your windshield before you leave: "Turn right at Node A, then left at Node B, detour through the firewall at Node C." The source knows the full path; intermediate nodes simply follow the instructions.

This "source routing" principle eliminates the need for routers in the middle of the network to maintain per-flow state, dramatically simplifying the core while providing the source with unprecedented traffic engineering control.

textSRv6\\text{SRv6} Packet Structure

Unlike textSRMPLS\\text{SR-MPLS}, which uses a stack of textMPLS\\text{MPLS} labels prepended before the textIP\\text{IP} header, textSRv6\\text{SRv6} uses the standard textIPv6\\text{IPv6} Routing Header (Type 4) — also called the Segment Routing Header (textSRH\\text{SRH}). This means textSRv6\\text{SRv6} packets are valid textIPv6\\text{IPv6} packets and can cross any textIPv6capable\\text{IPv6-capable} network without modification.

  • Segment List: An array of textIPv6SIDs\\text{IPv6 SIDs} representing the desired path, stored in reverse order (destination first).
  • Segments Left: A pointer (decremented at each hop) that indicates which textSID\\text{SID} in the list is currently active — analogous to the textMPLS\\text{MPLS} label at the top of the stack.

SRv6 Network Programming

Watch how SIDs guide a packet using IPv6 Extension Headers.

Ingress (SR Headend)SID:HEADWaypoint 1SID:::1Waypoint 2 (Firewall)SID:::2Egress (Endpoint)SID:::3IPv6
IPv6 DESTINATION ADDRESS (DA)
2001:db8:1::1
SEGMENT ROUTING HEADER (SRH)
SID:1
SID:2
SID:3
LEFTS: 2

Operational Insight

Ingress router encapsulates IP packet in SRv6 header. Destination Address (DA) is set to the first Segment ID (SID).

State Location
Edge Only
Data Plane
IPv6 Native
Traffic Steer
Policy-Based
Overhead
24-40 Bytes

Why textSRv6\\text{SRv6}? (Eliminating Complexity)

  1. No textLDP/RSVP\\text{LDP/RSVP}: Eliminates two of the most complex protocols in the Service Provider core. textLDP\\text{LDP} distributes label bindings for every textIP\\text{IP} prefix; textRSVPTE\\text{RSVP-TE} maintains per-tunnel state signaling on every node in the path. textSRv6\\text{SRv6} eliminates both with a single control-plane extension to textISIS\\text{IS-IS} or textOSPF\\text{OSPF}.
  2. textTILFA(TopologyIndependentLoopFreeAlternate)\\text{TI-LFA (Topology Independent Loop-Free Alternate)}:Provides guaranteed <50,textms<50\\, \\text{ms} protection against link or node failures for any arbitrary network topology — without requiring a pre-provisioned backup textLSP\\text{LSP}. The backup path is computed using post-convergence textSPF\\text{SPF} results.
  3. Service Chaining: Forces traffic through specific security (firewall), optimization (textWAN\\text{WAN} accelerator), or textNATVNFs\\text{NAT VNFs} simply by including their textSIDs\\text{SIDs} in the segment list. No textMPLSVPN\\text{MPLS VPN} tunnels or textPBR\\text{PBR} required.
  4. Network Slicing: Enables distinct "Network Slices" where high-priority traffic (video conferencing, industrial control) takes a low-latency path, while bulk data (backups, analytics) takes a cheaper, high-bandwidth path — all on the same physical infrastructure.

Conclusion

textSRv6\\text{SRv6} is more than a routing protocol; it is a Network Programming Language. It treats the entire global network as a single programmable entity, allowing path steering, service insertion, and traffic engineering to be expressed as a simple list of textIPv6\\text{IPv6} addresses. For operators seeking to simplify their textWAN\\text{WAN}, enable text5G\\text{5G} network slicing, or build cloud-scale fabrics, textSRv6\\text{SRv6} is the architecture that makes it operationally feasible.

Share Article

Technical Standards & References

Filsfils, C., et al. (2018)
SRv6: Segment Routing over IPv6 (RFC 8402)
VIEW OFFICIAL SOURCE
Filsfils, C., et al. (2021)
SRv6 Network Programming (RFC 8986)
VIEW OFFICIAL SOURCE
G. Gomez, et al. (2019)
Segment Routing Header (SRH) Format
VIEW OFFICIAL SOURCE
CSPF Team (2023)
SR-MPLS and SRv6 Comparison
VIEW OFFICIAL SOURCE
Mathematical models derived from standard engineering protocols. Not for human safety critical systems without redundant validation.

Related Engineering Resources