Hi and welcome to this CertificationKits CCNA training video on EIGRP concepts.  What we are going to be discussing in this video is the three tables that EIGRP is; the neighbor table, the topology table, routing table and how those work together.  How EIGRP goes about finding neighbors to exchange routing information with loop avoidance, with a successor and feasible successor route stored in the topology table, as well as dual diffusing update algorithm that EIGRP uses.  

Now EIGRP is a hybrid protocol, meaning it has some characteristic of both link state and distance vector routing protocols.  The big drawback to EIGRP is it is a proprietary protocol; Cisco only.  So if you have an all Cisco environment, it’s going to work great, easy to configure, less overhead than OSPF, more scalability than RIP.  However if you are in a multi vendor environment you are not going to able to use it.  The first thing I want to talk is how EIGRP goes about populating its routing table. It keeps three tables; a topology table, a routing table and a neighbor table.  Now the first table it’s going to want to populate is the neighbor table this is number one that’s got to come first.  Now, what EIGRP does is it send this hello package out every five seconds on the LAN interface in a point a point lanlink.  So this should be five seconds going here point to point lanlink as well as every five seconds going out it's LAN interface.  Now there aren’t any other routers coming out of these Ethernet0 interface.  So if we wanted to we could prevent EIGRP from sending information out of the Ethernet0 interface using the command passive interface.  And what it does is it prevents EIGRP from establishing neighbor relationships on Ethernet0.  But it would still listen for information, but it's not going to establish any neighbor relationships so it won't exchange any information anything like that. We would like that because there aren’t any routers on this side of router A. We’ll call this router A, call this router B and we’ll call this router C.
 
Now, what will happen is if this was on a multi-point LAN link, like a frame-relay link. It would send hellos out every 60 seconds.  So it would slow them down a little bit in a frame-relay environment that was a multi-point LAN link.  So here is a router connected through a frame-relay environment, multi-point mean one router connects into multiple other routers. In that environment it would send out every 60 seconds.  So, what happens is the hello allow the EIGRP to established relationship and what they’re looking for basically is IP connectivity .1.2 IP address here so 99.32.0.1, 99.32.0.2 the same subnet mask, that’s got to match. And then the big thing is the autonomous system number will say the autonomous system number is 100. 

As said in an earlier CCNA video, the autonomous system number is simply an administrative control of routers so if we had a bunch of routers on the public domain we would have what’s called our own autonomous system. We would actually get an assigned autonomous system number.  In a private environment EIGRP still need to know what routers it wants to share information with.  So if I were to give this router – router A an autonomous system number of 100 and router B an autonomous system number of 110, anything other than 100, they would not exchange information.  So it allows me to kind of control what routers my EIGRP router is going to share information with.  So in here if I want them all to talk everybody has to have an autonomous system number of 100.  They will establish them as a neighbor so our neighbor table to get populated in the neighbor table and then they will do a full topology change for like down here full topology change. Then update messages to a multi-cast address so the first thing they do is they do a full topology change.  And they’ll look for the best cost path and then what’s called the feasible successor, which would be the second best cost path and we’ll talk about that in a moment.  But the key thing is to establish your neighbor, relationship, they do a full topology table change, that’s a second step right there.  Then based on that topology information they put the best cost path in their routing table, that’s the third step.  But the big difference between OSPF and EIGRP is this topology table, it only keeps minimal information than topology table as oppose to everything.

 
Let’s take a look at what information actually gets put into the topology table.  Brought up this amazing CCNA slide here that allow us to go in and take a look at how information gets put into the topology table.  So, the first thing that’s going to happen is we’re going to configure EIGRP on all the routers at the same autonomous system number and make sure all the IP addresses are functioning.  And what will happen is the neighborly relationships will start being established with all that hello traffic that goes back and forth so we got all the hellos going out every five seconds, everybody chatting with each other. Saying yeah I like to be your neighbor and they’re going to start showing information.  What I want to look at is what will enter in to the topology table for Palaestra1 over here for this particular subnet 20.10.0.0.  
 
CCNA slide 16 matches so, this subnets all the way over here.  And how is that information going to get entered into Palaestra1 topology table, when there are two different paths Palaestra1 can take.  He could take serial0, or serial1.  Now, just because both pass are there does not mean they’ll both get entered into topology table.  What happens is Palaestra5 once you established those neighbor relationship send the information off about 20.10.0.0 to Palaestra3, and Palaestra4.  They pass that information along with their topology tables getting populated and they’ll fall at same pattern that Palaestra1 did, but I just want to focus on Palaestra1 here. I’m not worried about the details as far as two, three and four go.
 
So eventually through serial0 a path gets to Palaestra1 to subnet 20.10.0.0 and it has a cost of 10 plus five plus ten.  So its cost is 25, now that’s through serial0.  Through serial1, it gets there and it has a path that 20.10. 0 .0 and its cost is 20.  So it has to determine whether or not it's safe to put both paths in the topology table, remember this is just a next stop on the way to the routing table.  Only the best cost path will get into the routing table, so with this he looks at the information and he says okay I have a got a pass to serial1 with the cost of 20 to get to subnet 20.10.0.0 that’s my best cost path that is definitely going to go in to my topology table and that will be called my successor rout.  That successor route is the best cost path successor equals best.  
 
Now the big question is – is whether or not this path would be able to be entered into the topology table as a feasible successor.  So this feasible successor equals backup, now EIGRP wants to avoid loops but it doesn’t want to keep all the information that OSPF keeps in its topology table.  So to avoid loops, or to guarantee EIGRP there are no loops, there’s what’s called a feasibility condition that a backup path has to meet before the router will put this information into its topology table.  And what that feasibility condition is a question of whether or not the next top router for this path remember we are evaluating the serial0 path right now.  He has to look at his best cost path to get there is 20.  He looks at Palaestra2 and sees what Palaestra2’s cost to get to the same subnet with B in Palaestra2’s cost is a cost of 15.
 
Since Palaestra2 has a cost of 15, and that’s lower than Palaestra1’s best cost path.  Palaestra1 is guaranteed that when he send something to Palaestra2 to go to subnet 20.10.0.0 that Palaestra2 is not going to send it back to him in hopes that it will go around that direction.  So since that cost path is lower he’ll go ahead and put that into the topology table as a feasible successor route because this path has met the feasibility condition its safe.  Let’s look at the numbers if it doesn’t meet the feasibility condition. 
 
I've cleaned up the CCNA slide here. Now we’re going to take a look at what's going to happen if we use different numbers for the paths.  I cleaned up the CCNA slide too much it’s supposes to say Palaestra4, right here.  So our subnet over here is still 20.10.0.0 let’s see what happens as this information gets shared with different cost now, instead of 10 this is now 15 instead of 5 that is now 10.  So Palaestra5 will send this information down as it goes along the line all the numbers get added up.  So when it hits Palaestra1, it’s going to see two paths, a serial0 path to subnet 20.10.0.0 and it’s going to have a cost of 35.  And there's also going to be a serial1 path to the same subnet with the cost of 20.
 
So right off the back, when he’s getting this information he’s going to see his best cost path and go okay, you are my best path I like you. You are going to go into my topology table and you will be my successor.  So that’s the best path to the destination.  The second one is got to evaluate this cost of 35. He’s looking at it and he doesn’t know so what he’s going to do is, he’s going to check Palaestra2’s cost to get there.  And Palaestra2’s cost is 25.  So what Palaestra1’s thinking, he can't really see the big picture here he’s just thinking hey if Palaestra2 has a cost of 25 to get to network 20.10.0.0 my best cost path is 20 how do I know that Palaestra2 is the only way to get there is not going back through me.  What he’s thinking is that all of these over here may not exist, and that this path has a cost of five, so what he’s looking at is okay Palaestra2, I'm getting information back here and how do I know that if I send something to him.  I am not his path back to the destination and he can't know for sure with the information that EIGRP looks at.  So what he does is even though all of that does exist over there and I have cleaned up the slide again so you can see it.  So this does exist I mean there is another path but Palaestra1 can't be guaranteed that there's another path because this cost is 25.  So he doesn’t know for sure that Palaestra2, when he sends it there, isn’t just going to send it right back around this way.  So since he can't be guaranteed to that, not going to put that information into the topology table as a feasible successor so they’ll not be a feasible successor to that destination.
 
If this path were to go down I want to say this path goes down and his favorite path is no longer available to him anymore then he might, saying a different tune he’s going to start using his dual defusing update algorithm.  And what he is doing is he’s querying his other options now and he’s going to start asking around to find out if there is another path.  And when asking around he will find out that there is another path and he can still get there and he will put that in his topology table now as 20.10 with the cost of 35 and this will be his new successor, but it will not be used immediately.  The problem with the feasible successor if it were in there, what would happen is if the successor path went down like it did. He would immediately use the other path without checking first what DUAL does or without having it in there as a feasible successor. This causes him to check and make sure that there is a good path to the destination, then he’ll use it.  So, just gives them an extra step in there to guarantee it's not creating a routing loop.
 
We’re going to go in and take a look at a show command. The show EIGRP topology command and view this information as the router would show it to you.  Here we have the show IP EIGRP topology command in action.  It shows the codes, P passive that is good, everything is up and running, and this is what we’re looking at. This is the destination subnet, again this is the topology table, not the routing table only the successor route would enter in the routing table.  So 172.162.2.0 is the destination subnet. To this destination subnet there is one successor route, meaning one best cost path to the destination.  The feasibility distance is 2692856. This is an important number.  This is the best cost path or the best cost to the destination.  And it says VO1721620.2 and notice this number right here matches the feasibility distance.  So it’s saying okay this number is the best cost path or this best cost period to this destination subnet 172.16.2.0. Or 22.0 through next top router 20.2.  What this is, is this is the next hop routers cost, so it throws the next hop routers cost in there.  
There is an additional route, this is the feasible successor. It's entered into the topology table because it needs that feasibility condition, next hop router 172.16.21.2, the destination subnet 22.0 it would cost 46738176 to get to the 22.0 subnet through this next hop router.  Then the reason it’s entered into the routing table is because the next hop router has a cost of 2169856 which is lower than the successor cost of 2692856.  So, since this next hop router has a lower cost than the best cost path that this router has to the destination it's allowed to get entered in to the topology table as a feasible successor. Because this router knows that this router right here 21.2 will not try to send the packet back through the Palaestra1 router to get to the destination so he knows there is no routing loop.  If this number right here was a 2769 this information would not get entered into the topology table. It would be ignored because the nest hop router has a higher cost than this router has to get to the destination.
 
So, again what that’s telling him is, hey here’s the next hop router B, it's possible that when A sends it to B then he might have to send it back through and that creates a routing loop when this number is higher than the best cost that A has.  But, again since B’s cost is lower, A knows if he sends it to B there’s no way he is going to send it back. He will send it on to the destination, and we can look at it and more examples here 30.0.1 successor, feasibility distance 2187456.  And so it shows here okay this is the cost to the destination and the next top router has a 26282600.  Pay attention to this number, when you see this number right here that I am outlining over and over, what that’s telling you is that this next top router is directly connected to the subnet. So here is the router A, router B directly connected to the subnet where that machines on or whatever.  So, if A sends it to B, B doesn’t have to send it to anybody else, he can send it right to the machine, very important 281600 means the next top router is directly connected.
 
The last one on the bottom here again same thing one successor to 90.0 through both different routers 20.2 and 21.2 this is the best cost path so this is the successor, one successor.  This is the feasible successor right here because his cost is higher than the best cost path but the next top router has a lower cost than this cost.  You can actually see here the next top routers actually directly connected to the subnet.  There’s just a really slow link to the next top router.  So, this scenario right here would play out something like this.  You got router A, router B and the destination subnet right there and the other way there’s probably a couple of routers, router C and router D.  So, A is actually choosing this path because this link is crawling slow maybe it’s a 56k link or something like that.  It’s crawling slow, so it takes a lot longer to get there than it is to go over these faster multiple links to get to the destination subnet right here.  So, that’s looking at this table very important understand this information.  And again, if you see that 281600 you know that the next top router is directly connected and there’s no routing loop possible then.
 
There’s one other thing I want to talk about that’s why I clean up the CCNA slide and give myself a little working room, dual diffusing update algorithm.  Let’s take an example of the 30.0 subnet.  So, we’ve got Palaestra1 right here, and another router Palaestra2, which is directly connected to this destination subnet of 172.16.30.0.  So, it’s got a path there and it has a cost of 2187456, so that’s just cost to get there.  Now, maybe there is another way to get there but he’s been ignoring that information maybe through router Palaestra3, Palaestra4 he’s got another path to get there out of the serial1 interface, this is serial0.  So serial1, he might have been getting information all along when the updates take place or during the initial update.  And this cost might be something that is 2936759 I don’t know I'm just throwing some numbers up there, so it’s a big number.  And the next hop router which is Palaestra3 has a cost to get to this destinations subnet of 2876321 so, that is a number eight right there.  So, what’s happening is Palaestra3 has a higher cost to get to the destination than Palaestra1 does.  So, what happens is Palaestra1 ignored this path.  He saw that path might be a loop since I have a lower cost than Palaestra3, I can’t be guaranteed that if I send him something he’s not going to send it back around to me.  So he doesn’t put it in the topology table, he has just one successor route and no feasible successor, this path does not meet the feasibility condition.
 
So, what happens when this goes down DUAL kicks in and takes over and start querying the routers to make sure they’re still in open path to the destination.  So, it basically explores this option that he’d previously been ignoring.  He finds out that it’s a good path and he puts that in as a successor route.  So, DUAL allows the router to query for additional paths when the successor goes down and there’s no feasible successor.  Now, we’ve talked about the CCNA EIGRP concepts, the three tables the neighbor table, again that’s where all his friends going, that he’s going to exchange topology information with the topology table which keeps only successor and feasible successor routes.  This feasible successor routes have to meet the feasibility condition and again that’s the guaranty no loops, loops are bad.  No loops, the routing table which the successor route gets entered into how the routers go about finding their neighbors loop avoidance with the successor and feasible successor route and dual what’s kick in the gear if the successor route goes down and there’s not a feasible successor route to take.  So, I hope you have enjoyed this CertificationKits CCNA training video on EIGRP concepts.