EIGRP metric calculation (classic and named)

image

 

Just to make sure I'm not crazy ( or need to rest )

 

I've created a simple EIGRP topology as above.

Just to clarify:

 

30.30.1.0 /24 is behind R3. It's one of the Gigabit Ethernet ports of R3

10.10.1.0 /24 is behind R1. It's one of the Gigabit Ethernet ports of R1

 

Now, with EIGRP wide metric:

R2(config)#do sh ip eig top 30.30.1.0 255.255.255.0

EIGRP-IPv4 VR(test2) Topology Entry for AS(1000)/ID(192.168.20.6) for 30.30.1.0/24

  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 1735831318, RIB is 13561182

  Descriptor Blocks:

  192.168.20.5 (Serial6/1), from 192.168.20.5, Send flag is 0x0

      Composite metric is (1735831318/1310720), route is Internal

      Vector metric:

        Minimum bandwidth is 1544 Kbit

        Total delay is 20010000000 picoseconds

        Reliability is 255/255

        Load is 1/255

        Minimum MTU is 1500

        Hop count is 1

        Originating router is 192.168.20.5

 

Now my FD calculation is:


( ((10,000,000 * 65536) / 1544) + ((20,010,000,000/10^6) *65536 ) = 1,735,831,318

So it would be something like this:

( ((10,000,000 * scale) / min BW) + ((delay in picosecond/10^6) *scale)

 

 

However, changing it to classic EIGRP, the way to calculate it vary greatly.

R2(config-router)#do sh ip eig topo 30.30.1.0 255.255.255.0

EIGRP-IPv4 Topology Entry for AS(1000)/ID(192.168.20.6) for 30.30.1.0/24

  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2170112

  Descriptor Blocks:

  192.168.20.5 (Serial6/1), from 192.168.20.5, Send flag is 0x0

      Composite metric is (2170112/2816), route is Internal

      Vector metric:

        Minimum bandwidth is 1544 Kbit

        Total delay is 20010 microseconds

        Reliability is 255/255

        Load is 1/255

        Minimum MTU is 1500

        Hop count is 1

        Originating router is 192.168.20.5


FD calculation:


( (10,000,000 / 1544) + (20010/10) ) *256 = 2,170,112


( (10,000,000 / min BW) + (dly in microseconds/10) ) *256



If I calculate this following wide metric's :



( ((10,000,000 * scale) / min BW) + ((delay in microseconds/10) *scale) = 

( ((10,000,000 * 256) / 1544) + ((20010/10) *256) = 2,170,287



Is this always the case that we multiply with the scale at the end with classic EIGRP but not with named EIGRP?

I've tried using classic EIGRP calculation to named and had different result too.



Unless I'm going crazy, this is confusing.

 

Comments

  • latecy = delay * 10**6   OR  10**13/bandwidth

    throughput = 6.5536 * 10**11/ bandwidth

     

    metric = min(throughput) + sum(latency)

     

    Note about the 'latency': if its a low speed interface then delay * 10**6 is used. If its a high speed interface, then 10**13/bandwidth is used. This is also not in milliseconds. Its in Picoseconds!

     

     

     

  • Not sure if you misunderstood my question or I didn't understand your answer really, sorry.

    Also, I didn't mention any miliseconds (As far as I know, there's no miliseconds in EIGRP metric, only microseconds or tens of microseconds), so again, not sure which one's you're referring to.

    Cheers.

     

     

     


  • FD calculation:


    ( (10,000,000 / 1544) + (20010/10) ) *256 = 2,170,112


    ( (10,000,000 / min BW) + (dly in microseconds/10) ) *256



    If I calculate this following wide metric's :



    ( ((10,000,000 * scale) / min BW) + ((delay in microseconds/10) *scale) = 

    ( ((10,000,000 * 256) / 1544) + ((20010/10) *256) = 2,170,287

    In classic mode, the metric is calculated using a scale factor of 256.

    In named mode, the metric is calculated using a scale factor of 65536.

     

  • I guess I'd better rephrase my question:

     

    Classic mode:

     

    ( ((10,000,000 * 256) / 1544) + ((20010/10) *256) )    ==> results in wrong value

     

    ( (10,000,000 / 1544) + (20010/10) ) *256      ==> EIGRP classic use this method

     

     

    Named mode:

     

    ( ((10,000,000 * 65536) / 1544) + ((20,010,000,000/10^6) *65536 )    ==> EIGRP named use this method

     

    ( (10,000,000 / 1544) + (20,010,000,000/10^6) ) * 65536   ==> results in wrong value


    Question:


    Why the difference in calculation method?
Sign In or Register to comment.