Continuing on with the EIGRP articles, I’ll look at the EIGRP metric calculation.

EIGRP uses a composite metric, meaning it’s made up of several smaller metrics:

  • Bandwidth (minimum along path)
  • Delay (cumulative along path)
  • Reliability
  • Load
  • MTU

A good way to remember them is Big Dogs Really Like Me. These correspond to numbers that come from the show interface command, and can be directly read from the show ip eigrp topology network/mask command.

r0#show int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 0060.5cf3.bb1e (bia 0060.5cf3.bb1e)
  Internet address is 10.50.0.1/24
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 3000 bits/sec, 4 packets/sec
  5 minute output rate 3000 bits/sec, 4 packets/sec
     2212623 packets input, 2653204211 bytes, 0 no buffer
     Received 2158768 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     1054688 packets output, 716849118 bytes, 0 underruns
     18 output errors, 6 collisions, 22 interface resets
     0 babbles, 0 late collision, 109 deferred
     18 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

r0#show ip eigrp topology 10.50.0.0/24
IP-EIGRP (AS 44): Topology entry for 10.50.0.0/24
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 281600
  Routing Descriptor Blocks:
  0.0.0.0 (Ethernet0), from Connected, Send flag is 0x0
      Composite metric is (281600/0), Route is Internal
      Vector metric:
        Minimum bandwidth is 10000 Kbit
        Total delay is 1000 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 0

The bandwidth is calculated as 1E7/BW(in kbit), and the lowest along the path is chosen. The delay is the sum of all the delays in tens of microseconds. Thus, 1000 microseconds is 100 “tens of microseconds”. Reliability, MTU, and Load can be easily seen.

The metric formula (which is also well explained in Cisco’s EIGRP Whitepaper is

metric = [K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]

Where K1 through K5 are constants that can be changed with the metric weights command, but default to K1=K3=1 and K2=K4=K5=0. This reduces the equation to

metric = ((1E7/minbw)+(sum of delays))*256

In our example above, the metric is
(1E7/10000+100)*256 = 281600. What do you know, it adds up?

     Composite metric is (281600/0), Route is Internal

So, going back to our previous example, this time with bandwidth and delays thrown in:

The stub network to the right of router B can be reached several different ways from C. B will advertise the network to A and E with a bandwidth of 10000K and a delay of 100 tens of us, giving an advertised distance of 281600(1E7/10000 + 100)*256. E will the advertise to C a metric of 46251885 (1E7/56 + (2000+100))*256. And so forth.

Unlike OSPF, the metric you see in the routing table isn’t used in the calculations… It is recomputed at each hop based on the five metrics above. The number is simply used to compare two advertised distances, and the calculation of the feasible distance (remembering that EIGRP is a distance vector protocol, even though it looks like a link-state protocol.)

Just a reminder on the AD vs the FD. The advertisements from a remote router do not include the cost of the link between the two routers. The number that the remote router sends is the advertised distance. The local router adds the local link cost to the AD to get the feasible distance. The lowest feasible distance is the route chosen. If the AD of a higher cost route is lower than the FD of the best route, it’s kept as a “hot spare” and called a feasible successor. If the AD is higher, it isn’t kept, and will only be used after DUAL runs (another article)

References

  1. EIGRP articles
  2. Cisco's EIGRP Whitepaper