Segment routing is a computer networking process used by networking and traffic engineering professionals that organizes collections of information, or packets, to follow a linear set of instructions. This form of packet forwarding is a variant of source routing and can be installed on top of existing Multiprotocol Label Switching (MPLS) or IPv6 network infrastructure.
In segment routing, the network source defines the path for traffic which is then encoded in a packet header as an ordered list of nodes, referred to as segments. Using this framework helps network operators avoid traffic congestion and steer nodes over different paths based on requirements or the state of the network.
How segment routing works
The way that packets are transmitted along a path is determined by the type of network in use. In all networking, information is transmitted over a theoretical data plane (DP) within the network's infrastructure. Data that is transmitted comes directly from users and it is combined with data that is a part of the network. In segment routing, the information is organized into individual segments which travel along a determined path.
A segment is an instruction within a computer program or system. For example, a segment could be a forwarding instruction to transmit a packet to a specific interface. There are two types of segments, a node segment and an adjacency segment. Node segments identify the shortest path to a destination while adjacency segments link nodes together.
In a segment routed network, the SDN controller will assign each node a unique segment identifier, process it and calculate an appropriate path or response. As each instruction, or segment, occurs, it is designated as an activated segment. In most networking systems, the physical device used to carry out segment routing is a router, or a midpoint device between a computer and modem.
Benefits of segment routing
Segment routing is meant to serve as a simplified version of MPLS, a network that dynamically moves between internet protocols (IPs) in order to improve speed. It can be implemented within existing MLPS architecture, using resources more efficiently and speeding up processing and information exchange. Additional benefits of executing segment routing include easier scalability, better flexibility, higher latency, more balance between systems and improved operational simplicity.