Kahibaro
Discord Login Register

10.5 EIGRP

Introduction

Enhanced Interior Gateway Routing Protocol, or EIGRP, is a Cisco proprietary routing protocol that combines ideas from both distance vector and link state protocols. It is often called an advanced distance vector or a hybrid protocol. In practice, EIGRP offers very fast convergence, efficient use of bandwidth, and flexible metric calculation, while still being simpler to operate than some link state protocols.

In this chapter you will see what makes EIGRP different from other routing protocols, how it forms neighbor relationships, how it calculates the best path, and what an EIGRP topology looks like in a simple network.

Key Characteristics of EIGRP

EIGRP was designed to overcome some limitations of traditional distance vector protocols while avoiding the complexity of full link state databases. It has several important characteristics that shape how it behaves in a network.

EIGRP is a Cisco protocol, although Cisco later released basic specifications to the public. In many real world networks it is still primarily used on Cisco devices. It supports multiple network layer protocols, not only IPv4 and IPv6, which comes from its historical use with older protocols such as IPX.

EIGRP keeps several tables. It has a neighbor table for directly adjacent routers, a topology table with all learned routes and their possible paths, and a routing table with only the best routes that are actually used to forward traffic. This is different from a pure distance vector protocol, which only tracks the best distance without a structured topology view.

EIGRP sends updates only when something changes, and it sends these updates only to affected neighbors, not as constant full table broadcasts. This behavior makes it a protocol with low bandwidth usage during stable operation.

EIGRP as an Advanced Distance Vector

EIGRP is often described as an advanced distance vector protocol because it still advertises routes as vectors of distance and direction, but internally it uses more sophisticated algorithms.

Traditional distance vector protocols send the entire routing table at fixed intervals and have limited visibility of the network state. EIGRP avoids periodic full-table updates and uses partial, triggered updates instead. It also maintains multiple possible routes for each destination in its topology table, which gives it more options during convergence.

Unlike a link state protocol, EIGRP does not flood full link state information to every router. Instead, each router only exchanges routing information with its neighbors. The result is behavior that sits between classical distance vector and pure link state.

Neighbor Relationships and Hello Packets

EIGRP routers must first discover and maintain neighbor relationships before they can exchange routing information. For this purpose, they send small Hello packets at regular intervals out of interfaces where EIGRP is enabled.

When a router receives an EIGRP Hello from another router on the same link, and certain conditions match, it adds that device to its neighbor table. These conditions include matching autonomous system numbers for IPv4 EIGRP, and compatible parameters such as K-values, which are part of metric calculation. If these settings do not match, the routers will not become neighbors.

Hello packets use a special multicast address. For IPv4, EIGRP uses 224.0.0.10, which allows a router to reach all EIGRP speaking neighbors on a segment without knowing their individual addresses. Regular exchange of Hello packets keeps the neighbor relationship alive. If a router stops receiving Hellos from a neighbor within a certain hold time, it considers that neighbor down and removes it from the neighbor table.

The neighbor table is a key data structure for EIGRP. It records each neighbor’s address, the interface through which it is reachable, and additional information such as round trip time estimates, which EIGRP can use in its metric calculations.

EIGRP Tables and Their Roles

EIGRP maintains three main internal structures, which together support its operation in a network.

The neighbor table contains one entry for each adjacent router with which an EIGRP relationship has been formed. It is concerned only with directly connected peers.

The topology table holds all EIGRP learned routes and all known paths to each destination within the EIGRP autonomous system. For each destination network the topology table records all candidate paths, including their metric information and whether they are loop free. Only loop free paths are eligible to become the best path.

The routing table is the final selection of routes that the router actually uses. For EIGRP, the best path selected for each destination, after applying EIGRP logic, is installed in the routing table as an EIGRP route.

Understanding that EIGRP separates discovered paths in the topology table from the final routing table is important. It allows EIGRP to have backup paths ready for fast failover, without flooding the network or recalculating everything each time a minor change occurs.

EIGRP Metric Components

EIGRP does not simply count hops. It uses a composite metric which can consider several different path characteristics. In practice, EIGRP primarily uses bandwidth and delay, but it can also include reliability and load if desired.

For each link, EIGRP looks at the minimum bandwidth along the path and the total delay across all links in the path. Bandwidth represents the capacity of the slowest segment, while delay represents the sum of latencies for each segment.

Reliability is a measure of how often a link experiences faults or packet loss, and load is a measure of current usage. These two values are dynamic and can change frequently, which is why they are often not used in metric calculation in basic EIGRP deployments.

The EIGRP metric is computed from these components using a formula that involves scale factors called K-values. These K-values determine how much weight each component receives in the final metric.

By default, EIGRP uses only bandwidth and delay in its metric calculation. Reliability and load are disabled as metric components unless explicitly configured.

EIGRP Metric Formula and K-Values

The EIGRP metric formula uses K-values to combine bandwidth, delay, reliability, and load. For basic operation, understanding how bandwidth and delay contribute is enough.

Under default settings, the composite metric is calculated from the minimum bandwidth and cumulative delay. The common representation, using default K-values, is:

$$
\text{metric} = 256 \times \left( \frac{10^7}{\text{min\_bandwidth}} + \frac{\text{sum\_of\_delays}}{10} \right)
$$

Here, $\text{min\_bandwidth}$ is in kilobits per second, and delay values are in tens of microseconds. The factor 256 is a scaling factor used internally by EIGRP.

The K-values themselves are parameters $K_1$ through $K_5$ which control which parts of the formula are active. By default, EIGRP uses:

K-valueMeaningDefault
$K_1$Bandwidth1
$K_2$Load0
$K_3$Delay1
$K_4$Reliability0
$K_5$Reliability0

With these defaults, only bandwidth and delay contribute to the metric. Load and reliability are ignored because their K-values are zero.

All routers in the same EIGRP domain must use identical K-values. If K-values differ, routers cannot form EIGRP neighbor relationships, and routing will not work between them.

Feasible Distance, Reported Distance, and Loop Prevention

EIGRP uses specific metric terms to describe the cost of a route from different perspectives. These terms are important for understanding how EIGRP prevents routing loops and provides fast convergence.

For a given destination, the feasible distance (FD) is the lowest known metric from the local router to that destination. It is the metric value that appears in the routing table for the selected path.

The reported distance (RD) also called advertised distance is the metric to the destination as reported by a neighbor. It is the cost from that neighbor to the destination, not including the cost from the local router to the neighbor itself. When the local router adds its own cost to reach that neighbor, it obtains a candidate metric for that path.

EIGRP uses a special rule, called the feasibility condition, to decide whether a neighbor’s path can be used as a backup without risking loops. The condition is:

A neighbor’s path to a destination is considered a feasible successor only if its reported distance is less than the local router’s feasible distance for that destination:
$$
RD < FD
$$
This is called the EIGRP feasibility condition and it prevents routing loops.

A feasible successor is a backup path stored in the topology table that already meets the feasibility condition. Because it is known to be loop free, it can be promoted immediately to become the new best path if the primary path fails, with no additional complex recalculation.

Feasible Successors and Fast Convergence

The concept of feasible successors allows EIGRP to converge very quickly in many cases. For each destination, the router chooses one path as the successor, which is the primary path and is installed in the routing table. Other paths that satisfy the feasibility condition are stored as feasible successors.

When the successor route fails, for example when the link to the successor neighbor goes down, the router can immediately select one of the feasible successors as the new successor. Since the feasibility condition guarantees that this backup path does not create a loop, there is no need to query other routers in the network. The router simply updates its routing table and begins forwarding traffic over the new path.

This precomputation of loop free backup paths is one of the main reasons EIGRP can recover from some failures much faster than basic distance vector protocols.

If there is no feasible successor, then EIGRP cannot immediately pick a backup path. In that situation, EIGRP uses another mechanism, the Diffusing Update Algorithm, to safely discover a new loop free path.

Diffusing Update Algorithm (DUAL)

The Diffusing Update Algorithm, or DUAL, is the heart of EIGRP. It is the process that ensures loop free paths and controls how routers react when the network changes and no feasible successor is available.

When a router loses its current successor for a destination and has no feasible successor, it marks the route as active in its topology table. An active route is one that is currently undergoing recomputation.

The router then sends queries to its EIGRP neighbors asking whether they have a path to that destination. Each neighbor that receives the query checks its own topology table. If it has a valid route, it replies with an answer. If it does not, and it has its own EIGRP neighbors, it may in turn send its own queries further, spreading the search outward.

EIGRP tracks which neighbors it has queried and waits for replies. During this time the route remains active. When all replies are received, DUAL uses the information to choose a new successor, and possibly new feasible successors, for the destination. At that point, the route becomes passive again, which is EIGRP’s term for a route that is stable and not currently being recalculated.

An EIGRP route should normally remain in the passive state. A route that stays active for an extended time indicates a problem with convergence, such as missing replies or network instability.

DUAL’s structured query and reply behavior, combined with the feasibility condition, means EIGRP can recompute routes while avoiding loops, even in complex topologies.

EIGRP Packet Types

EIGRP uses several packet types, each serving a specific purpose in neighbor discovery, reliability, and route exchange. Unlike some protocols that rely on separate transport layers, EIGRP implements its own reliability and sequencing within its packets.

The main EIGRP packet types are:

Hello packets, which discover and maintain neighbor relationships. They are sent periodically, but they do not require acknowledgments.

Update packets, which carry route information when changes occur. They can be sent to a single neighbor or to a multicast address, and they are sent reliably. EIGRP uses its own acknowledgment mechanism for these packets.

Query packets, which are used by DUAL when a router must ask neighbors about possible paths to a destination that has lost its successor and has no feasible successor.

Reply packets, which are answers to queries. They provide information about available paths or the fact that no path exists.

Acknowledgment packets, which confirm reliable receipt of certain EIGRP packet types, typically updates, queries, and replies. These acknowledgments are very small and ensure that neighbors know their messages have arrived.

Because EIGRP uses its own reliable transport, it does not depend on TCP for delivery. It can deliver critical routing information in a controlled and efficient way that is tailored to the needs of the routing protocol.

Basic EIGRP Operation in a Simple Network

To see how EIGRP behaves, consider a simple network of three routers in a line. Router A is connected to Router B, and Router B is connected to Router C. Each router has one local network behind it.

After EIGRP is enabled with compatible settings on all three routers, each router sends Hello packets on its active interfaces. Router A and B become neighbors, and B and C become neighbors. They each build a neighbor table reflecting these adjacencies.

Next, the routers exchange updates. Router A advertises its local network to B, and B adds this information to its topology table and computes a metric. Similarly, C advertises its local network to B. Router B now has routes to both A’s and C’s networks and installs the best ones in its routing table. B also advertises routes it knows to A and C, which then learn about networks beyond their directly connected neighbors.

As the network stabilizes, routes for each destination become passive in the topology table, indicating that they are stable and not under recomputation. If, later, the link between B and C fails, B stops receiving Hellos from C and removes C from its neighbor table. Any routes that depended on C as a successor are updated accordingly. If a feasible successor exists via some alternate path, it is installed immediately. If not, DUAL starts queries to find a new valid path.

Through these steps, EIGRP provides a balance between speed, control, and safety when learning and updating routes inside an organization’s network.

Views: 42

Comments

Please login to add a comment.

Don't have an account? Register now!