Scalability and simplicity is an important consideration when we talk about IP/MPLS networks. Traditional MPLS networks are complex and use LDP and IGP (ISIS and OSPF) as control plane protocols. LDP is used to label information exchange and IGP for Prefixing information exchange between neighbours. A way to leverage IP/MPLS networks is use of segment routing which offers complete control over forwarding paths and does not require any additional protocol; it leverages existing MPLS services and hardware hence does not require new infrastructure to move or migrate to segment routing.
Today we look more in detail about segment routing, how it works, its features, architecture components, advantages and use cases etc.
What is Segment Routing?
The standard of segment routing is defined by the IETF SPRING working group in RFC 8402. In an IP/MPLS network ‘segments’ present network links, network nodes or services. A path or route which an IP packet traverses in a network goes through intersections represented with link segments and network service represents destination. In an IP/MPLS network a node segment represents an MPLS enabled router, a link segment represents a connection between two adjacent routers, and a service segment represents a customer VPN service (Layer 3 or layer 2 VPN).
Segment routing uses a source-based routing scheme where a network node steers a packet based on a list of instructions carried in a packet header called ‘segments’. The list of segments carried in a packet header give a strict and loose specification of the required network path or tunnel thus eliminating the need for transit nodes to maintain path information.
Components of Segment Routing
There are some fundamental components of segment routing as under.
- Segment Routing(SR) domain – a collection of nodes which participate in SR protocols. Within an SR domain a node can execute ingress, transit or egress procedures.
- SR path – an ordered list of segments which connect an SR ingress node to SR egress node following least cost path principal
- SR segment – A forwarding instruction which causes a packet to traverse a section of network topology. SR defines any SR segment types and two used most often are adjacent and prefixed ones. An adjacency is a strict forward single hop tunnel. A prefix is a multihop tunnel which uses equal cost multihop-aware shortest path link to reach each prefix.
How does Segment Routing work?
- When a packet arrives at SR ingress node, it is subjected to policy.
- If the packet matches the conditions for an SR path as per policy the SR ingress node encapsulates the packet in SR tunnel which traverses an SR path segment by segment.
- Each segment in the SR path terminates at the endpoint of the segment.
- When a packet arrives at the endpoint it is examined for the outermost packet label or header to get the corresponding segment.
- It then pops the outermost label or header and forward packet to the next endpoint segment.
- This process continues until the packet reaches its final destination which might be by SR egress node.
- When the packet reaches the SR egress node the node will determine if the packet is at the end of the path.
- If it is end of path SR header information is removed and packet if forwarded to its destination finally.
Advantages of Segment Routing
- Simplification of network and reduction in resource utilization making easier to manage and operate network
- Reduction in the number of nodes which needs to be touched for path provisioning and changes. Network is more responsive to changes, agile and flexible
- Provides application QoS and maps network services to end users and applications as they traverse across the network
- Path resiliency during network outages through head end restoration and topology independent loop free alternate (TI-LFA) technology
- Bandwidth reservation with simplified traffic engineering when used as WAN PCE controller
- Reduction in risk of transition as it offers heterogeneous support for multiple forwarding planes (MPLS and IPv6 as well)
- Facilitate closed loop automation by continuous assessment of real time network conditions such as packet flow to network devices, network behaviour monitoring and performance,
- Also used for network slicing to enhance end user experience by defining specific network paths as per set requirements