[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