This may be seen as very easy for some of you but let's make a philosophy a little bit, which means let's design around optimal routing.
Network engineers know that one of the tradeoffs in network design is Optimal Routing. We want our application traffic to follow Optimal Routing right?
Not exactly right. I will explain why it is not always right but let's understand what exactly we mean with "Optimal Routing".
Based on which parameter optimality we are looking for?
The answer to this question is IGP Metric. From the source of the traffic to the destination, between the network nodes, cumulative/total cost. It can be Layer 2 or Layer 3 protocol, we prefer the shortest path. The shortest path, most of the time is calculated based on "Bandwidth". Thus, overall which path provides more bandwidth, that path is considered the shortest path, thus Optimal Routing.
This is not necessarily always the case, for example, BGP uses the shortest AS-Path length, not the bandwidth for Inter-domain routing but OSPF, and IS-IS, for example, look at the total bandwidth for the cost calculation inside the domain/AS.
Some of you might think that other than the shortest IGP cost, maybe the lowest physical distance (mostly called fiber mile distance), or the cheapest monetary cost we might use for optimality purposes, you are right. You may have a valid business case for it and in fact, we have technical solutions to do that.
RSVP-TE and Segment Routing-based Traffic Engineering provides functionality for you to have different policies in the network.
As we understand that Optimal Routing is mostly considered as the shortest cumulative IGP cost between the source and the destination network nodes, let's talk about why we may not want to send the traffic through the path which provides optimality.
The above picture is famously called as "Fish Diagram/Topology"
The reason is; that it looks like a fish but for us, it is important to understand that with this very basic topology, we can understand why we may need traffic engineering.
If every interface between the routers has the same IGP Metric, between the source and the destination routers in the above topology, always the top path would be chosen due to the shortest cumulative/total IGP Metric.
The bottom path wouldn't be used at all if we would rely on IGP routing protocols for path selection.
If we would like to utilize the bottom path for some of our application traffic, we need more than IGP routing functionality. RSVP and Segment Routing provides traffic engineering capability but those are not the topics of this post.
When we start doing Traffic Engineering, we are in fact accepting to do "Sub Optimal Routing".
We send only some of our traffic over the shortest IGP cost (Remember our Optimal Routing Definition), and intentionally we send some other traffic over a longer IGP cost path which is the Sub Optimal Routing path.
By the way, the shortest IGP cost path doesn't have to be a monetary wise cheaper one, or it may not be the lowest delay path, etc.
You may have a satellite link with the GEO orbit, which comes with 500+ msec latency but you may have more bandwidth on that compared to another path.
Let me summarize.
- We use Optimal Routing to define the shortest IGP cost path.
- This path may not be the Optimal path as per your policy
- Optimal Routing may not be desired for every of your application or service traffic
- Technologies such as RSVP and Segment Routing are used for Traffic Engineering which intentionally violates the Optimal Routing Path
- We intentionally send some of our Application traffic over Sub Optimal Routing path, but that path satisfies the constrain of the applications overlay that path
- There is no one correct answer for all networking requirements!
If you liked this post and would like to see more, please let me know in the comment section below. Share your thoughts so I can continue to write similar ones.