SEGMENT ROUTING

Overview

Segment routing (SR) stands for a network architecture similar to source-routing, where the ingress router appends a list of segments to the packet entering the network.

The SR segments are portions of the network path taken by the packet, and are called SIDs. At each node, the first SID of the list is read, executed as a forwarding function, and may be popped to let the next node read the next SID of the list. The SID list completely determines the path where the packet is forwarded.

The below figure illustrates a packet entering the A ingress router, and appended with two SIDs: A devices routes the packet to device C which owns the 16020 SID. When C receives the packet, it pops its SID, and heads the packet to E device for the next SID.

../../../../../_images/segment-routing-intro.svg

Segment routing network

There are two kind of used SIDs, the prefix SIDs which stand for global unique identifiers that determine a unique device in a given segment routing domain, and the adjacency SIDs which are local and determine a specific adjacency between two neighbors.

Segment routing defines a control plane network architecture and can be applied to an existing MPLS based dataplane. In the MPLS networks, segments are encoded as MPLS labels and are imposed at the ingress router. MPLS labels are exchanged and populated by IGPs like IS-IS.

Usage

Segment Routing has several advantages compared to other network architectures.

  • SID distribution only relies on IGP. For instance, if an MPLS backbone is used, MPLS allocation and redistribution is ensured by the IGP protocol. Older control plane implementations using LDP become obsolete.

  • segment routing reduces the prefix stacking overhead. With previous MPLS based distributions, a label was allocated for each route, and was self to a node. When using global label allocation, only one MPLS label is necessary to reach a device within a SR domain.

  • The path state information is in the packet at ingress, and replaces the network state information that is usually available on transit routers. The configuration of the intermediate devices is simplified.

  • The network architecture is ready for enabling added services like traffic engineering. By controlling the ingress device, a controller may add customise the segment list, to take into account constraints other than the shortest path.

RFC

RFC 7855:

Source Packet Routing in Networking (SPRING) Problem Statement and Requirements

RFC 8402:

Segment Routing Architecture

RFC 8660:

Segment Routing with the MPLS Data Plane

RFC 8355:

Resiliency Use Cases in Source Packet Routing in Networking (SPRING) Networks