Network operators have invested significant effort in reducing the operational complexity of the networks and rely on a small set of protocols. With global SDN controllers, the need for simpler traffic engineering and managing traffic flows is even more important. Segment Routing (SR) is a technology which promises to offer the best of distributed routing protocols combined with global control for end-end traffic engineering.
Segment Routing leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called segments. A segment can represent any instruction, topological or service-based. Each segment is identified with a segment ID (SID) which consists of a 32 bit integer. A segment can be local to an SR node or global within an SR domain. SR allows to enforce a flow through any topological path and service chain while maintaining per-flow state only at the ingress nodes to the SR domain. There are different segment types like IGP, BGP or binding segments.
The most common one is IGP segment which is made up of two groups:
Prefix Segments: This is a global segment which steers packets to the destination network
Adjacency Segments: This is a local segment which steers packets onto a specific link to a neighbor
The SR architecture can be applied to various data planes such SR over MPLS (SR-MPLS) or SR over IPv6 (SR-v6). Segment Routing can be directly applied to the MPLS architecture with no change on the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.
Need for SR-MPLS Interworking:
Given the wide usage of MPLS/LDP in current networks, it is important for the SR technology to interoperate with existing solutions. SR/LDP interworking would be required, if an operator is already running an LDP network and wants to implement SR but not every node is SR capable. There are other limitations in terms of the maximum SID in a path and lack of support for solutions such as SID stack compression techniques.
A Segment Routing Mapping Server (SRMS) is a key component of the interworking between LDP and SR domains. The mapping server advertises Prefix-to-SID mappings in IGP on behalf of other non-SR-capable nodes.
MP-BGP L3 VPN Service:
OcNOS provides comprehensive support for L2/L3 protocols and MPLS services such as L2 and L3 VPN. With SR support in OcNOS, we can enable both green field applications or interwork with existing MPLS domains. In the topology below, L3 VPN service is configured between Node 1 (LDP) and Node 3 (SR). Node 2 acts as the SRMS and advertises the prefix-SID mappings on behalf of LDP node. IS-IS is used as the IGP protocol in this setup.