# EIGRP

#### EIGRP - Enhanced Interior Gateway Routing Protocol. EIGRP is an advanced distance-vector routing protocol created by Cisco. This Routing protocol is classified as an IGP (Interior Gateway Protocol). Up until 2016, EIGRP was a Cisco proprietary routing protocol

#### EIGRP uses the algorithm "DUAL," a Diffusing Update Algorithm as referenced in "Loop-Free Routing Using Diffusing Computations" (Garcia-Luna-Aceves 1993). -RFC 7868

#### EIGRP is a dynamic routing protocol that creates a loop-free path to destination networks based on the best "metric"

<figure><img src="/files/5ErWYLRtFHOgwdz5OsbH" alt=""><figcaption><p>EIGRP Example Diagram</p></figcaption></figure>

## EIGRP Neighborship Overview

#### EIGRP Enabled routers will initially send EIGRP **"hello"** packets out of their active EIGRP interfaces to form a **"neighborship"** with any EIGRP-enabled router with the same parameters

#### EIGRP Packets will use something called an **"opcode"** to specify which type of EIGRP packets. See the image below.

<figure><img src="/files/xr4SRgunpMtN3RssonPN" alt=""><figcaption><p>EIGRP Hello Packet</p></figcaption></figure>

#### To form **"neighborship,"** EIGRP routers will need to have the same values for the following:

```
- Autonomous System Number
- K Values
- Authentication (if configured)
```

#### Once the neighborship has formed, EIGRP will send Hello packets at intervals of 10 seconds (by default). This is called a **"hello-timer"** EIGRP will also have a **"hold-timer,"** which is at default 40 seconds. Once the **"hold-timer"** has reached 40 seconds, the EIGRP connection will terminate with a **"goodbye"** message.

#### EIGRP will maintain a neighbor table, and from that **"neighbor table,"** we will build a topology table

<figure><img src="/files/lvOBsFTU8YAyrQv15H4a" alt=""><figcaption><p>EIGRP Neighborship Process</p></figcaption></figure>

## EIGRP Topology Table

#### EIGRP will build a topology table from its EIGRP neighbors using the information from it's neighbor's "update" packets.

<figure><img src="/files/nFTZsFfUgzKYylelqAqW" alt=""><figcaption><p>EIGRP Topology Table Forming</p></figcaption></figure>

#### Once an EIGRP-enabled router has received all updates from its neighbors, EIGRP will execute DUAL (diffusion update algorithm), decide which routes to its neighbor's routes are **"best,"** and place those routes into the **"global"** routing table.

#### EIGRP's DUAL algorithm uses two main values to calculate the best path to a destination network. Bandwidth and Delay. These values are called "K" values. There is actually a total of 5 K Values used in DUAL. But for brevity, we usually refer to just bandwidth and delay as the two main metrics that get used to determine the best path.

<figure><img src="/files/y9k3Fu8HkbdBVGRNNgFA" alt=""><figcaption><p>EIGRP DUAL Algorithm</p></figcaption></figure>

#### The Global routing is built based on the best routes from the EIGRP topology table. The best routes are called **"successor"** routes. But what about all the other possible routes that do not have the preferred metric? Those are called **feasible successor"** routes. Feasible successor routes are loop-free alternative routes to the destination.

<figure><img src="/files/03tjNEd0WHA4fZeBOcsP" alt=""><figcaption><p>show ip eigrp topology command outputfeas</p></figcaption></figure>

#### EIGRP allows for redundant loop-free paths to destination networks by following what we call the "feasibility condition." The feasibility condition will take the **"reported distance"** of all routes and ensure that the value for the **"RD"** is not more than the total **"feasible"** distance.

#### If a route's **"RD"** is higher than the **"FD"** then the route is not considered a **"feasible successor."**

<figure><img src="/files/AHp5C3UyEJCzCSsNPads" alt=""><figcaption><p>Feasability Condition Diagram Example</p></figcaption></figure>

## EIGRP Global Routing Table

#### The EIGRP global routing table is built from the successor routes in the topology table. The best metric wins and gets placed into the routing table.

#### EIGRP allows for unequal load-balancing to destination routes. So it is possible to use the feasible successor to route traffic in the global routing table.

<figure><img src="/files/VIrlkphhxK9D4nXlVBte" alt=""><figcaption><p>show ip route eigrp command output. All EIGRP learned routes in a routing table.</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://trepa-technologies.gitbook.io/networking-technologies-by-johnny-bandin/eigrp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
