Load balancing in routers

joe mcguckin joe at via.net
Mon Apr 8 16:21:54 UTC 2002


I don't think flow-caching is necessarily due to CEF.

Even on dinky 2500 & 2600 series where you don't run CEF, 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.

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...

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?
> 
> 




More information about the NANOG mailing list