Short EIGRP overview
EIGRP is the Cisco protocol that everybody loves, probably because is easier to explain than OSPF, but many people start to sweat when we discuss about the EIGRP logic.
EIGRP is a distance vector, which means that I only see my directly connected neighbors. I don’t know what’s beyond the horizon, but I hear gossip from my neighbors.
Distance vectors are also called “routing by rumor” aka gossip. What others tell you about their other neighbors have to be trusted/used for our own calculation and path selection.
You’ve heard about how EIGRP is an “advanced” distance vector, that’s because we consider other metrics apart from the classic hop counts of other distance vectors (RIP) like total delay of the path or the minimum bandwidth of the path (those are the famous 5 different K values).
By default, EIGRP only considers total delay of the path and the minimum bandwidth of the path for calculation the metric for a route.
It uses multicast 188.8.131.52 to talk with its neighbors and it is protocol number 88. (which you can find inside the IP header).
Its convergence mechanism is an algorithm called DUAL that uses a series of queries, replies and updates messages to converge. Once we are converged with our neighbors it means that we updated each other our routes and that we are in a passive state. No queries should be pending to be replied in a passive state, this is the final state if everything goes well.
I’ll use a very simple topology for the next section:
EIGRP acronyms that you need for a happy life
I know, I know…Nobody likes acronyms But these can get you a job, potentially. Let’s take a look.
First a picture of my virtual router:
This is a show ip eigrp topology view from R-7, which hopefully will be in your top 10 EIGRP commands of all time.
We are going to focus on the route 184.108.40.206/24 which is coming (originated) from the other end of the diagram, the router R-8. See the topology picture above.
From here in we focus on the red rectangle, P means passive which is what you want to see. Passive is converged, instead if you see an A, Active means we are waiting Queries to be replied by some neighbor.
Successor: A neighbor that is guaranteed to be loop free and to whom we are sending traffic. (equal paths cost). You can see the cost, before the / is the same for the 3 neighbors.
In the previous picture we have 3 successors, every successor is active forwarding traffic, since we didn’t touch the metrics, we have 3 equal cost paths to the route 220.127.116.11/24.
FD: Feasible distance, this is an historic record of the lowest computed distance for this route.
- This means that the current computed distance can be different from the FD historic.
- FD is an internal variable, which is never advertised to another neighbor. This is local only.
CD: Computed distance, total distance from this router to a destination through a particular neighbor.
RD(also can be found in books as AD): Reported distance or Advertised distance, is the cost from the neighbor to the route. It’s just the neighbor own calculation to the route from it’s point of view.
Note: Even though RD and AD are synonyms, I will use only RD from now on as AD will be confused easily with Administrative distance, which is a value of route preference between protocols.
If we keep looking at the topology picture, in the red rectangle we have via 18.104.22.168 for example, and two values separated by a slash / symbol.
- Before the / is our CD computed distance or total distance from us to the route.
- After the / is the neighbor RD, reported distance from neighbor to the route.
So our CD, computed distance, (left side of the / ) always will be bigger than RD(reported distance, which value comes from our neighbor and is on the right side of the / ).
Our CD = Our cost to the neighbor + cost from the neighbor to the route(RD).
KEY CONCEPT: to understand is the feasibility condition, which is the way the DUAL algorithm ensures we don’t have any loops to a route.
Feasibility condition: My neighbor cost path to the route (called Reported Distance) cannot be bigger or equal than the Feasible Distance. Has to be lower, not even equal.
A feasible successor then is a router than comply with the feasibility condition, in other words is a pre-computed loop-free path.
Note: Feasible successors are kept in the EIGRP topology table, they are not installed in the RIB until they become a successor. So you won’t see here in the RIB(show ip route) the feasible successors.
QUIZ time: Looking from R7, which path will comply with the feasibility condition?
Remember that CD = My cost to the route + RD from the neighbor to the route
Looking from R7, which path will comply with the feasibility condition?
First to determine the FD we take the lowest CD cost for all the 3 paths which will be 10 and the record will be written locally in the FD historic record. Now we compare all the other RD with the FD of 10.
- R1 is a successor with CD 10, meaning we are actively sending traffic to R1(because is the lowest cost, it’s the winner)
- R2 will become a feasible successor, as its reported distance 5 is lower than the FD which we stablished as 10. Right now, we won’t send any traffic to R2, it is waiting for R1 to fail to step in a become a successor.
- R3 is not a successor nor a feasible successor, as his RD is 50 which is much bigger than FD which is 10.
By the way the command show ip eigrp topology only will show you the successors and feasible successor, not including other links that don’t comply with feasibility condition. You can use show ip eigrp topology all-links for that, that will show you all the links present in EIGRP topology table.
I omitted the other routes to focus on this one, we can see 1 successor which is the one in orange with the lowest CD (before the /), the other two neighbors RD is equal to the FD so they won’t be considered feasible successors as they don’t comply with the rule RD < FD, can’t be equal.
Here we can see the green underlined neighbors appears because I used the all-links option in the command.
This was a very short overview for some key elements that everybody should understand for EIGRP, doesn’t matter if you are just starting with networking or if you are CCNA, CCNP or CCIE.
In later posts we will talk more about EIGRP, unequal balance and feasibility condition in more detail.
Did you find it useful?
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?