Load balancing in routers
Alex Rubenstein
alex at nac.net
Mon Apr 8 16:58:46 UTC 2002
A few comments:
> I don't think flow-caching is necessarily due to CEF.
CEF, afaik, is unaware of flows.
> Even on dinky 2500 & 2600 series where you don't run CEF,
Many people run CEF on 2600's, it's about the only way to get to the
cisco-advertised PPS on the box.
> load balancing over multiple links uses a flow-hashed method. If you
> want per-packet load distribution you have to specifically enable it by
> saying "no ip route-cache" on each interface.
That is very deadly, please, don't anyone actually try that.
CEF load balancing, IIRC, had two options, specifyable on a per-interface
basis -- 'per-packet', and 'per-destination'. Both have obvious meanings.
Newer IOS's seem to have a defaulting mechanism available in global config
mode, but being a weirdo, I don't trust it. I still specify on the
per-interface.
We use this in several scenerios, specifically for load-balancing T1's,
and it amazingly works well, with the links often being in balance to the
tune of 1 to 3%. I've seen similar performance at DS3 rates.
> Paul's statement about CEF is interesting. It's probably the first public
> statement I've ever heard where someone was praising CEF. Usually
> discussions about CEF are accompanied by liberal amounts of swearing...
I dunno; except for some silliness in 12.1(8a)E[1-4] on a MSFC2, we've
seen general goodness from CEF from 2600, 3600, 4700, 5300, 7200, 7500.
Then again, we're not UU or Sprint, and don't have the traffic loading
they do.
> Joe
>
>
> On 4/8/02 9:03 AM, "Iljitsch van Beijnum" <iljitsch at muada.com> wrote:
>
> >
> > On 8 Apr 2002, Paul Vixie wrote:
> >
> >>> I seem to remember fast switching was per-destination, and CEF was
> >>> round robin. But it seems CEF is now per-destination as well in IOS 12.2.
> >>> Round robin is optional.
> >
> >> CEF is flow-hashed, and the hash seems to include both source and
> >> destination, and seems to include the port numbers. This is by observing
> >> the behaviour of flows hitting various members of the F.ROOT-SERVERS.NET
> >> set, each of whom sends F's address to several upstream routers using OSPF.
> >> CEF works like a charm -- the load is never split by more than 45-55 and
> >> that's damn good for wire speed hashing in my view.
> >
> >> We used CEF in 11.x and it behaved the same way. It was never round-robin
> >> in any way we could observe.
> >
> > You're right. I was thinking of process switching.
> >
> > According to:
> > http://www.ils.unc.edu/dempsey/186s00/reorderingpaper.pdf
> >
> > packet reordering at MAE East was extremely common a few years ago. Does
> > anyone have information whether this is still happening?
> >
> >
>
>
-- Alex Rubenstein, AR97, K2AHR, alex at nac.net, latency, Al Reuben --
-- Net Access Corporation, 800-NET-ME-36, http://www.nac.net --
More information about the NANOG
mailing list