[comp.dcom.sys.cisco] delay of an interface

dupont@inria.inria.fr (Francis Dupont) (03/21/91)

An important component of IGRP metrics is the "delay".
Cisco manuals don't explain how to choice the delay of an interface
(the defaults are 1000us for Ethernet and 20000us for Serial).
How do you compute a delay ? The transit time for one bit is
to much bound to bandwidth ... Perhaps the transit time of the first
bit (for instance (RTT(200B)-2*RTT(100B))/8*100) is a good approximation
of delay ?

Francis.Dupont@inria.fr

PS : default formula for IGRP metric is :

10000*Bandwidth+Delay/10 with Bandwidth in kb/s and Delay in us

Allen Robel <robel2@mythos.ucs.indiana.edu> (03/26/91)

>       metric = [K1*bandwidth + (K2*bandwidth)/(256 - load) + K3*delay] *
>                                                [(reliability + K4)/K5]
>
>       If K5 == 0, then there is no reliability term.
>       The default version of IGRP has K1 == K3 == 1, K2 == K3 == K5 == 0"


With K5=0 you're dividing by zero which is a no-no, right?  Is K5 

really equal 0 or is the equation wrong?  I'd like to include the 

metric in the IGRP decoder I'm working on for Network General's Sniffer.

I checked in Hedrick's paper @ ftp.cisco.com ~ftp/igrp.ps and the above
is an accurate representation as it appears in that paper.

>The Bandwidth must be inverted and scaled by 10E10.  Also quoting from
>the same source:
>
>"Bandwidth is inverse bandwidth in bits per sec scaled by a factor of
>10e10.  The range is from a 1200 bps line to 10 Gbps....  


I tried this on my trusty HP:

(1/6476)*10E10 (for T1 bandwidth = 1.544Mbs)

and get:

15,441,630.6362

My guess is that this should be 10E9?

Any info from anyone clarifying these points would be most helpful!

thanks,

Allen Robel                            robel2@mythos.ucs.indiana.edu 

University Computing Services          ROBELR@IUJADE.BITNET 

Network Research & Planning            voice: (812)855-7171
Indiana University                     FAX:   (812)855-8299

robel2@mythos.ucs.indiana.edu (Allen Robel) (03/26/91)

>> >       If K5 == 0, then there is no reliability term.
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Thanks!!!  I was reading that to mean that K5, being 0, would somehow
"weight out" the reliability term mathematically rather than 

relying on programming ( e.g. if (K5) ...).

allen

robel2@mythos.ucs.indiana.edu (Allen Robel) (03/26/91)

>> >       The default version of IGRP has K1 == K3 == 1, K2 == K3 == K5 == 0"


So what's K4, and is K3 really 1 or 0?  


thanks,

allen

whp4@cisco.com (Bill Palmer) (03/26/91)

> >> >       The default version of IGRP has K1 == K3 == 1, K2 == K3 == K5 == 0"
>So what's K4, and is K3 really 1 or 0?  

It should be K1 == K3 == 1, K2 == K4 == K5 == 0

By default, your metric won't change if your topology doesn't.  Only
the truly brave who like solving non-linear feedback systems will want
to play with K2, K4 and K5, I think.

Bill Palmer
cisco

forster@cisco.com (Jim Forster) (03/26/91)

Francis,

For the purposes of measuring the delay to be used in IGRP, the simplest
thing to do is run a bunch of 1500 bit ping packets, and use the average delay.
That's 1500 bits, not bytes.

Quoting from ftp.cisco.com:~ftp/igrp.doc

"In principle the composite delay, Dc, could be determined as follows:
  Dc = Ds + Dcir + Dt                            Eq. 2
  Where:
    Ds = switching delay;
    Dcir = circuit delay (propagation delay of 1 bit); and
    Dt = transmission delay (no-load delay for a 1500 bit message)."

Walt Prue's method of plotting the delay of various size packets is
interesting, as it yields Ds+Dcir.  The slope of the line is the bandwidth.
If you do this over a long path, or a line with some background traffic, you
can deduce the effective bandwidth of the path.
 
>> 10000*Bandwidth+Delay/10 with Bandwidth in kb/s and Delay in us

The Bandwidth must be inverted and scaled by 10E10.  Also quoting from
the same source:

"Bandwidth is inverse bandwidth in bits per sec scaled by a factor of
10e10.  The range is from a 1200 bps line to 10 Gbps....  Reliability is
given as a fraction of 255.  That is, 255 is 100%.  Load is given as a
fraction of 255....

Because of the somewhat wierd units used for bandwidth and delay, some examples
seem in order.  These are the default values used for several common media.

                            Delay           Bandwidth
            Satellite    200,000 (2 sec)           20 (500 Mbit)
            Ethernet         100 (1 ms)         1,000
            1.544 Mbit      2000 (20 ms)        6,476
            64 Kbit         2000              156,250
            56 Kbit         2000              178,571
            10 Kbit         2000            1,000,000
            1 Kbit          2000           10,000,000

6.3 Metric computations
Here is a description of the way the composite metric is actually  computed...

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

       If K5 == 0, then there is no reliability term.
       The default version of IGRP has K1 == K3 == 1, K2 == K3 == K5 == 0"


  -- Jim

robel2@mythos.ucs.indiana.edu (Allen Robel) (03/28/91)

>I have a simple igrp spreadsheet for Microsoft Excel if you'd like to
>play with the Kn, occupancy, reliability and delay.  Actually, it's
>curious to see the results when using values other than 1 for some of
>the Ks...


Pierre Fortin correctly points out that the Ks can have other 

values besides 0 and 1.  This is something I didn't check for 

in igrp.c for the sniffer.  Where before I did:

if(K5==0)
   no reliability term;
if(K5==1)
   reliability term;

now I do:

if(K5==0)
   no reliability term;
  else
   reliability term;

You won't need the most recent update unless you're
planning on changing the K values (something that
cisco, at present, doesn't recommend).  But, if you
*do* get the update, get *both* igrp.h and igrp.c
as I've moved the Ks from the former to the latter.

Here's the most recent changes for igrp.c

Change log.

3/25/91 - Written  allen
3/26/91 - Don't use 1st byte of local subnets to determine IP
          address of Nets in and outside AS. allen
3/27/91 - Changed K1-K5 from defines in igrp.h to unsigned char 

          variables in igrp.c. -allen
        - Changed test for K5=0 to include other values of
          K5 besides 0 and 1. -allen


thanks Pierre!

allen

kwe@bu-it.bu.edu (Kent England) (03/28/91)

> From: whp4@cisco.com (Bill Palmer)
> 
> It should be K1 == K3 == 1, K2 == K4 == K5 == 0
> 
> By default, your metric won't change if your topology doesn't.  Only
> the truly brave who like solving non-linear feedback systems will want
> to play with K2, K4 and K5, I think.
> 

	Does cisco itself fall into the truly brave category?  I
remember not so long ago when cisco touted IGRP for its vector metric.
At that time there was no mention of the fact that most of those
values were zero and always have been.

	(Those truly interested in IGRP should read Chuck Hedrick's
description of IGRP from a couple of years ago.  I packed all my RFCs
for a move next week or I would be able to offer a place to find this
document.  Perhaps someone else could say?  Might be at rutgers in
anon FTP...  At any rate, a good description of the protocol and an
explanation of how the metric equations allegedly work.)

	--Kent

aggarwal@jvnc.net (Vikas Aggarwal) (04/01/91)

>         (Those truly interested in IGRP should read Chuck Hedrick's
> description of IGRP from a couple of years ago.  I packed all my RFCs
> for a move next week or I would be able to offer a place to find this
> document.  Perhaps someone else could say?  Might be at rutgers in
> anon FTP...  At any rate, a good description of the protocol and an
> explanation of how the metric equations allegedly work.)
> 
>         --Kent

The paper is available for anonymous ftp on nicol.jvnc.net (pub/igrp.ps
and pub/igrp.doc in postscript and text versions).


 -vikas
 vikas@jvnc.net						(609) 258-2403
--------------------------------------------------------------------------