[c-nsp] Load balancing outbound traffic with BGP
Joe Pruett
joey at clean.q7.com
Thu Feb 28 13:30:56 EST 2008
On Tue, 26 Feb 2008, Jeff Chan wrote:
> Hi All,
> Given multiple, roughly equal upstreams (Sprint, ATT, Level3)
> providing full BGP tables to a small ISP, what's the best way to
> balance the outbound traffic? The problem is that all else being
> equal (path length, local pref, etc.) BGP decides to take the one with
> the lowest peering IP address. Given that the upstreams have
> many/most of the same customers and peers, the peer with the lowest IP
> address seems to win too often, meaning it does too much outbound
> compared to the others.
>
> I asked the same question some time ago and the common practice answer
> seemed to be prefer traffic for some other large networks (UUNet,
> Qwest, AOL, etc.) over the peers with higher IP address. Is this
> still the case? Seems kind of an ugly hack, but it works.
>
> Are there any other approaches? How about jumbling up or staggering
> the local preferences:
>
> ISP S:
>
> customers: localpref 120
> peers: localpref 110
> others: localpref 100
>
> ISP A:
>
> customers: localpref 110
> peers: localpref 100
> others: localpref 90
>
> ISP L:
>
> customers: localpref 100
> peers: localpref 90
> others: localpref 80
>
> Where S has the highest IP address, A next highest, L lowest. Haven't
> tried this; just a thought to try to compensate for the IP address
> decision.
the trick i have used is to use the always-compare-med and then twiddle
the med via route-maps where i use the second byte being even/odd to set
the med to 1 or 2. that way i get stability in routes and if i find my
bandwdith still isn't as balanced as i like, i can start matching on the
lower 3 bits of the second byte and split things up 3:5 instead of 4:4.
for 3 feeds, it would just be a little more thinking about how to set the
meds.
if you'd like to see my config for this, let me know.
More information about the cisco-nsp
mailing list