I am sure this has been discussed many times, but I will ask again. I have two 3725 routers which comprise my network edge. The two routers are running an iBGP session with a common ASN. Each router is connected to a different ISP and each is accepting a full route feed. As I understand it, the current memory recommendation for a single full BGP feed is a router with at least 256MB of memory. My first question is this. Each router has 256MB of memory. Since they are trading routes via iBGP, is there a need to have enough memory available to handle a third feed? Better put, since each router has two BGP neighbors, does each router need to have enough memory to support dual BGP feeds? In my estimation that would be more like 512MB or memory to do this. These routers have run well for a long time but have recently started to have memory allocation errors. I think things are changing such that the route tables are just not being handled by 256MB of memory anymore.
I know you can implement AS path filters inbound to only accept your ISPs routes and the routes of their directly connected ASs along with a default route to reduce the size of the BGP/forwarding tables. One thing about this approach is that one router is set up really like a backup as it does not have the outbound BW to handle a ton of traffic. The primary router has a DS3 link so obviously thats the one I want traffic to move through. My second question is this. By going with the filtered approach, it seems to me that since both routers no longer have a full feed and just a subset of that feed, much of my outbound traffic will be sent over the minimal BW link and I will not be able to control it with any success. Is this correct? And is there a better way to reduce BGP memory usage? BTW I am using AS path pre-pending to wieght the path through my secondary router so that majority of my traffic is sent through the primary inbound from the Internet. Just looking for some advice on the best way to reduce the BGP memory usage so I can avoid buying new gear.