Home > EIGRP Tutorial

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: https://www.9tut.com/download/EIGRP_CCNA_self_study.zip (please unzip & use at least Packet Tracer v5.3 to open it)

EIGRP_3_tables_topology.jpg

Check the neighbor table of Router0 with the show ip eigrp neighbors command

EIGRP_R0_show_ip_eigrp.jpg

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!

EIGRP_R0_show_ip_eigrp_analysis.jpg

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

EIGRP_R0_show_ip_eigrp_topology.jpg

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:

EIGRP_R0_show_ip_eigrp_topology_third_entry.jpg

Let’s see how to calculate them!

First you should learn the formula to calculate the metric. It’s a bit complex conditional formula, 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.

EIGRP_R0_show_ip_protocols.jpg

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_fomula.jpg

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.

EIGRP_3_tables_topology_outgoing_interfaces.jpg

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.

EIGRP_R0_show_interfaces_fa0_0.jpg

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:

EIGRP_fomula_first_portion.jpg

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:

EIGRP_fomula_second_portion.jpg

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:

EIGRP_fomula_result.jpg

The result is 30720 and it matches the value shown in the topology table of the route to 192.168.3.0/24

EIGRP_R0_show_ip_eigrp_topology_match.jpg

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:

EIGRP_R0_show_ip_route.jpg

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.

EIGRP_Administrative Distances_popular_routing_protocols.jpg

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.

EIGRP_discontiguous_network_1.jpg

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

EIGRP_discontiguous_network_show_run_R1.jpg

-> 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

EIGRP_discontiguous_network_show_ip_route_R1.jpg

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

EIGRP_discontiguous_network_show_ip_route_R1_no_auto_summary.jpg

-> Nothing changes!

R2#show ip route

EIGRP_discontiguous_network_show_ip_route_R2_no_auto_summary.jpg

-> R2 has just learned about the new “10.10.1.0/24” network which is advertised from R1 so R2 can ping this network

EIGRP_discontiguous_network_ping_R1.jpg

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.

Note: Hello timers, hold timers do not need to match between two EIGRP routers to establish neighbor relationship.

To grasp how to configure EIGRP, please read my article Configuring EIGRP with GNS3

Comments (6) Comments
  1. asghar
    December 19th, 2019

    please share ccnp route dumps and lab. Humble requested.
    asgharshahhashmi @ gmail . com

  2. Victor
    May 5th, 2021

    Thanks!!!!

  3. Anonymous
    July 28th, 2021

    thankyou

  4. Guled
    January 5th, 2022

    Hi you recently moved the questions how can i do the questions i wont pass the exam without doing the questions

  5. CCNA 2023
    January 30th, 2023

    Hi All,

    EIGRP is not in current 2023 CCNA syllabus right? only OSPF?

  6. Ken
    May 25th, 2023

    I took the exam in April and I do not recall having any EIGRP questions, but things could have changed from then.

Add a Comment