Introduction to Segment Routing

Introduction To segment Routing and the reason it came to the existence, Defining Segments and Segment Identifiers

SEGMENT ROUTING

8/9/20232 min read

white and blue light on dark room
white and blue light on dark room

Introduction

MPLS was one of the key technology that works by switching the packets using Labels instead of Network addresses, LDP or RSVP-TE is used to assign and distribute the labels across the network.

MPLS data-plane doesn't have any complexities and it is used in many deployments till today, and it was rarely challenged, but challenge was the control-plane protocol that were used to distribute these labels be it LDP or RSVP-TE, as it was complex and lack scalability issues.

One scalability problem with RSVP-TE is with respect to Total number of tunnels, network vendor should consider total number of RSVP-TE Tunnels that a platform supports, Majority of the deployments happened because of the FRR support in RSVP-TE, RSVP-TE also lacked in traffic load-balancing on the ECMP paths.

On other hand LDP has its own issues like LDP-IGP synchronization (defined in RFC-5443 and RFC-6138), most of the times LDP distributes labels to all the prefixes that is present in its routing table, which are not necessary and causes scalability problems.

Apart for the problems defined above, RSVP-TE and LDP runs as a different protocol to distribute Labels for IGP prefixes, hence one more process requires to run and configure to distribute Labels, which brings the complexities of interaction with IGP. This also possess problem in debugging in the live networks when any issue occurs.

IGP could have handled distributing labels for its own prefixes, rather depending on other protocols.

On the other hand, Segment routing uses underlying IGP to distribute the Labels, and removes complexities that IGP and RSVP-TE possess, In Segment routing IGP distributes Labels (called as segments) for each router or routers prefix, which basically would be the loopback interface IP Address.

Segment and Segment Identifiers

A segment is an instruction that carried in a header and are executed by a node on an incoming packet, Example of such instructions are: forward packet to specific interface or node or to an specific path.

In Segment Routing each segment is identified by a 20-bit unsinged integer called Segment ID or SID, these SID’s are distributed by respective IGP’s. IGP distribute two types of Segment ID’s, Prefix SID and Adjacency SID

Format of SID depends on the type of implementation, Example: an MPLS Label, an index Value in MPLS Label Space or ipv6 address.

Segment Routing Global Block:

A Segment Routing Global Block (SRGB) is a range of Labels reserved for Segment Routing Global Segments, Example: Prefix SID, this gets advertised as domain wise unique value/index which gets associated with a prefix, majority of the time Prefix SID will be advertised for a loopback IP of a router.

Segment Routing Local Block:

A Segment Routing Local Block is a range of Labels reserved for Segment Routing Local Segments, Example: Adjacency SID, these SIDS are locally significant to a router and used to steer the traffic to a particular adjacency or an egress interface.

Segment Routing Control Plane:

To Distribute the segments, Segment Routing uses IGP (ISIS/OSPF) and BGP, hence there will be no new protocol required to distribute these segments. IGP either ISIS or OSPF requires new extensions for advertising these Segments.