EIGRP is an advanced distance vector routing protocol that blends features from both distance vector and link-state protocols. One of its standout capabilities is unequal-cost load balancing, unlike most traditional IGPs which only support equal-cost multi-path (ECMP).
EIGRP allows routers to include routes in the routing table that have different metrics to a destination, thereby improving network efficiency and flexibility.
The mechanism that enables unequal-cost load balancing in EIGRP is the variance command, which acts as a multiplier to the best route's metric.
But first, understanding how EIGRP selects the best path is essential.
EIGRP uses a composite metric that primarily considers:
| Component | Default Value |
|---|---|
| K1 (Bandwidth) | 1 |
| K2 (Load) | 0 |
| K3 (Delay) | 1 |
| K4 (Reliability) | 0 |
| K5 (Reliability) | 0 |
By default, only bandwidth and delay (K1 & K3) are used to calculate the metric.
EIGRP ensures fast convergence by precomputing backup paths:
A route that fails this condition cannot be a feasible successor even if its metric is within the variance range.
| Path | Feasible Distance (FD) | Advertised Distance (AD) | Metric | Feasible Successor? |
|---|---|---|---|---|
| Path-1 (Primary) | 30 | 20 | 100 | Successor |
| Path-2 (Alt) | 40 | 25 | 150 | Yes |
| Path-3 (Alt) | 40 | 35 | 200 | No |
Router(config)# router eigrp 100
Router(config-router)# variance 3
Note:
So, in this example: