Verifying EIGRP neighbors
We have clued you in to the importance of these three tables for EIGRP. The neighbor table, the topology table, and the routing table, which is common to all routing sources. So when I do this command, show ip eigrp neighbors, and as you all do in laboratories and in practical environments running EIGRP, surely one thing to look at here, how many rows? That is what you want to be looking at, how many rows do you see? Well that is really how many routers you have formed in adjacency with. And that word "adjacency" is the same as a "neighborship", which is the same as a "peering". They are all the same thing, they are synonyms. Let's check the example from the previous lesson again.
Now there is a decode for each and every one of these columns. Does it matter? No.
Branch#show ip eigrp neighborsEIGRP-IPv4 Neighbors for AS(100)H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num0 192.168.1.2 Se0/0 13 00:23:53 18 200 0 3
HQ#show ip eigrp neighborsEIGRP-IPv4 Neighbors for AS(100)H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num0 192.168.1.1 Se0/0 12 00:26:52 26 200 0 6
H, that is a local index for keeping track of my neighbors, I don't care. I see Address, I am not usually going to look here. I see Interface, that would be my local interface that I used to get there. I see things like timers, we don't really care about those things so much. It is about the number of rows that we have and so, if I look at my topology, and I see that I am physically connected to five layer 3 devices that are running EIGRP and I do this command and I see that I have two neighborships and I expect five, then I would be able to see that because I have two rows instead of five. Well then, I need to be thinking to myself, are these neighbors up? Operational? Can I ping them? Do they share the same autonomous system number in their configuration? Do they have the proper network commands that enable the routing protocol and interfaces that connect up? So this is tremendously powerful for troubleshooting and here is the deal, if you are neighbored with that router, you are probably going to get all of its routes. It is hard in fact to remove routes when you have a neighborship. You can do routing protocol filtering, but usually, when you see it here, you can be quite confident that you are going to get everything that the neighbor is supposed to be telling you.
Verifying EIGRP interfaces
Just like with our neighbor table, when we look at which interfaces are enabled for EIGRP, I really only care about the number of rows here as well. If I am enabling EIGRP on a router and I expect five interfaces to be participating in EIGRP, then I should see five interfaces listed in this output. In our example we did, we only had two. Do we see both of them here?
Branch#show ip eigrp interfacesEIGRP-IPv4 Interfaces for AS(100)Xmit Queue Mean Pacing Time Multicast PendingInterface Peers Un/Reliable SRTT Un/Reliable Flow Timer RoutesGi0/0 0 0/0 0 0/1 0 0Se0/0 1 0/0 18 0/15 91 0
Yes. That is such a good indication of what? It is a good indication that I configured my network statement correctly. So my network statement of 192.168.1.0 and my network statement of 10.1.1, pardon me, the network statement of 10.0.0.0 successfully enabled EIGRP on these two interfaces. So those are my local interfaces participating in EIGRP, the number of peers I have of that particular interface. And they will go hand in hand with our neighbor table. I don't expect any peering of Gi0/0, but I do expect one out of S0/0, we can see that here there is one. I have to go back to the neighbor table to verify specifically who that is, and in all honesty, folks, the rest of these values we see here are not all that important. They are really just focused on the round trip time of communicating out this interface, pacing times, flow times, pending routes to send, do we really want routes pending to be sent out this interface? No. How do you expect to see zero there? So really, first two columns - the most important, but more important than that is to make sure that we see the number of interfaces that we expect to see participating in the EIGRP process.
Verifying EIGRP routes
We had three tables, right? We had the neighbor table, we had the topology table, we haven't seen that yet, and then, we have a routing table. This is where we expect to see our routes that we will currently use. That is what the routing table is, the routes that were currently used.
Branch#show ip routeCodes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static route, H - NHRP, l - LISP+ - replicated route, % - next hop overrideGateway of last resort is not set10.0.0.0/8 is variably subnetted, 2 subnets, 2 masksC 10.1.1.0/24 is directly connected, GigabitEthernet0/0L 10.1.1.1/32 is directly connected, GigabitEthernet0/0172.16.0.0/24 is subnetted, 1 subnetsD 172.16.1.0 [90/156160] via 192.168.1.2, 00:34:31, Serial0/0192.168.1.0/24 is variably subnetted, 2 subnets, 2 masksC 192.168.1.0/24 is directly connected, Serial0/0L 192.168.1.1/32 is directly connected, Serial0/0
So I do a show ip route command and I will see my connected routes, my local routes, which is just IP addresses on the chassis, but then, I am looking for EIGRP, I am looking for my EIGRP routes. Now RIP has a code of R, OSPF has a code of O. Boarder Gateway Protocol has a code of B. So we would think to ourselves, EIGRP, that is going to have a code of E, right? That is what a sane person would think, but we don't see the letter E. Where oh where are you? Letter E, I don't see it, I don't see it. So it looks like I don't have any EIGRP routes in my routing table or is there something else going on here?
EIGRP is represented by a completely different code and that code happens to be D, which stands for DUAL, diffusing update algorithm. E appears multiple times for different Dynamic Routing Protocols in our table and at one point, E represented EGP, a protocol known as Exterior Gateway Protocol. So it's already taken. So let us pick something else so that it's just close to EIGRP as we can get and that happens to be the code of D, which represents DUAL. Close enough in a game of horseshoes and hand grenades. The letter D in DUAL tells us it is EIGRP, so then, we see the EIGRP route. Now what is the most important thing for you folks, the take away from this page? It's the stuff in brackets. Look for the brackets. You need to look at that and go, I know exactly what those two values are. You are probably not sitting there comfortably right now with that confidence. We need you to be that way. So what is the first value and then, what is the second value? I want you to ponder this too, what is the 90? What is the 156160? What a 150,000 looks like?
We have seen 90 earlier in our discussion. That was administrative distance. The believability of this routing protocol versus other routing protocols as well as static routes and connected routes, so 90. So that is the first number. Now I need you to remember that. Believability, that is not the metric, that is not saying how far it is. All EIGRP routes would have a 90 if they show up in this table. So how do we figure out how far something is or how near it is? That is the second value. Give us the name of that second value. Now if you said metric, okay, I am not going to object to that. Metric is the generic term. What is the specific EIGRP metric name? That would be feasible distance.
And so that we see in a 150,000 and change, how do we calculate that? Weakest link bandwidth and accumulated delay. Then there is the other stuff. Okay, next hop IP address, what is the adjacent router's IP address? How long has it been in the table? We want that to be long and we want to know the exit interface on the local chassis we'll take. That is a full decode of pretty much any dynamic routing entry. The differences are the code, the administrative distance, and the metric. But this is a great thing about learning a Dynamic Routing Protocol because when you have a firm understanding of one, then all you have to pick up is the differences between EIGRP and OSPF and Border Gateway Protocol, and there are lots of great beautiful differences. But there is also lot of commonality as well.
Is there another name that we can associate with this information that we have in our routing table? Because we always have to remember, the best path goes in our routing table, but I want to point out to everybody and I want everybody to be thinking about this, what would this be classified as in EIGRP terminology? And so, we are getting to the root of the DUAL algorithm, what do we call that? What do you call the best route? What do we call the EIGRP best route? Successor, this is a successor route and if you look at the topology table, it would exist there. Now do we have a feasible successor? We don't know. This does not tell us the back story. This just tells us what is front center, what is currently in use for routing choices on the router, that is what the routing table is.
Verifying EIGRP topology
So here is our back story. We have to look at the topology table specifically to see the good, the bad, and even the ugly. We will be able to determine here who the successor is. If there is a feasible successor, we will see it here as well.
Branch#show ip eigrp topologyEIGRP-IPv4 Topology Table for AS(100)/ID(10.1.1.1)Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,r - reply Status, s - sia StatusP 192.168.1.0/24, 1 successors, FD is 2169856via Connected, Serial0/0P 172.16.1.0/24, 1 successors, FD is 2297856via 192.168.1.2 (2297856/128256), Serial0/0P 10.1.1.0/24, 1 successors, FD is 128256via Connected, GigabitEthernet0/0
This is all of the information that EIGRP has extrapolated about the autonomous system. This is all known routes for this local router. And so we look here and we see codes just like the routing table, but it's a different set of codes. P says Passive, which means stable. Stable is good. Yes. Passive is good, it does not have to deal with the passive interface, by the way. There are two very different applications of the word "Passive"; Passive means stable - in routing protocol "speak", in routing protocol "legal is".
So we see P is the code to indicate that we are not in a state of convergence, which would indicate or be indicated by the letter A. A says we are converging; A says that DUAL algorithm has initiated queries, is waiting for replies. We don't care about that. Do you see that terminology we told you about? Successors. Let us look at that in more detail. It says specifically for that destination network of 172.16.1.0/24, one successor. We can determine something here. What is another term for successors? Best route. That is right, so it is telling us here we have one best route to get to that particular destination network. And besides that, it tells us the feasible distance, the metric for that best route, 150,000 and some change. And then, how do we get there? Now we only have one way to reach this destination network, but if we had more than one way, we would see multiple lines of via after that and then a next stop IP address associated with it. So in this example, 192.168.1.2, it consists of HQ. But really, what is important here is what we see in those brackets. Now don't confuse this to the brackets within the routing table. Do not confuse it with the brackets from the routing table. Let's look at these in more detail. The first value - is there any way we could simply look at this right now and then, with other information around it, be able to determine exactly what it is?
Maybe. We look at their parenthetical, 156160, does that live elsewhere on the line above it? It says feasible distance is 156160. So it is pretty safe to say that the very first value that we see there inside of our brackets is going to be the feasible distance. So what is the second value? What do you think that is, folks? We talked about it, we want you make a leap of faith. What do you think that is? Can you guess it? It is 128256, interesting value in fact, it is like two different powers of 2; 2 to the 7th, 2 to the 8th.
What would we call that? Here in this course, we would tell you it is advertised distance. You remember discussing advertised distance versus feasible distance? The advertised distance shows up and that is how we would qualify candidate feasible successors, remember, feasible successors are backup routes. They will not tell you this is a backup route. You in fact have to do the math. The topology table does not do the work for you there. So this is really important output to be able to read, isn't it?
Definitely very important because when it comes to troubleshooting EIGRP, if you look at the routing table and routes are not in your routing table, you look at the topology table and routes aren't in there, well it is a kind of an indication. You have to have routes in your topology table for them to eventually be injected in the routing table. And how do we get information in the topology table? We have to have neighbors. So this is a major relationship between all these tables for EIGRP. Now remember, there is one thing that might stop a router from taking the successor and putting it in the routing table and that is, if something has a better administrative distance for that exact same network; it has to be exactly the same. It has to be the same subnet id, has to be the same subnet mask. But we now are getting a pretty robust understanding of the way that routing entries go through this circle of life from the neighbors to the topology table, to the routing table.