Re: [nsp] BGP and Memory Requirements

From: George Robbins (grr@shandakor.tharsis.com)
Date: Tue Sep 05 2000 - 15:58:18 EDT


> From: Steve Lilley <slilley@thrupoint.net>
> To: Cisco NSP List <cisco-nsp@puck.nether.net>
> Subject: [nsp] BGP and Memory Requirements
> X-Mailing-List: <cisco-nsp@puck.nether.net> archive/latest/3565
>
> Sorry about the cross-post to this list and the Cisco Spot list;
> I only discovered this list yesterday! Anyway...I'm hoping that
> someone with direct experience can provide some feedback!
>
> 1. The Internet routing tables are now approaching 88K routes.
> How much memory is required to handle this? I thought 64MB was
> still sufficient, but just last week I had a 4700M with 64MB of
> DRAM start bouncing once it reached about 82K routes (with a
> memory allocation failure). This repeated itself over and over
> again until the BGP session was shutdown.

It depends, but the answer is usually "more" - the first issue is
whether your particular IOS is running from flash or DRAM, and
especially if RAM, then which router family and feature set.

Basically, the more features and devices your IOS needs to support
in it's monolithic image of choice, the more DRAM needed.
>
> The million dollar question is: what is the minimum memory
> today for full routes? There's probably several answers to
> this question, depending on how close to the edge you want to
> run. Realizing that we'll hit 100K routes around the end of
> THIS year, I choose to be conservative! :-) The other aspect
> that confuses me in the amount of memory used for BGP in the
> output of the "show ip route summary" -- it usually shows
> something like 18MB, but I know the forwarding (FIB) table is
> close to 45MB, so this number doesn't make any sense.

BGP is BGP info, the actual routing/forwarding info needs a separate
accounting.

> 2. When taking full routes from multiple sources on the same
> router (say two or three different providers), it is logical
> that this would require more memory, but it doesn't appear to
> require much more memory at all. I've got routers taking two
> Internet views, and they are using slightly more memory (about
> 6MB) than those taking a single view. What's the deal?

A lot of the information turns out to be the same, except the next-hop,
the BGP information is stored fairly efficiently. For instance AS
paths are held in a table with one entry for each unique path, and
only a table index needs to be store with the "route" info.

> 3. Lastly, when applying BGP route filters (such as prefix
> filters) to incoming routes, aren't the filters applied as the
> routes are entered into memory? An example will help:
> shouldn't I be able to get away with MUCH less memory if I'm
> denying any routes larger than a /21 (i.e. permitting only
> /8 - /20, which gets the number of routes down to less than
> 18K BGP routes). If this is true, theoretically I should be
> able to use a trusty 2500 router with with 16MB of DRAM and
> (massive) filtering to take the full routing table and filter
> it down. Is this accurate? (Not that *I* would ever do such
> a thing with a 2500, but perhaps someone else on this list
> has?)

Yes, as long as your're not doing soft-reconfig in. In many cases,
you *don't* need full routes to make intelligent decisions about
routing, so if you're router can't handle it, limit external prefixes
to something like /20's and let your upstream worry about the details.

> Any feedback would be greatly appreciated!

                                                George



This archive was generated by hypermail 2b29 : Sun Aug 04 2002 - 04:12:16 EDT