CCNA Study Guide

Enhanced Interior Gateway Routing Protocol uses composite metric calculation formula to select the best available route for destination. This formula uses five metric components. These are Bandwidth, Load, Delay, Reliability and MTU. In this tutorial we will explain these metric components in detail with examples. Later we will explain how these components are used in EIGRP Composite Metric Formula to calculate the best route for destination.

This tutorial is third part of our article “EIGRP Routing Protocol Explained with examples ". You can read other parts of this article here.

EIGRP Tutorial – Basic concept explained

This is the first part of this article. In this part we explained basic concepts of EIGRP such as Features and characteristics of EIGRP, Neighbor Table, Topology Table, Routing Table, Protocol Dependent Modules, Metric, RTP, DUAL, Autonomous System and Administrative Distance.

EIGRP Neighborship Requirements and Conditions

This is the second part of this article. In this part we explained how two routers become EIGRP neighbor and maintain this neighborship. In order to become an EIGRP neighbor, three essential configuration values must be matched. This part explains these values with neighborship building process in detail with example.

EIGRP Configuration Step by Step Guide

This is the last part of this article. EIGRP is a classless protocol wearing classful mask. Unless we configure it properly it acts like a classful protocol. In this part we will learn how to configure EIGRP routing protocol properly. At the end of this article we will include most commonly used EIGRP commands with descriptions.

K-Values and EIGRP Metrics

K-Values are the most confusing part of EIGRP. Usually newbies take K Values as EIGRP metric components. K Values are not the metric components in themself. They are only the place holder or influencer for actual metric components in metric calculation formula. So when we enable or disable a K value, actually we enable or disable its associate metric component.

EIGRP uses four components out of five to calculate the routing metric.

K Value Component Description
K1 Bandwidth Lowest bandwidth of route
K2 Load Worst load on route based on packet rate
K3 Delay Cumulative interface delay of route
K4 Reliability Worst reliability of route based on keep alive
K5 MTU Smallest MTU in path [Not used in route calculation]

Bandwidth (K1)

Bandwidth is a static value. It will change only when we make some physical (layer1) changes in route such as changing cable or upgrading link types. EIGPR picks lowest bandwidth from all outing going interfaces of route to the destination network.

For example have a look on following figure.

EIGRP bandwidth example

We have two serial links. One has 56Kbps bandwidth and other has 128Kbps. So which one will be selected?

Among these bandwidths EIGRP will pick 56Kbps for composite metric calculation formula.

You may surprise why it picks the lowest instead of the highest? Well picking the highest bandwidth doesn’t give us a surety of equivalent bandwidth throughout the route. It’s a maximum cap which means we will get its equivalent or lower bandwidth in this route.

While picking the lowest bandwidth gives us a guarantee of equivalent of higher bandwidth throughout the route. Since this is the bottleneck of route.

For example have a look on following network

EIGRP Metric bandwidth

With highest bandwidth comparison

Highest bandwidth of Route1 (72Kbps)

Highest bandwidth of Route2 (64Kbps)

Which route provides better bandwidth?

72Kbps (Route1) > 64Kbps (Route2)

With this comparison Route1 will be selected.

With lowest bandwidth comparison

Lowest bandwidth of Route1 (28Kbps)

Lowest bandwidth of Route2 (56Kbps)

Which route provides better bandwidth?

56Kbps (Route2) > 28Kbps (Route1)

With this comparison Route2 will be selected.

Looking at lowest bandwidth gives us the actual idea of route.

Next logical question is how EIGRP determine the bandwidth?

EIGRP first looks at bandwidth command. If bandwidth is set through this command, EIGRP will use it. If bandwidth is not set, it will use interface’s default bandwidth.

When we enable an interface, router automatically assign a bandwidth value to it based on its type. For example serial interface has a default bandwidth value of 1544Kbps. Until we change this value with bandwidth command, it will be used where it is required.

Let me clear one more thing about bandwidth. Changing default bandwidth with bandwidth command does not change the actual bandwidth of interface. Neither default bandwidth nor bandwidth set by bandwidth command has anything to do with actual layer one link bandwidth.

Then what purpose does this command solve?

This command is only used to influence the routing protocol which uses bandwidth in route selection process such as EIGRP and OSPF.

Suppose we have two routes for single destination; Route1 and Route2. For some reason we want to take Route1 instead of Route2. How will we influence default metric calculation to select the Route1?

In starting of this article we talked about K-Values. K-Values allow us to influence the metric calculation. K1 is associated with bandwidth. K1 gets its weight from interface’s default bandwidth or bandwidth set through the bandwidth command. Changing default bandwidth with bandwidth command will change the K1’s value in metric calculation formula.

So to take Route1, we will have to make its lowest bandwidth higher than Route2. This can be done in two ways; either raise the lowest bandwidth of Route1 higher than Route2 or reduce the lowest bandwidth of Route2 lower than Route1. Both can be done easily with bandwidth command.

Let’s understand this with a simple example. Following figure illustrate a simple EIGRP network.

Download this example topology and load in packet tracer.

Download EIGRP Metric practice topology

EIGRP Metric component bandwidth example topology

In this network R0 has two routes to reach at 50.0.0.0/8 network.

  1. Route1 (Via R0 – R1 – R2)
  2. Route2 (Via R0 – R3 – R2)

EIGRP is configured on all routers and all links have default bandwidth.

EIGRP metric bandwith example

Serial link has default bandwidth of 1544Kbps. Until we change bandwidth of any route, both routes have equal lowest bandwidth.

Route1’s lowest bandwidth (1544Kbps) = Route2’s lowest bandwidth (1544Kbps)

Both routes are load balanced with equal cost value 2684416.

EIGRP Route load banalnced

Ok, let’s change default bandwidth to see how bandwidth component influence the route metric.

Set bandwidth to 64Kbps (lower than default 1544Kbps) on R3’s serial 0/0/0 interface.

Route1’s lowest bandwidth (1544Kbps) > Route2’s lowest bandwidth (64Kbps)

eigrp metric component bandwidth example

Now Route1 has the higher lowest bandwidth so it would be selected.

Ok let’s change bandwidth at R3 again this time increase default bandwidth to 2800Kbps.

Route1’s lowest bandwidth (1544Kbps) = Route2’s lowest bandwidth (1544Kbps)

eigrp metric component bandwith example

Both routes have equal lowest bandwidth. They will be load balanced.

eigrp metric bandwidth change command

Here I have question for you.

Why EIGRP load balanced between Route1 and Route2 while now Route2 has better bandwidth?

Because EIGRP uses the lowest bandwidth of route to calculate the path cost and that is still 1544Kbps.

Load (K2)

Load is a dynamic value that changes frequently. It is based on packet rate and bandwidth of interface. It calculates the volume of traffic passing through the interface in comparison of maximum capacity. It is expressed on a scale of 255 where 1 represent that an interface is empty and 255 represent that an interface is fully utilized.

Since data flows from both directions, router maintains two separate metric counters;

  • Txload for outgoing traffic
  • Rxload for incoming traffic

If K2 is enabled, maximum Txload value will be used in composite metric calculation formula.

Delay (k3)

Delay reflects the time taken by a packet in crossing the interface. It is measured in fractions of seconds. Like as bandwidth Cisco has implicit delay values for all interfaces based on the type of interface hardware. For example a FastEthernet has default delay of 100 microseconds. Since it is a static value, we can override it with delay command.

Delay can be set anywhere from 10 to 167,772,140 microseconds.

Default delay value or value set by delay command has nothing to do with the actual delay caused by interface. Just like bandwidth, this value is also an influencer.

It is expressed in terms of tens of microseconds. To define a delay of 1000 microseconds, we need to configure 100(1000/10) on interface. Output of show interface command will automatically multiply it with ten before displaying.

Total delay is used in metric calculation formula.

Total delay = delay received from neighboring router + its own interface delay

EIGRP is an enhanced distance vector routing protocol. It also uses route poisoning, withdrawing route, split horizon and poisoned reverse for loop free optimized network. For all these mentioned techniques EIGRP use the maximum delay as the indication of the unreachable route. To denote the unreachable route EIGRP uses the delay of 16,777,215 tens of the microseconds.

Reliability (K4)

Just like load, reliability is also a dynamic value. It compares all successfully received frames against all received frames. 100% reliability indicates that all the frames which we received were good. We don’t have any issue with physical link. If we have any issue with physical link, this value will be decrease.

Reliability is expressed as the fraction of 255. 255 expresses 100% reliability while 0 represents 0% reliability. If K4 is enabled in metric calculation formula, it will use minimal reliability.

MTU (K5)

MTU stands for maximum transmission unit. It is advertised with routing update but it does not actively participate in metric calculation. EIGRP allows us to load balance between equal cost paths (6 maximum, default set to 4). It is used when equal cost paths for same destination exceed the number of allowed paths set from maximum-paths command. For example we set maximum allowed paths for load balancing to 5 and metric calculates 6 equal cost paths for a single destination. In this situation path with lowest MTU will be ignored.

EIGRP Metric Calculation Formula

EIGRP uses following formula to produce a single 32 bit metric:-

EIGRP Composite metric calcuation formula

At first glance this formula looks like a complicated equation. But it is not as difficult as it sound. Let’s make it easier.

As we know MTU (K5) is not actively participate in formula. So set its value to Zero. When K5 is equal to 0 then [K5/ (K4 + reliability)] is defined to be 1.

By default EIGRP does not use dynamic values in metric. This will disable two more components; load (K2) and reliability (K4).

Now only two static values remain in formula.

Use of default constants [K1 (Enabled), K2 (Disabled), K3 (Enabled), K4 (Disabled), K5 (Disabled not used)] reduce our formula to:-

Metric = (BandwidthE + DelayE)*256.

Cisco uses following configuration values for Bandwidth and delay

BandwidthE = 107/ least bandwidth of route [Lowest bandwidth from all interfaces between source and destination. Use interface default bandwidth wherever bandwidth is not set through the bandwidth command]

ValueE = cumulative delay of route [Sum of all outgoing interface’s delay. Use interface default delay, if not set through the delay command]

Putting these configuration values will make formula to look like this

EIGRP Composite metric calcuation formula

Before we move further, let me explain why EIGRP keeps dynamic values disable by default.

Dynamic values change over the time. Enabling dynamic values will force EIGRP routers to calculate metric all the time and send updates each other just because the load or reliability of an interface has changed. This will create serious performance issue. To avoid such a situation EIGRP only enables static values for metric calculation.

If we only enable static values for metric calculation, EIGRP will not recalculate the metric unless it changed. Static values change only when a physical change occurred in network such as an interface is down or router is dead. This will keep EIGRP nice and clean.

Let’s see this formula in action. Earlier in this tutorial we used an example topology to explain the bandwidth component. Load that topology in packet tracer and run show ip route eigrp command from privilege mode. We have four routes for three destination networks. One destination network has two routes.

EIGRP Route load banalnced

30.0.0.0/8

For this destination network metric cost is 2681856. Before we learn how this cost was calculated, we need to understand some key points associated with formula.

  • EIGRP picks the lowest bandwidth from all interfaces in route.
  • EIGRP picks delay from all outgoing interfaces in route.
  • show interface [interface] command of privilege mode will display the configured value of metric components.
  • While calculating the cost term least-bandwidth uses the unit of Kbps (Kilobits per second).
  • show interface [interface] command list bandwidth in Kbps. So we can use listed bandwidth in formula as it is.
  • While calculating the cost term cumulative-delay uses the unit of tens of microseconds.
  • show interface [interface] command list delay in microseconds. So we need to divide it with 10 before using it in formula.
  • Any decimal value will be rounded back to the nearest integer before performing the rest of the formula.

We have three serial interfaces between source and destination. So our first step is to find out the value of bandwidth and delay.

We can use show interface command to know the values.

eigrp metric calcuation example

All interfaces have equal bandwidth so our least bandwidth would be 1544Kbps.

We have two outgoing interfaces between source and destination. Both have a default delay of 20000 microseconds so total delay would be 40000 microseconds. As we know this delay is in microseconds and formula uses the unit of “tens of microseconds”. We need to divide 40000 with 10. So our cumulative delay would be 40000/10 = 4000.

Okay now we have least bandwidth (1544Kbps) and cumulative delay (4000) let’s put them in formula

eigrp metric calculation formula

Metric = ((10000000/1544) +4000)*256

Metric = ((6476.6839) +4000)*256

As I said “Any decimal value will be rounded back to the nearest integer before performing the rest of the formula.”

Before solving rest of the formula, convert decimal value back in positive integer.

Metric = ((6476) +4000)*256

Metric = (10476)*256

Metric = 10476*256

Metric = 2681856

Great! We have revealed the cost calculation method. Let’s do this calculation again for next route.

40.0.0.0/8

For this route we have lowest bandwidth 1544Kbps and cumulative delay of 4000(ten of microseconds).

eigrp metric calculation example

Let’s put these values in our formula

Metric = ((10000000/1544)+4000)*256

Metric = (6476 + 4000) * 256

Metric = 10476 * 256

Metric = 2681856

Fine, now we have only route left. Let’s figure out its cost also.

50.0.0.0/8

For this destination we have two routes. Both routes have equal least bandwidth and cumulative delay. So naturally their cost will also be same. As we know EIGRP automatically load balance equal cost routes and these routes have equal cost. So they both make their way to routing table.

eigrp metric calcuation example

Metric = ((10000000/1544) + 4010) * 256

Metric = (6476 + 4010) * 256

Metric = 10486 * 256

Metric = 2684416

This is how EIGRP calculates the route cost. In job life you will rarely need to calculate the route cost manually. Still I suggest you to spend a little extra time in learning this process especially if you are a Cisco exam candidate.

That’s all for this part. In next part I will explain how to configure EIGRP step by step with examples.

Improve this articleImprove this article

Thanks for reading this article. We believe that every article always has a scope for improvement. Following this principle we invite you to update this article. Your little effort and time will make this article more useful for other users. You can improve this article in two ways.

Improve this articleTechnical update

  • Update outdated or incorrect information
  • Add missing or relative information
  • Make this easier to understand

Improve this articleLanguage update

  • Use more simple words for presentation
  • Correct spelling errors and typos
  • Update grammatical mistakes

Please download editable version of this article in DOCX format and send updated version back to computernetworkingnotes@gmail.com

Share this Share This Article with Friends

Stay updateStay Update With US

More Articles For YouYou May Also Like