Pick Your Path: Maximize Agility with Segment Routing with Flexible Algorithm
In this article
Everyone likes having a choice. It's no different when it comes to network traffic.
But not all options are created equal. The quickest route from your home to your office might be via an expressway, but that doesn't mean it's your preferred route. There's always going to be nuance. What if there's congestion on the expressway? Or what if you're looking for a more cost-efficient way?
The same is true for networks.
For decades, we let Interior Gateway Routing Protocol (IGP) determine the best path across the network, with routes calculated based only on bandwidth.
Of course, network architecture makes routing much more dynamic than simply a bandwidth consideration. What if instead of the highest bandwidth for the lowest cost path a traffic packet was looking for the shortest delay path?
Until recently, we needed to implement a complex RSVP Traffic Engineering model, and manually assign a traffic engineering metric that represented the delay of the interface and not the bandwidth.
The problem with this approach is that it is manual and not dynamic, which makes it more complicated to implement.
Segment Routing, first introduced by Cisco in 2013, helped alleviate some of these issues by reducing the number of protocols needed in the network. Segment Routing reuses the MPLS data plane and advertises the prefix labels with standard extensions to the ISIS and OSPF routing protocols.
Still, Segment Routing by itself is not ideal to solve the problem. Segment Routing with Flexible Algorithm, however, is.
Segment Routing Flexible Algorithm, also commonly called Flex-Algo, enables the router to assign a user-defined algorithm to the IGP — no traffic engineering, just a user-defined algorithm that the router can implement dynamically and on demand.
In conjunction with performance monitoring — a feature that exists in Cisco IOS XR code that measures the round-trip time it takes a packet to get from Point A to Point B and updates that status dynamically every three seconds — Segment Routing Flex-Algo allows routers to deploy customized IGP algorithms for routing.
With Flex-Algo, operators can now specify the metrics or parameters the IGP uses to route traffic instead of relying solely on bandwidth.
In addition, we can add constraints to the algorithm, such as telling the router to avoid a link or set of links, which is useful when there is a link in the path that is desirable to be avoided for monetary or strategic reasons.
All of this is accomplished without traffic engineering with a single MPLS label used to transport the traffic end-to-end across the entire network.
Flex-Algo can also be used to build what is referred to as a dual-plane network. With this paradigm, we assign one algorithm identifier to one set of routers and a separate one to another set of routers. Two totally diverse paths can be built from end-to-end, again utilizing a single segment identifier (SID) or MPLS label value.
Let's take a deeper look at the original example of Flex-Algo in conjunction with performance monitoring using the figure below. Under normal conditions, the router would choose the shortest path based on cost from Point A to Point F via high bandwidth core links.
While this may be ideal in most situations, the delay imposed on the packet to traverse the core might be too great for voice or real time data. What if you could choose between the least cost path for high bandwidth traffic (identified in red below) or the shortest delay for voice (identified in blue)?
With Cisco IOS XR code, this option is not only possible, but already being implemented in real-world scenarios. This approach provides an accurate representation of the true delay of the fiber. And because the value is updated every three seconds, any changes in the underlying fiber path can be easily detected by the routers and, therefore, utilized by the user-defined algorithm to calculate the shortest delay path in near-real-time.
Another benefit of Flex-Algo is its ability enable network slicing, a key capability identified by service providers to fully unleash the power of 5G connectivity.
Consider this excerpt from a recent 5G white paper: "With performance specifications radically different across the spectrum of potential 5G use cases, a single network cannot address them all. At the same time, however, maintaining fully separate networks for different use cases will never be cost-effective. Network slicing allows operators to partition services such that SLAs and key performance indicators (KPIs) – such as latency, throughput, and reliability – can be assured within various 'slices' operating within a common network infrastructure."
Cisco has demonstrated the ability to use Flex-Algo with Segment Routing Traffic Engineering to build an alternative to choosing between various factors.
This is the essence of network slicing and segmentation sought after in the 5G world. All of this is accomplished with a single SID or MPLS label value.
To augment the proposed solutions, we implement On-Demand Next-Hop with Automated Steering (ODN/AS), which enables an operator to steer the traffic along a desired path by simply specifying an SLA color to the service routers. If no color is specified than the traffic is forwarded over the default IGP path.
Efficiently engineering traffic will play a critical role in service providers' and enterprises' ability to offer a wide range of 5G services, which will have dynamic needs when it comes to the network.
Consider again the highway analogy. Similar to motorists looking to get from one place to another in the most efficient way possible, network traffic, too, demands specific routes to transmit data from Point A to Point B. Sometimes it's the fastest route, while other times it's the most cost-efficient route. Still, some traffic requires low-latency paths.
As the industry continues to require more robust control of networks, Segment Routing with Flex-Algo offers many real-world benefits over traditional networking by offering a stateless mechanism that can scale without boundaries.
Enhancing our ability to program the network to unique specifications will only drive business outcome that are just as varied.