Enhanced Interior Gateway Routing Protocol (EIGRP) uses a sophisticated metric calculation system that distinguishes it from other routing protocols. Let's explore how EIGRP determines the best path to a destination network.
EIGRP Metric Components
Unlike simpler routing protocols, EIGRP considers multiple network attributes for metric calculation:
Delay: Cumulative interface delay along the path (measured in tens of microseconds)
Bandwidth: Minimum bandwidth along the path (measured in kilobits per second)
Load: Interface utilization (ranges from 1-255, where 255 is 100% utilization)
Reliability: a percentage (ranges from 1-255, where 255 is 100% reliable)
MTU: Maximum Transmission Unit (not used in metric calculation but included in EIGRP update packet)
Hop Count: Number of routers traversed (used as a tiebreaker, not in primary calculation)
Reserved
The Metric Formula
EIGRP uses a weighted formula with configurable K-values that determine which components factor into the final metric calculation. The formula is:
Metric = [(K1 × BWmin + (K2 × BWmin)/(256 - load) + K3 × delay) × (K5/(K4 + reliability × 256))] × 256
Where BWmin is calculated as:
BWmin = 10⁷/Least-bandwidth
Default K-Value Settings
By default, EIGRP uses these K-values (In most vendor implementations):
K1 = 1 (Bandwidth is used)
K2 = 0 (Load is not used)
K3 = 1 (Delay is used)
K4 = 0 (Reliability is not used in divisor)
K5 = 0 (Reliability multiplier is not used)
With these default settings, the formula simplifies to:
Metric = (K1 × BWmin + K3 × delay) × 256 = (BWmin + delay) × 256
Why Load and Reliability Are Disabled by Default
Load and reliability are dynamic values that fluctuate based on network conditions. Using these dynamic components would cause:
Frequent metric recalculations
Constant topology changes
Increased EIGRP update traffic
Higher CPU utilization on routers (doing recalculation on each new values)
Static values like bandwidth and delay provide routing stability while still reflecting network performance characteristics.
Modifying K-Values
K-values can be modified using the following commands:
in Cisoc Legacy IOS / IOS XE:
R1(config-router)# metric weights <TOS> <K1> <K2> <K3> <K4> <K5>
Or in EIGRP named mode:
R1(config-router-af)# metric weights <TOS> <K1> <K2> <K3> <K4> <K5>
Where TOS (Type of Service) is typically set to 0
Important: K-values must match between neighbors, or they will not form an adjacency.
Route Selection Process and DUAL Algorithm
EIGRP uses the Diffusing Update Algorithm (DUAL) to evaluate routes and determine the best path. This involves several key concepts:
Reported Distance (RD) and Feasible Distance (FD)
When a router advertises a route through EIGRP:
The advertising router (e.g., R1) includes the metric components (delay, bandwidth, etc.) in the update packet
The receiving router (e.g., R2) calculates the Reported Distance (RD) using these components
R2 then adds its own interface metrics to calculate the Feasible Distance (FD)
FD = Total path metric from R2 to the destination
RD = Path metric from R1 to the destination
Best loop free routes are moved to the routing table where FD (Feasible Distance) act as the metric.
Take a moment to realize that R1 is not advertising the actual RD Value, instead it advertises the components needed by R2 to calculate the RD (BW & Delay)
EIGRP Topology Table
EIGRP's topology table contains all known routes and classifies them as:
Passive routes: Stable routes with no pending updates
Active routes: Routes currently involved in route recalculation (during the Query process)
Connected routes: Local interfaces participating in EIGRP
Valid routes: Routes that passed loop prevention checks and are in the routing table
Invalid routes: Routes that failed the Feasibility Condition check (kept for reference)
Backup routes: Alternative valid paths (Feasible Successors)
Successor and Feasible Successor Routes
Successor: The best loop-free path to a destination, installed in the routing table with FD act as its metric
Feasible Successor: Alternative loop-free paths kept as backups in the topology table, to be used immediately when current route fail.
The Feasibility Condition
The Feasibility Condition is EIGRP's loop prevention mechanism:
For a route to be considered loop-free, its Reported Distance (RD) must be less than the current Feasible Distance (FD) to the same destination
This ensures that the neighbor is closer to the destination than the current router
Routes failing this condition remain in the topology table but aren't used as feasible successors
While effective at preventing loops, this conservative approach can sometimes exclude valid routes, particularly when slow links create high reported distances.