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 bit complex, I think :)
metric = [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] * [K5/(reliability + K4)]
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:

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
this is very gud
and all the information in very dip…
thanku so much
god bless u
really its good for undersatnding the eigrp principle
it helps to configure and depth knowledge and also outlook for basic
really its good for undersatnding the eigrp principle
it helps to configure and depth knowledge and also outlook for basic concepts
Hello,
How to configure Diffreent AS number in EIGRP with Redistribuition
Thanks
Guys thanx i was so confused on EIGRP can you pliz help with Frame relay now
Thanks for the in-depth explanation!
Hie
thanx a million
Was confused in todd lammle…ty 9tut :)
detailed, easy to understand, yah keep it up, thanx….thanx
Thanks 9tut.com.I now have more clear picture of EIGRP.
Much appreciated, thank you guys for all ur time and effort
9tut – Thanks for the overview – concise and to the point… I hope I can retain all of this as pieces of this will be on exam questions…
Very good summary,Many thanks
Very well explained, nice for beginners and good to improve and revise your concepts for existing students. Very good summery of very lengthy topic.
Much appreciated, thank you guys for all ur time and effort
Perhaps add in the default Admin Distance of 90 ? I didnt see that mentioned.
Now a days Cisco is asking some new questions which are not in pass4sure. Is any one has the source for these new questions?
god
good to read this!!!!!!!!!!!!!
Thank you very much,,
G00D WORK INDEED…….!!!!!! THNX
Thank You! This is very useful!
this is great
in which condition , we can use ” no auto-summary” and for what purpose we use them.?
Good One…
Greetings,
Very good. Thank you for your effort .
Thanks again… the tutorial was of immense help. Only I think that the figure for outbound interface in the Routing table should be “e0″ and not 50 which is the AD for Router A to reach D. If I am wrong then please do correct me. Thank you.
Amazing! :)
thanks for this tutorial
Realllllly Thank You! This is very useful! I appreciate u for ur work
Thank You for sharing these clear explanation with us.
Great work
easy to understand..Thanks a lot….
nice 9tut tutorial.
Nice explanation …!!!
Thank You 9tut.com for sharing these clear explanation with us.
Great Work.
Thank you very much
Thanks a million 9tut.I have to take hours to read this in Sybex.
Now this post take me just a few minutes.I really appreciate 9tut.
Hello 9tut,
Can u plz double check the metric formula?
I guess it should be:
metric = [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] + [K5/(reliability + K4)]
otherwise, the metric will equal to zero if k4 & k5 are zeros!!!
Thx 4 the gr8 info…keep it up
if K4 is 0 then
[K5/(reliability + K4)] = K5/reliability
if K5 is 0 then
[K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] + [K5/(reliability + K4)] =
[K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] + 0 =
[K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay]
Really Good !
if I used a class C with /24 instead of a class A (or B) /24, I won’t need no auto-summary right?
@jeff
yeap. you’re wasting the entire address space on one interface with that /24 mask so… no need for “no auto-summary” in that case.
auto-summary is used to have less advertisement packets sent during updates and to keep the routing table less crowded
I’ve been creating these labs for ICND2 and I always use class C /24 so I never used “no auto-summary”.
On page 2 routing table, shouldn’t the metric be Administrative Distance instead of Feasible Distance? By default, EIGRP has an AD of 90 as the table shows on page 3. For the routing table, it is [Administrative Distance (default of 90) / Advertised Distance (from neighboring router to destination)].
@Jeff2: In the routing table, the metric is the Feasible Distance. Notice that the FD from routerA to IOWA is 90 because 90 = 40 (routerA -> IDAHO) + 50 (IDAHO -> IOWA). It is not the AD of EIGRP.
But on the show ip route that you did on page 3, it says [90/30720] on the routing table for every route learned through EIGRP. What is 90 there? 30720 is Advertised Distance.
@xallax
I meant,
In the tutorial the equation is written wrong, there is (*) instead of (+), so in that case the metric will be zero…maybe typo…
could be…
@Jeff2: In [90/30720], 90 is the Adminstrative Distance of EIGRP.
But in your Routing table on page 2, the metric is Feasible Distance not Administrative Distance. When we talk about routing tables, shouldn’t it always be 90 for EIGRP? And it should be [AD of EIGRP / Advertised Distance] for EIGRP. Again, I am asking about the routing table. Like for RIP [AD of RIP (120) / Hop count].
@jeff
keep in mind that the admin can set up a different administrative distance for eigrp. 90 is the default value
I know that it is the default value and it can be changed. But on the routing table on page 2, the metric there was feasible distance and not AD. That is my whole issue basically, why is it FD on that routing table.
@jeff
you’re talking about the 3rd table, right? the routing table.
i’m not that good at eigrp, but… it looks like you’re right, it should be “(Administrative Distance)”, not “(Feasible Distance).
anyone else?
Yep, the 3rd table.
@Jeff2: Maybe this is what you want to mention:
Routing table (page 2, 3rd table):
IOWA | Metric (FD) = 90 | Outbound Int = 50 | Next hop: IDAHO
The metric here equals to 90 but it is just a coincidence because 90 = 40 (routerA -> IDAHO) + 50 (IDAHO -> IOWA). 90 here is not the AD of EIGRP.
Now I am confused. On the lab you created, from Router 0, how can I show the neighbor, topology and routing table just for Router 3?
After reading up on EIGRP (from Odom book), the correct entry for the Routing Table on page 2 should be [90/90] and not [90/50]. First 90 is AD of EIGRP and second 90 is FD of successor route.
Thanks alot mate, doing a great job!
great job 9tut
this is not what is on ccna. there was a question about feasible successor. It showed 4 different outputs (not sure to what, show ??)
Can anyone help?
Hi 9tut,
I might be wrong here or there is a typo. AD is used both for Administrative Distance and Advertised Distance. Like in the first line of 2nd page of this tutorial, it says “Administrative Distance (AD)” but in the 3rd line, it says “Advertised distance (AD): the cost from the neighbor to the destination”. I think in the first line, it should also be Advertised Distance because AD is constant for the routing protocols.
Please clarify.
Thanks!!
@Nash D: Yes, I want to mention about Advertised Distance, not Administrative Distance. Thanks for your detection, I updated it!
Thanks 9tut.
Very informative….I appriciate your work….and thanks
Thanks… Very Clean details…
“+ Ack: acknowledges receipt of an update… It is always unicast and uses UDP.”
UDP has no business here. EIGRP uses RTP (Reliable Transport Protocol) for transport which as we know has 3 PDMs (protocol dependent modules) which run on top of IP, IPX and AppleTalk.
The other RTP (Real-time Transport Protocol) which is being used in voice over IP (VoIP) uses UDP, but otherwise than the totally unfortunate acronym collision, it’s entirely unrelated to the RTP used by EIGRP.
Very easy to understand. Thanks so much !!
Good work..keep it up
@9tut
if there is a route with a AD less than the FD of the current successor , but the route is not loop free , like this scenario is it would be elected as feasible successor route to the destination , even if there is a loop back to the current successor route
eg.
naveda->oklahoma->idaho->iowa
this route has AD of 50 wich is less than 90 even 70 wich is elected as a f. successor route
@abdibasid: Yes, the route naveda->oklahoma->idaho->iowa is also elected as a feasible successor route. Notice the above route is loop free.
reallly much appreciated guys.. your efforts are ooossssssssum
If the metric is
metric = [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] * [K5/(reliability + K4)]
and only K1 and K3 are not zero then the formula becomes K1*bandwidth + K3*delay. Because K1 and K3 are 1 that leave us with metric=bandwidth + delay.
So where can we find that bandwidth=[10^8/(slowest bandwidth)]*256 and delay = [(sum of delay)/10]*256 ?
It Really Good ……
This is very gud information.
Thank you very much.
Hi, I realized an excel file with a comparison of RIP, RIPv2, IGRP, EIGRP, and OSPF. Link to download:
http://matteocappelli.files.wordpress.com/2011/10/compare_rip_igrp_eigrp_ospf_v1-1.xls
Bye!
very precise.
Very helpful.
thnks
If there were Routers E and F connected with Router D with some random AD Between them and Router A had to communicate with ‘F’.
In such topology, Would the AD value change as it is the distance between the neighbor and the Destination but here the Destination is Far. Plz suggest
@9tut
Thanks
Thank you for this short course. Very helpful. :D
@9tut: a small comment about EIGRP packet types
EIGRP uses five packet types:
•Hello/Acks
•Updates
•Queries
•Replies
•Requests
Source: http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080093f07.shtml
As stated earlier, hellos are multicast for neighbor discovery/recovery. They do not require acknowledgment. A hello with no data is also used as an acknowledgment (ack). Acks are always sent using a unicast address and contain a non-zero acknowledgment number.
Updates are used to convey reachability of destinations. When a new neighbor is discovered, update packets are sent so the neighbor can build up its topology table. In this case, update packets are unicast. In other cases, such as a link cost change, updates are multicast. Updates are always transmitted reliably.
Queries and replies are sent when destinations go into Active state. Queries are always multicast unless they are sent in response to a received query. In this case, it is unicast back to the successor that originated the query. Replies are always sent in response to queries to indicate to the originator that it does not need to go into Active state because it has feasible successors. Replies are unicast to the originator of the query. Both queries and replies are transmitted reliably.
Request packets are used to get specific information from one or more neighbors. Request packets are used in route server applications. They can be multicast or unicast. Requests are transmitted unreliably.
really great
there is a question on the test, got me, not sure if i should post it on the routing forum but here is:
it gives 3 routing protocols, RIPv2, OSPF and EIRGP, and ask us to compare which one gets to put onto the routing table, we know the administrative distance is one factor and usually EIGRP would be the choice of the protocols.., how about metric, it gives a metric for RIPv2 of 2, OSPF is 714 and EIGRP is some long number like 424566346
@Me: EIGRP will be chosen because it has the lowest Administrative Distance (90) regardless of the metric.
Thnks guys to all your useful work here. It is saving a lot of preparation time for me.
This week on Thursday I have this CCNA exam.
Before finding this site, I was praying to GOD, wanna talk to the people who has recently
taken this exam to know, the next day morning I have found it.
Thanks to GOD who answers our prayers.
Blessings,
Omnivoice27@yahoo.com
Outbount interface in Routing table must be E0
This site is quiet informative.I love the way each concept was discussed.
thank u,wo learned many new knowledge
will i pass mara?
Good information and nicely put together with easy visuals. I commend you.
Thanks Man…. Very Nice Tutorial…
@9tut and xallax.
Just got confused on calculating the cost. ICND cisco press said that the cisco IOS default formula is 10^8/bandwidth. on page 3 of your tutorial if we use the formula it would be 10^8/100 Mbps = 1.
is this correct?… please advise.
Thanks.
@jay
then something is wrong here because…
“The formulae for calculating EIGRP metric is:
Metric = 256*((K1*Bw) + (K2*Bw)/(256-Load) + (K3*Delay)*(K5/(Reliability + K4)))
k1=bandwidth
k2=load
k3=delay
k4=reliability
k5=MTU
usuallly only Bandwidth and Delay are considered for Bandwidth calculation (by default) . so K1 = 1 and K3 = 1 and rest all are Zero. (although you can change these metric weights (k- values))
applying that on the formula.
the Metric would be
256 *( (k1 * BW) + (K3 * Delay))
BW is Minimum Bandwidth in kpbs and delay is cummulative delay in tens of microseconds.
Apply BW and Delay of that interface in the above said formula and you should be able to calculate the metric.” (https://learningnetwork.cisco.com/thread/37278)
are you sure it said “eigrp cost”? eigrp uses metric (just a name difference)
thanks xallax. Kindly disregard my question.. just got confused.. sorry… the formula is for OSFP cost.
to xallax.
in the routing table of EIGRP…. is the second parameter called FD (feasible distance) or Metric?
Thanks.
@jay
http://www.cisco.com/en/US/docs/ios/12_0/np1/command/reference/1reigrp.html#wp1021269
“The first number is the EIGRP metric that represents the cost to the destination. The second number is the EIGRP metric that this peer advertised.”
first is FD, second is AD
Enlighting enough!!
Thanks….!!
Anyone able to send the latest dumps to me? deskimogangsta@gmail.com
Taking the test this Thursday. Thanks 9tut, you’ve helped so much!
Thanks for all the hard work! Now i’ll be able to actually get a good job :P
This is a great initiative, really helpful. Keep up the good work 9tut whosoever is working behind the scenes :)