EIGRP Tutorial
Calculate EIGRP metric
In this part we will continue to learn about the EIGRP Routing Protocol
I built the topology with Packet Tracer to illustrate what will be mentioned. You can download the lab file here: http://www.9tut.com/download/EIGRP_CCNA_self_study.zip (please unzip & use at least Packet Tracer v5.3 to open it)
Check the neighbor table of Router0 with the show ip eigrp neighbors command
Let’s analyze these columns:
+ H: lists the neighbors in the order this router was learned
+ Address: the IP address of the neighbors
+ Interface: the interface of the local router on which this Hello packet was received
+ Hold (sec): the amount of time left before neighbor is considered in “down” status
+ Uptime: amount of time since the adjacency was established
+ SRTT (Smooth Round Trip Timer): the average time in milliseconds between the transmission of a packet to a neighbor and the receipt of an acknowledgement.
+ RTO (Retransmission Timeout): if a multicast has failed, then a unicast is sent to that particular router, the RTO is the time in milliseconds that the router waits for an acknowledgement of that unicast.
+ Queue count (Q Cnt): shows the number of queued EIGRP packets. It is usually 0.
+ Sequence Number (Seq Num): the sequence number of the last update EIGRP packet received. Each update message is given a sequence number, and the received ACK should have the same sequence number. The next update message to that neighbor will use Seq Num + 1.
As CCNA level, we only care about 4 columns: Address, Interface, Hold & Uptime. Other columns will be discussed in CCNP so you don’t need to remember them now!
Notice that you can see a line “IP-EIGRP neighbors for process 100″. “Process 100″ here means “AS 100″.
Next we will analyze the EIGRP topology with the show ip eigrp topology command. The output of Router0 is shown below
The letter “P” as the left margin of each route entry stands for “Passive”. Passive state indicates that the route is in quiescent mode, implying that the route is known to be good and that no activities are taking place with respect to the route.
Each route shows the number of the successor it has. For example, the network 192.168.2.0, 192.168.1.0,192.168.3.0 & 192.168.4.0 have only 1 successor (and no feasible successor). Only network 192.168.5.0 has 2 successors.
We notice that there are 2 numbers inside the brackets (30720/28160). The first one is the metric from Router0 to the destination, the second is the AD of this route, advertised by the neighbor. For example, the third route entry has:
Let’s see how to calculate them!
First you should learn the formula to calculate the metric. It’s a conditional formula a bit complex, I think :)
metric = [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] * [K5/(reliability + K4)] if K5 > 0
metric = [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] if K5 = 0
Note: you can check these K values with the “show ip protocols” command. Below is an example of this command on Router0.
To change these values, use the “metric weights tos k1 k2 k3 k4 k5″ in the EIGRP router mode.
By default, K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0 which means that the default values use only bandwidth & delay parameters while others are ignored. The metric formula is now reduced:
metric = bandwidth + delay
But the bandwidth here is defined as the slowest bandwidth in the route to the destination & delay is the sum of the delays of each link. Here is how to calculate the EIGRP metric in detail:
EIGRP uses the slowest bandwidth of the outgoing interfaces of the route to calculate the metric. In this case we need to find out the bandwidth of Fa0/0 of Router0 & Fa0/1 of Router1 as the destination network is 192.168.3.0/24.
Find the bandwidth
We can find the bandwidth of each interface by the “show interfaces “. Below is an output of the “show interfaces fa0/0″ on Router0.
All the interfaces in this topology have the bandwidth of 100,000 Kbps so we will get the same result on interface Fa0/1 of Router1 -> The slowest bandwidth here is 100,000 Kbps. Now we can calculate the first portion of the formula:
Notice that if the result is not an integer then the result will be rounded down. For example, 10,000,000 divided by 1024 (the speed of T1) equals 9765.625. The result will be rounded down to 9765.
Find the delay
EIGRP also used the delay of the outgoing interfaces and it can also be found with the “show interfaces “, the delay lies next to the bandwidth value (for example, DLY 100usec). In this case, the delay value of both Fa0/0 of Router0 & Fa0/1 of Router1 is 100 usec (microsecond) so the sum of delay is 100 + 100 = 200 usec. The second portion of the formula is:
Note: “usec” here means microsecond (which is 1/1000 miliseconds). According to this link: http://www.cisco.com/en/US/tech/tk365/technologies_white_paper09186a0080094cb7.shtml#eigrpmetrics: “The delay as shown in the show ip eigrp topology or show interface commands is in microseconds”. We have to divide by 10 to get the “ten of microsecond” unit used in the metric formula above.
Get the metric
Now just sum up two portions of the formula and multiplied by 256 to get the result:
The result is 30720 and it matches the value shown in the topology table of the route to 192.168.3.0/24
Using the formula above, we can easily calculate the AD of that route (with slowest bandwidth = 100,000Kpbs; sum of delay = 10)
metric = (100 + 10) * 256 = 28160
This metric matches with the second parameter of the above route.
Note: The output of “show ip eigrp topology” command shows only feasible successors while the output of “show ip eigrp topology all-links” shows all neighbors, whether feasible successors or not. To learn more about the “show ip eigrp topology all-links” please read http://www.digitaltut.com/route-eigrp-simlet. Although it belongs to CCNP exam but CCNA level can read it too.
EIGRP Routing table
The last table we will discuss is the routing table. This is the most used table to check the operation of EIGRP. Here is the output of the show ip route command on Router0:
The routing table has two parameters [90/30720] but the first one is the administrative distance of EIGRP. EIGRP has a default administrative distance of 90 for internal routes and it is often the most preferred routing protocol because it has the lowest administrative distance.
Administrative distance is the measure used by Cisco routers to select the best path when there are two or more different routes to the same destination from two different routing protocols.
Below is the administrative distances of the most popular routing protocols used nowadays. Notice that the smaller is the better.
So, if a network running two routing protocols at the same time, for example EIGRP and OSPF, which routing protocol will the router choose? Well, the answer is EIGRP as it has lower Administrative Distance than OSPF ( 90 < 110).
The second parameter, as you can guess, is the metric of that route as we discussed above.
“no auto-summary” with EIGRP
One of the features of EIGRP is “support VLSM and discontiguous networks”. Discontiguous networks are networks that have subnets of a major network separated by a different major network. Below is an example of discontiguous networks where subnets 10.10.1.0/24 and 10.10.2.0/24 are separated by a 2.0.0.0/8 network.
Now let’s see what will happen when we turn on EIGRP on both of the routers. To turn on EIGRP you will use these commands:
R1(config)#router eigrp 1
R1(config-router)#network 2.0.0.0
R1(config-router)#network 10.10.1.0 (or network 10.0.0.0)
R2(config)#router eigrp 1
R2(config-router)#network 2.0.0.0
R2(config-router)#network 10.10.2.0 (or network 10.0.0.0)
You can try to use the more specific “network 10.10.1.0″ instead of “network 10.0.0.0″, hoping that EIGRP will understand it is a sub-network. But if we check the configuration with the “show running-config” command we will notice that EIGRP has auto-summarized our network.
R1#show running-config
-> Network 10.10.1.0 has been summarized to network 10.0.0.0 because it knows 10.x.x.x network belongs to class A.
The same thing happens for R2. Now we should check the routing table of R1 with the “show ip route” command
R1#show ip route
From the output above we learn that R1 only knows about the directly connected 10.10.1.0/24 network but it doesn’t have any information about the far-away 10.10.2.0/24 network and a ping to 10.10.2.1 cannot be successful (but notice that we can ping to that directly connected network, 10.10.1.2, for example).
So we can conclude that if a router receives the same route with what it is advertising then it will not learn that route. In the above example, the “collision” occurs because both of the routers summarize into network 10.0.0.0/8 and advertise it to other router. The neighboring router realizes that it is also advertising this network so it drops this network information.
Now if we use the “no auto-summary” command on both routers then the problem will surely be solved but first let’s try to use that command only on R1 router.
R1(config)#router eigrp 1
R1(config-router)#no auto-summary
R1#show ip route
-> Nothing changes!
R2#show ip route
-> R2 has just learned about the new “10.10.1.0/24″ network which is advertised from R1 so R2 can ping this network
In conclusion when we enable “no auto-summary” on R1 then R1 will advertise its network with their subnet mask so R2 can learn them correctly.
To grasp how to configure EIGRP, please read my article Configuring EIGRP with GNS3
@9tut
the OSPF send routing table every 30 minutes
so what about EIGRP ?? when send routing table ?
Thanks 9tut for this very useful tutorial.
thanks
EIGRP has “triggerd-updates”, which means, that it will only send update packets if the routing table changes. Or a new Router is discoverd.
It is the 5. of the features mentioned on top of the page.
Hope it will help you to understand.
its a great tutorial for beginners, I salute the author…………
Thanks alots, you are the best, please include some more lab. e.g WAN, VPN etc…
Quick question. On startup I believe neighbors exchange topology tables, not routing tables. I just want to make sure I understand it correctly.
Great tuturial! Thanks!!!
Greatly explained…..thanks a lot
VERY NICE MANY MANY THANKS
this site are very useful.
The tutorial was very helpful to me!much thank to you administrator!
Outbound interface in the Nevada routing table is E0 (not 50).
thanks a lot
Be careful on the exams. Here AD is what the Cisco Official cert guide calls RD (reported distance) and it also calls AD (administrative distance)!
But still a great tutorial :^)
Absolutely very useful tutorial
Thanks
Ahmed
Thanks @9tut
It helps me a lot THANKS THANKS a lot
Thanks 9tut for the awesome tutorials. I’ve been putting this off for along time but am finally ready to go get it. Anyone studying for he CCNA in the washing DC or DMV (DC, MD, VA) area? looking for a study partner or group to get ready for ccna and hopefully ccnp
thanks everyone.
@Em_ccna2014, are you still looking for partner for the ccnp? did you got the ccna?
In EIGRP bandwidth and delay you can assign manual but reliability and load is dynamic.
Perfect!
Do we need to remember these metric calculation formulas and are there metric calculation questions in the exam?
thanks
can someone send the latest ccna dumbs to johnjm66@gmail.com
Thanks
WHY A ROUTER CONNECT TO ITS NEIGHOUR ROUTER
Great tutorial. Guys is there any cofigurations in icnd2 ?
Every thing for beginner, and explained very well. A give ***** rating to author
Fantastic….
very useful
From so many different sites out there explaining EIGRP, this has by far been the easiest and most useful explanation. Great article, thank you!
The section about nbr discovery says about the hello packets that “These packets are sent over TCP”. Looking at sniffer logs, EIGRP hello packets are directly on top of IP and have IP Protocol 88.
:)