EIGRP is an advanced routing protocol that was originally developed by Cisco, but has since been adopted by other vendors as well. Along with OSPF, it is one of the most popular Interior Gateway Protocols (IGPs) used by large enterprises for the internal routing of their networks.
One of the advantages that EIGRP has over other IGPs, is the fact that it can perform unequal cost load balancing. In this article, we’ll explain what this is, and how it is beneficial for enterprise networks, and we’ll also show a simple example of how to configure this on Cisco routers.
Multipath Routing and Load Balancing
Routing protocols can be configured to enable multipath routing and load balancing over a network infrastructure. This avoids the situation where all traffic is routed over a single path while alternate paths remain idle.
Equal Cost Multipath Routing (ECMP)
ECMP is a routing strategy that is often employed to route traffic more efficiently over a network infrastructure.
It allows packet forwarding to a particular destination to occur over multiple “best paths” that have an equal cost.
ECMP as its name suggests, presupposes that the metric for all participating paths is the same. Most routing protocols inherently support this approach, allowing multiple equal-cost best paths to be installed in the routing table, and to be used simultaneously.
Unequal Cost Load Balancing
EIGRP has an advantage over most other routing protocols in that it can be configured to perform unequal cost load balancing.
This feature allows EIGRP to distribute outgoing network traffic across multiple routes that have different metrics or costs.
The traffic itself will be routed proportionally over each route based on the metric of each. So for example, if EIGRP has learned about two paths to a particular destination, and one path has a metric that is three times that of the other path, the traffic will be distributed between the paths with a 3:1 ratio.
Enabling EIGRP’s Unequal Cost Load Balancing
For EIGRP to perform this feature, certain prerequisites must be fulfilled. First, of all, for a route to be considered to take part in the unequal cost load balancing mechanism, it must be considered a feasible successor.
This means the route’s reported distance (the cost from the neighbor advertising the route to the destination) must be lower than the feasible distance (the best metric to the destination) of the current successor route.
Secondly, EIGRP can be configured to use unequal cost load balancing through the variance command. The variance command allows EIGRP to include routes in the routing table that have a metric up to a certain multiplier of the best route’s metric.
For instance, if the variance is set to 2, any routes with a metric no more than 2 times the metric of the best route (the successor) can be used for load balancing.
By using the variance command, we are actually telling the router to install, in the routing table, multiple routes to the same destination, even if the metric is not the same.
Configuring Unequal Cost Load Balancing
To more fully understand this feature, it is always beneficial to take a look at a practical example.
EIGRP Under Normal Operation
Refer to the following diagram of an EIGRP topology:
The numbers in purple represent the metric assigned by EIGRP to that particular link. From R1, there are three possible paths to the 10.10.10.0/24 network, each of which has a different metric.
Let’s examine the feasible distance and the advertised distance of each path, from the point of view of router R1.
Path via | Advertised Distance | Feasible Distance (from R1) | Type of Successor |
R2 | 25 | 35 | – |
R3 | 15 | 25 | Successor |
R4 | 23 | 223 | Feasible Successor |
Let’s explain what we see in the table above:
- The Successor is the best route, that is, the one with the lowest total metric
- The Feasible Successor is the alternate route that EIGRP determines as the backup route. Under normal EIGRP operation, this route is automatically installed in the routing table, without the need to rerun the EIGRP algorithm, if the Successor fails.
- The path via R2 is not considered a Feasible Successor because it does not pass the feasibility condition. That is the advertised distance of R2 (25) is not less than the Feasible Distance of the Successor of R1 (25).
Now, with the above arrangement, the path via R3 enters the routing table. Without any variance configuration, only one entry will appear in the routing table. Here we can see this installed route in the routing table of R1.
R1#show ip route | begin 10.10.10.0
D 10.10.10.0/24 [90/25] via 192.168.3.3, 00:00:42, FastEthernet0/1
You can see that the metric is 25, and there is only one entry for the 10.10.10.0/24 network. This is as expected.
Now if we apply the variance command, we can specify that any feasible successors that EIGRP may have calculated be installed in the routing table.
Applying the Variance Command
The metric of the successor is 25. The metric of the feasible successor is 223. To consider the feasible successor for unequal cost load balancing, the variance multiplier must be such that when it is multiplied by the metric of the successor, the result is larger than the metric of the feasible successor. Written mathematically:
Variance Value * Metric of Successor > Metric of Feasible Successor
Only when the above is true will the feasible successor be considered for unequal cost load balancing.
Let’s try using a variance of 5: 5*25 = 125. This value is smaller than 223 therefore this variance value will not cause the feasible successor to be considered for unequal cost load balancing.
Let’s try a variance of 9: 9*25 = 225. This value is larger than 223 thus the variance value will allow the feasible successor to be considered for unequal cost load balancing.
Let’s apply this value to the configuration of R1:
R1#configure terminal
R1(config)#router eigrp 1
R1(config-router)#variance 9
R1(config-router)#
Now let’s take a look at the routing table of R1 again:
R1#show ip route | begin 10.10.10.0
D 10.10.10.0/24 [90/25] via 192.168.3.3, 00:00:57, FastEthernet0/1
D [90/223] via 192.168.4.4, 00:00:19, FastEthernet0/2
Note that the second route has been installed in the routing table, and thus load balancing can occur, based on the ratio of the metric of each route.
It is interesting to notice here that the route via R2 was never considered for load balancing even though its metric is much lower than the path via R4.
This is because it did not pass the feasibility condition. No matter how high a variance you configure, the path via R2 will never take part in the unequal cost load balancing.
Additional Considerations
The following are some additional pieces of information that illustrate the advantages as well as the potential drawbacks of this feature.
Advantages
- Efficient Use of Network Resources: By utilizing multiple paths, even if they are not of equal cost, EIGRP makes more efficient use of available network bandwidth.
- Flexibility: The ability to control the degree of unequal cost load balancing through the variance command provides network administrators with flexibility in managing traffic distribution according to the network’s specific requirements.
- More than two paths: By default, EIGRP allows for up to four load-balancing paths. Depending upon the IOS version and platform, up to 16 or more can be configured by adjusting the maximum-paths parameter in the EIGRP router configuration.
Potential Drawbacks
- Configuration Complexity: Implementing unequal cost load balancing requires careful planning and configuration to ensure optimal network performance and to avoid potential routing loops or traffic blackholing.
- Resource Utilization: More routes in the routing table and additional processing for multiple paths can lead to increased use of router CPU and memory resources.
Conclusion
EIGRP’s variance and unequal cost load balancing capabilities offer a flexible and powerful approach to traffic management, allowing network administrators to utilize multiple pathways to optimize network performance and resilience.
By adjusting the variance parameter, EIGRP can efficiently distribute traffic across paths with different metrics, making full use of available resources and improving overall network reliability.
This advanced feature distinguishes EIGRP from other routing protocols, providing a unique advantage in complex network environments where performance and uptime are critical.
Related Posts
- Comparison of Reported Distance vs Feasible Distance in EIGRP
- Explanation and Comparison of OSPF E1 vs E2 Routes
- Discussion and Explanation of OSPF Graceful Restart and Shutdown
- Explanation and Configuration of OSPF MD5 Authentication on Cisco Networks
- Explanation of BGP Neighbor Adjacency States on Cisco Devices