What Is Segment Routing?
Segment Routing (SR) is a source routing protocol. Its core idea is to divide a packet forwarding path into different segments and insert segment information into packets at the ingress of the path to guide packet forwarding. SR supports both MPLS and IPv6 data planes, which respectively correspond to two mainstream technical solutions: SR-MPLS and SRv6. SR based on the MPLS data plane is called SR-MPLS, and that based on the IPv6 data plane is called SRv6.
How Does SR Come into Being?
The advancement of global informatization is accelerating the development of Internet applications. As networks grow in scale and we embrace the cloud era, we are seeing more diversity in the types of network services and the requirements they pose on networks. In this context, traditional IP/MPLS networks are presented with a series of challenges:
- Isolated IP bearer network islands: Although MPLS unified bearer network technologies, the IP backbone, metro, and mobile bearer networks are independent MPLS domains that are separated from each other. Consequently, they must be interconnected using complex technologies, such as inter-AS VPN, leading to more complex E2E service deployment. In addition, when L2VPN and L3VPN services coexist, numerous protocols (such as LDP, RSVP, IGP, and BGP) may coexist on a device, further complicating management and resulting in difficult large-scale service deployment.
- Limited programming space in IPv4 and MPLS: Many of today's new services require additional forwarding information to be added to packets. However, the IETF has announced that it will no longer formulate new standards for IPv4. In addition, as the MPLS label space is fixed at 20-bit long and lacks extensibility, it can no longer sufficiently meet the requirements of new services for network programming.
- Decoupling of applications and bearer networks: Decoupling makes it difficult to optimize networks and improve their value. As a result, many carriers find themselves stuck as a provider of pipes, unable to benefit from value-added applications. Moreover, the lack of application information means that carriers can only implement network adjustment and optimization in a coarse-granularity manner, leading to wasted resources. Throughout the years, attempts have been made to move MPLS closer to user hosts and applications, but all have failed for a variety of reasons, such as numerous network borders and complex management.
- Tight coupling of the data and control planes: These planes are bound together for sale and evolution, prolonging service provisioning and making it difficult to cope with the rapid development of new services.
In response to the challenges, many new network technologies have emerged, among which Software-Defined Networking (SDN) excels. Traditional network architectures inherently involve tightly coupled and interdependent device hardware, operating systems (OSs), and network applications. To solve these issues, Professor Nick McKeown's team at Stanford University proposed a new network architecture — SDN — by drawing on the universal hardware, software-defined functions, and open-source model of the computer field. SDN has three major characteristics: network openness and programmability, logical centralized control, and separation between control and forwarding planes. Any network with these three characteristics can be called an SDN network.
SR was developed under the influence of the SDN concept. Its core idea is to divide a packet forwarding path into different segments and insert segment information into packets at the ingress of the path. A transit node only needs to forward the packets according to the segment information carried. As a simple, efficient, and scalable protocol, SR offers the following benefits:
- Supports network path programming. Leveraging the advantage of the source routing mechanism, SR enables the ingress to control a service path by merely performing label operations on packets. In addition, transit nodes do not need to maintain path information, reducing the pressure on the control plane.
- Simplifies the device control plane, reduces the number of required routing protocols, and lowers O&M costs. In addition, the label forwarding table is simple and does not contain a large number of labels, reducing the device resource usage.
- Smoother evolution to SDN networks: With an SDN-oriented design, SR integrates the advantages of independent forwarding and centralized programming control to better implement application-driven networks. Furthermore, it supports both traditional and SDN networks and is compatible with existing devices, ensuring smooth evolution to SDN networks.
What Technical Solutions Does SR Support?
The working principles behind SR can be easily found in real life. Let's say you depart Shanghai for a trip to Paris but take a connecting flight via Vienna. Your travel route will be divided into two segments: Shanghai → Vienna; Vienna → Paris. To reach your destination, you only need to buy a ticket in Shanghai. You can then take two flights, arriving at Paris as planned.
Travel from Shanghai to Paris
The process of forwarding network packets using SR is similar. In SR, two points are critical: dividing a path into segments and arranging the segments (segment list) at the starting point to determine the forwarding path. SR combines segments representing different functions into a list, realizing path programming and meeting different service quality requirements for paths.
SR supports both MPLS and IPv6 data planes, which correspond to two mainstream technical solutions: SR-MPLS and SRv6. SR based on the MPLS data plane is called SR-MPLS, and that based on the IPv6 data plane is called SRv6. For details about these two technical solutions, see SR-MPLS and SRv6.
- Author： Guo Fenghai
- Updated on： 2021-11-29
- Views： 3725
- Average rating：