Segment Routing with MPLS (SR-MPLS)

How an ingress router steers packets with a stack of MPLS segment identifiers.

Prefix, node, adjacency and anycast SIDs

A prefix segment steers toward a prefix using the associated routing algorithm. A node segment is a prefix segment identifying a particular router, commonly by its loopback. An anycast segment is shared by several routers advertising the same prefix, so traffic can reach a nearby member according to the routing calculation.

An adjacency segment directs traffic over a particular outgoing adjacency. An adjacency SID is normally local to the advertising router. A policy can first steer traffic to that router with a node SID and then apply the adjacency SID to select its outgoing link.

The label stack encodes the instructions

The ingress imposes a label stack in which the top label represents the current segment. Forwarding toward a prefix segment can span multiple hops. When that segment is completed, removing its label exposes the next instruction.

A global prefix SID can be advertised as an index into a router’s Segment Routing Global Block (SRGB). Routers map the index to the applicable label, so the same index need not have the same numerical label on every router.

Try it in a lab

  1. In an SR-MPLS-capable lab, advertise node SIDs and inspect the SID-to-label mappings. Record the normal IGP path between an ingress and a destination.
  2. Apply a policy with a node SID for a waypoint and an adjacency SID owned by that waypoint. Check the imposed stack and confirm the traffic uses the specified outgoing link at the waypoint.
  3. Compare it with a policy that uses a shared anycast SID. With different path costs to the members, verify that the active path leads to the lower-cost reachable member.

Sources