Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 May 1999 13:15:05 +0200
From:      ANDREAS.KLEMM.AK@bayer-ag.de
To:        "        -         *amb@gxn.net" <amb@gxn.net>
Cc:        "        -         *andreas@klemm.gtn.com" <andreas@klemm.gtn.com>, "        -         *freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "        -         *zebra@zebra.org" <zebra@zebra.org>, "        -         *kunihiro@zebra.org" <kunihiro@zebra.org>
Subject:   Antwort: Re: [zebra 553] OSPF eequal-cost paths, which algor
Message-ID:  <0006800011799081000002L012*@MHS>

next in thread | raw e-mail | index | archive | help
=0AHi Alex,

first of all: sorry, if you get some dirty characters, Lotus Notes cann=
ot be
configured,
to be pretty 7Bit ASCII compliant and readable :-/

Thanks for your nice answer. Could you perhaps point out, what actually=

happens.
Do I have 2 x 2 x 2 Mbit =3D 8 Mbit throughput for IP traffic ?

Or does the router decide to choose one route over one router pair ?

If the latter is the case, what criterium the router chooses, which pat=
h to use
?

The roundrobin functionaliy you mention I know from having _one_ router=
 and two
interfaces then turning on the fast cache, so doing processor switching=
. But
here
the question is, _how_ do the packets or sessions flow when having to r=
outer
_pairs_ ?!

Does OSPF really do something like roundrobin packet for packet (1st pa=
cket
uses
route over R1-R2, 2nd packet uses the other equal-cost path).

Another question is, when routing IPX, Appletalk and also turning on br=
idging,
it might happen, that one path is more loaded then the other (spanning =
tree).

Then the paths have the same OSPF cost, but are differently loaded, wha=
t
happens then ? Is one path preferred and after what algorithm ?

Thanks
 Andreas ///







amb@gxn.net on 28.05.99 11:00:07

An: kunihiro@zebra.org @ INTERNET, zebra@zebra.org @ INTERNET,
freebsd-net@freebsd.org @ INTERNET, Andreas Klemm@BAYERNOTES,
andreas@klemm.gtn.com @ INTERNET
Kopie:
Thema: Re: [zebra 553] OSPF eequal-cost paths, which algorithm, how

Andreas,

> I'm looking for the algorithm how OSPF does a routing decision and
> what kind of load balancing is been done, between the two 4 MBit
> leased lines, when OSPF has equal-cost paths like this.
> Cisco IOS 11.2 or 11.3.

Roughly:

When Cisco has (by any meothod) two equal cost routes installed in
the RIB (i.e. routing table), both get installed in the FIB (i.e.
forwarding table).

When a packet comes to be forwarded, generally some form of route cache=

is used, which is normally just a hash of the destination IP being
routed to (+/- hardware accellerated routing on higher end boxes,
CEF etc. etc.). However, occasionally (normally the first packet
*to* a given host) this caching algorithm will miss, and a lookup
will be made in the FIB. Where there is more than one entry, these
algorithm round-robbins between each of them (well actually I think
it may chose randomly between them, which is the same thing in
practice).

So if you enter "no ip route-cache" on the interface, you will find
packets (whereever they are to) round robin between the equal cost
routes, thus load sharing.

But when you have route-caching switched on (normally), you will find
all the traffic to a given destination goes the same way, but providing=

you have traffic to a large number of destinations, in practice
you get good load sharing (don't try putting 2 newsfeeds down 2 2Mb
lines this way though).

The situation is more complex when you have protocols like EIGRP which
will on later IOS versions do *non* equal load sharing. I believe what
they do then is tag the relevant load sharing weight onto the RIB
entry which propagates to the FIB and modifies the round robin algorith=
m.
However I have not tested this in practice.

--
Alex Bligh
GX Networks (formerly Xara Networks)




=


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0006800011799081000002L012*>