Segment Routing Overview
Introduction
Segment Routing (SR) is a source routing paradigm relying on the Source Packet Routing in Networking (SPRING) architecture.
Segment Routing Overview
- Segment identifies an instruction for a router to take. One example of such instruction is to forward packet thought a defined node or a defined adjacency.
- SR defines a path, which is an ordered list of segments. Similar to source based routing for IPv4.
- Each segment is identified with SID (Segment ID), which consists of a 32 bit integer.
- There is a number of different segment types. The most common is the IGP Segment which is made up of two groups: prefix segments and adjacency segment.
- Prefix Segments - steer packets to the destination network.
- Adjacency Segments - steer packets onto a specific link to a neighbors.
- SR is thought to be the replacement of MPLS TE, but without using RSVP protocol and maintaining tunnel states at each node of the backbone.
- Per Flow state kept only on ingress SR edge node, which pushes the segment on the packet.
- SR eliminates the need for a label distribution protocol (LDP and RSVP or BGP). The functionality is replaced by segments via Link State IGP protocols.
- SR allow for ECMP traffic engineering.
- There are two data plane applications of segment routing: MPLS and IPv6.
- For MPLS forwarding, a segment is represented in a label.
- For IPv6 forwarding, a segment is represented in a IPv6 routing extension header
- Control plane of segment routing is mostly performed with either IGP or BGP. Protocols have extensions to carry segment information.
- Below are the required protocol extension:
-
- ISIS ISIS SR Extensions DRAFT
- OSPF OSPF SR Extension DRAFT
- OSPFv3
- BGP-LS
- BGP-LS Egress Peer Engineering (EPE) BGP LS SR DRAFT
- PCEP (Path Computation Element Protocol)
-
Additional Resources
Segment Routing Architecture - draft-filsfils-spring-segment-routing-04
Segment Routing.net
[https://datatracker.ietf.org/doc/draft-filsfils-spring-segment-routing-mpls]