On Thu, Jan 19, 2012 at 6:27 AM, Deric Kwok <deric.kwok2000@gmail.com> wrote:
We are planning to have 3 x 1G bgp connections (full tables) eg: Path A, B, C
Can I say that we have 3G output totally?
Sure.
From my understanding, the bgp chooses the best path to route automatically
It doesn't. It typically chooses the path with the least number of autonomous systems for a given destination. That can actually result in longer physical paths in many cases. Let's say provider C buys bandwidth from A and B (and nobody else). If that's the case, you will only use C for things directly connected to C's network (typically only things that pay C), but every other internet destination would use A or B. (unless you adjust things to not do this).
If the path A is best route and that path 1G bandwidth is used up, will bgp try to use path B and path C automatically?
No, with one caveat. If you fill up the pipe enough that routing messages don't get through, those routes will eventually time out and the path won't be used at all.
How can I use up those 3G?
You will need to manually adjust routes, preferences, etc. You'll still have one path that is hotter than the others (although hopefully not too much hotter). Are you worried about incoming or outgoing bandwidth, or both? For incoming, you will need to do things like: 1) Announce all of your prefixes aggregated out all 3 links 2) Announce parts of your prefixes out ONLY ONE link. So announce /24 #1 out A, /24 #2 out B, /24 #3 out C. This means you're forcing incoming traffic to generally come in one link per /24. The problem with this is that a really active /24 will get more traffic still. It also requires you to have at least 3 /24s (you can't route longer prefixes, which means you can't route PART of a /24). For outbound, the easy and obvious way would be for your providers to just announce 0/0 to you and for you to do some sort of flow-based load balancing. But if one provider had reachability problems, you'd go down. So without that, you'll have to adjust the preferences of incoming routes. Alternatively use BGP multipath and buy from one provider (and connect to the same router on the provider side). Bandwidth from one provider isn't necessarily a horrible thing, if you pick a good one provider. Even with multiple BGP feeds, unless you are really, really careful (and, most likely, spend tons of money for things like fiber redundancy so the different fibers don't all end up on one pole or going into the same telco building) you'll still have single points of failure.