One of the primary means of improving the resiliency of a network and solving traffic congestion problems is segment routing (SR), developed by the Internet Engineering Task Force (IETF’s) SPRING Working Group. It is an evolved version of source routing (path addressing) which has allowed a sender of a packet — as opposed to routers — to specify the route the packet takes through the network.
The management of traffic from source to destination in Multiprotocol Label Switching (MPLS) networks has, for a long time, been one of the main issues for reliable and efficient allocation of networking resources. As network topologies become increasingly complex, a simple but intelligent way of channelling traffic has emerged in the form of SR.
Dividing the network into segments — each with its own unique segment IDs consisting of unsigned integers — helps the source itself do the routing and choose the path of the packet by including an ordered segment list in the packet header. Implementing SR on an existing MPLS network is relatively painless as it does not require additional protocols; another upside is that it provides native IPv6 support across the protocol stack.
Residing in the SR application controller is a function that computes the most efficient path to steer traffic, depending on different requirements and the current state of the network. This path computation function harmonises the tension between centralising and distributing data traffic, the two core characteristics at play in network architectures.