If you have read the previous article, you’ll know all the basics of EIGRP. Enhanced Interior Gateway Routing Protocol is still a valid alternative to OSPF. In your life as a network engineer, you’ll find a lot of networks implementing it. Therefore, you need to be able to configure and troubleshoot it. In this article, we are going to do just that!
With this article, we introduce some new Cisco IOS Commands. Because of that, we designed it with a lab where you can try all the new commands. You can download the Packet Tracer lab for free using the link below.
Download the lab, and un-zip it. Then, just open it with Packet Tracer. You will be able to try everything you learn when you learn it. The practice is the only true way to master any skill, including EIGRP!
EIGRP Lab Intro
The Topology
For this lab, we have created a simple topology. As you can see from the picture below, we have only four routers in a circle.
Even if the topology is that simple, we can use it to see all the beauty of EIGRP. However, the topology alone is simply not enough. In fact, to see some cool things of EIGRP, we created one loopback interface per router. On all links, each router has an IP address ending with its router name. So, R1 will be always .1
, R2 will be always .2
and so on. Below, a recap of the addressing plan.
Link | Network |
---|---|
R1-R2 | 10.1.2.0/24 |
R1-R3 | 10.1.3.0/24 |
R2-R4 | 10.2.4.0/24 |
R3-R4 | 10.3.4.0/24 |
R1 Loopback0 | 192.168.0.1/32 |
R2 Loopback0 | 192.168.0.2/32 |
R3 Loopback0 | 192.168.0.3/32 |
R4 Loopback0 | 192.168.0.4/32 |
The Requirements
For this lab, the requirement couldn’t be simpler. Our goal is just one: configure EIGRP on all routers. Of course, we are going to do that so all routers will be able to send traffic anywhere. After that, as usual, we will see the troubleshooting commands we can use if something goes wrong.
Configuring EIGRP
Entering the EIGRP Prompt
Cisco tries to give you a standard way to configure routing protocols. In fact, EIGRP configuration commands are quite similar to the ones of RIP or OSPF. As always, we need to create an instance of the routing protocol, in this case, EIGRP. In order to do that, we type router eigrp
in the global configuration. For our lab, use the ID 100.
The process ID identifies the process on the router, just like OSPF. Unlike OSPF, however, this process ID must match on all routers. In fact, Cisco calls it the “Autonomous System ID”. The truth is, this is not a real AS ID. You will learn more about Autonomous Systems when talking about Border Gateway Protocol (BGP).
Once you type the command, you will reach the config-router
prompt. From there, you can configure the EIGRP parameters of this instance. Remember also that, the time you type router eigrp
, the router will create the instance. In other words, it will allocate resources to EIGRP and create the neighbor and topology tables.
The first thing you want to do once in the prompt is to disable auto-summary. It is probably off by default (it depends on the IOS version), but we want to be sure. When talking about RIP, we have seen this command: no auto-summary
. Automatic Summarization is a dangerous behavior: if a router has a network from a major, it will advertise the whole major. For example, if a router has a route for 10.1.1.0/24
, it will advertise 10.0.0.0/8
instead. Extremely dangerous! This feature was designed for IGRP integration, and we won’t need it anymore. Just turn it off before doing anything else.
The Network command
We have seen this in OSPF: the network command. Turning on EIGRP doesn’t mean it will magically work. Instead, we need to tell the router which networks are part of the EIGRP instance. This is possible with the network
command, which works exactly like in OSPF. As a parameter, it expects a network ID and a wildcard mask (the opposite of a subnet mask). Each network we add this way will join the EIGRP instance. As a result, all interfaces in that network will start listening for hello packets willing to create neighborship. On the other hand, they will also send out hello packets actively trying to find neighbors.
Below, we reported the configuration of R1…
router eigrp 100
no auto-summary
network 10.1.2.0 0.0.0.255
network 10.1.3.0 0.0.0.255
And of R2…
router eigrp 100
no auto-summary
network 10.1.2.0 0.0.0.255
network 10.2.4.0 0.0.0.255
Then we have router R3…
router eigrp 100
no auto-summary
network 10.1.3.0 0.0.0.255
network 10.3.4.0 0.0.0.255
And finally R4…
router eigrp 100
no auto-summary
network 10.2.4.0 0.0.0.255
network 10.3.4.0 0.0.0.255
Redistribution of Connected network
Our configuration is in its final stages. However, if you hop into a router and check the routing table you won’t see the loopback of the other routers. Instead, you will see just one (the 192.168.0.X
): the one of the local router. The reason for that is simple, we haven’t told the router to do EIGRP on any network from the 192.168.0.0/16 range. And we won’t do that.
What we will do, instead, is route redistribution. This process basically allows you to take a route from a routing protocol, and advertise it into another. You could take routes from OSPF and advertise them to your EIGRP neighbors. You could even take routes from a different EIGRP instance and redistribute them into this one. Okay, but how does this help us? Well, redistribution is not limited to the routing protocol. We can also redistribute static and connected routes.
So, we need to enter the config-router
prompt again on all the routers. In each, we simply type redistribute connected
. This will take all the directly connected routes on the router, and advertise them to the neighbors. You will see new routes will appear on all routers in the blink of an eye.
And this is it! Do that on all routers, and your score will soon reach 100%. Congratulations, you now know how to configure EIGRP. But this is just half of what we need. In the next section, we will go with troubleshooting.
Troubleshooting EIGRP
Verify adjacencies
If you are not completely new to routing protocols, you know how critical neighbors are. If an adjacency doesn’t work, no route will be exchanged between the two malfunctioning neighbors. This is surely big damage for the routers, and can harm the entire network as well. So, when troubleshooting EIGRP, always start from here.
To do that, Cisco offers us a simple yet great command: show ip eigrp neighbors
. It basically shows the list of neighbors and some simple information about them.
For each neighbor, we want to look at two useful information. In the column “Address”, we see the IP address of the neighbor. Instead, in the column “Interface”, we see the interface our router has seen the neighbor onto. Other information is mainly related to timing. Does this command remember you something? Yes, this is simply the neighbor table that EIGRP has. If you don’t see a neighbor here, probably you have Layer 2 problems to reach it, or using wrong EIGRP authentication.
Verify the topology table and DUAL
Assuming that all neighbors are up and running, if you still have a problem then it is about routes. Fortunately, Cisco allows us to check the topology table too. To do that, we use show ip eigrp topology
. These commands will give you a bigger output, loaded with interesting stuff. Here’s an example.
We should look at this output closely. It starts by telling you the instance of EIGRP we are doing the command for. In fact, this allows us to see different tables if we are running multiple EIGRP instances. In our case, the Autonomous System ID is 100, and the Router ID is 192.168.0.4
. Yes, that’s right: EIGRP uses router ID as well. However, this is not as critical as it is in OSPF, as there is no DR/BDR election here.
Reading the output
After that, we can see the possible codes for reference. Then, each route is a section of the following part of the output. Specifically, each destination may have multiple routes to be reached, so it will contain two entries right below.
For each destination, we see its current status at the very beginning of the line, just before the IP address and mask. We want to see P
there, almost in any case. This means that the DUAL algorithm found a route, and everything converged. If we see anything else, DUAL is re-calculating routes. If after a few seconds, or minutes, the route is still changing state you have problems. Probably you have a redistribution problem, or a link is flapping somewhere.
After the IP and mask, we see how many successors we have for the route and the Feasible Distance of the local router. Then, below we have a list of successors. For each, we see the next hop or exit interface, and then we have two numbers in brackets. The first, before the slash, is the current feasible distance. The second is the feasible distance as advertised by the neighbor. With that, we can see which successor is active and which one is feasible. However, in this table, all successors are active because they have the exact same metric and we can do load balancing on them.
Other commands
Cisco offers you a lot of commands to troubleshoot EIGRP. We have seen the most important ones, and the ones you will use for your CCNA, but just know they are more. Some of them are even implemented in Packet Tracer:
show ip eigrp interfaces
shows you a list of interfaces using EIGRPshow ip eigrp traffic
presents some statistic about the traffic sourced by EIGRP
Feel free to try them on your own in order to see how they present information.
The dark side of EIGRP
When we described EIGRP from a theory perspective, we talked about some of its unique features. One of them was unequal cost load balancing. We know we can tune the variance, the tolerance for which to accept routes. Doing that is simple, from the router configuration prompt just type variance
and the number you wish to use. With a variance of 2, two routes that have a metric one twice the other will be considered equal. With 3, once three times the other is still considered equal and so on.
Another cool thing you might want to do is to influence the metric. We know that the metric relies mainly on bandwidth and delay. These are static values based on the interface type, and you can change them. Just enter the interface configuration and type bandwidth to change the bandwidth, or delay to modify the delay. This won’t affect the performance of the link at all, it will just affect EIGRP calculation.
And finally, you might want to manipulate the EIGRP formula. To do it, you need to change the weights of the K elements. You can do it with the metric weight
command from the router configuration prompt.
Conclusion
EIGRP is a powerful protocol, and with its simplicity, you can set it up in minutes However, you need to remember a few things if you want EIGRP to stick in your mind.
- Configure EIGRP with
router eigrp
, the ID must match on all routers - Don’t forget to remove automatic summarization with
no auto-summary
- Add networks to the EIGRP with the
network
command - You can propagate connected networks not part of the EIGRP instance with the
redistribute connected
command - Troubleshoot adjacencies with
show ip eigrp neighbors
- Verify the topology table with
show ip eigrp topology
, here you want to see all routes in the Passive state
Now you know what EIGRP is, how to use it, and how to implement it. To conclude with our trilogy, we will see how we can adapt it to IPv6. But this is for another article!