[j-nsp] Load Balancing via BGP outbound at Colo

Tim Nagy tnagy76 at gmail.com
Thu Mar 15 07:28:20 EST 2007


Hi Jack,

So, if I understand correctly, you'll have the following:

  Router A

A -----------1000Mb/s-------------- ISP #1
A -----------10Mb/s---------------ISP #2
A -----------10Mb/s---------------ISP #3 
A -----------10Mb/s---------------ISP #10
|
|
|  Router B
|
B -----------1000Mb/s-------------- ISP #1
B -----------10Mb/s---------------ISP #2
B -----------10Mb/s---------------ISP #3
B -----------10Mb/s---------------ISP #20 

You'd like to send and receive all traffic on the links to ISP #1 except for
traffic that terminates in ISPs #2, #3, #10, or #20. Is that correct?

For outbound, you can accomplish what you want using policies.  Your
policies could do the following:

--- Set local preference to 90 on inbound for all routes from ISPs #2, #3,
#10, and #20 _except_ for routes that terminate in the AS of each ISP. These
routes should have local preference increased to 110 in each case.

That policy will cause your routers to use ISP #1 for outbound traffic
except in cases where traffic terminates in one of the other four ISPs that
you're using, in which case it will flow direct. You can still keep
multipath enabled and your traffic will be load balance-eligible across all
redundant links for ISPs 1-3.

For inbound, things are more complicated.  The only way that you can really
influence your inbound traffic across multiple ISPs is through AS path
prepending. You could advertise all of your routes to all ISPs, but prepend
your AS multiple times to ISPs #2, #3, #10, and #20. That would reduce the
traffic flow in from those ISPs and make your ISP #1 links the primary
inbound points.

Some ISPs will "ignore" AS path prepending on directly attached autonomous
systems, which can easily be done by increasing local preference values on
all received routes from peers, so as to ensure that they can bill for
traffic flow across the links.  In this case, you need do nothing else,
since traffic sourced from or in transit through those ISPs would flow
directly to you across your non-GE links.

In other cases, however, ISPs take AS path counts into considerations for
all routes. Influencing that, then, is the issue. To make it work, ISPs
#2-20 need to have local preference values set higher than default for the
routes that you are advertising. RFC 1998, if the provider supported it,
would allow you to _lower_ their local preference, but it doesn't allow you
to raise the local preference. In short, the only sure-fire way to make sure
that locally sourced (or transit) traffic from ISPs #2-20 comes in through
the directly connected links is for you to ask them to increase their local
preference on the routes that they're receiving from you.

There may be other ways of doing what you want, but this is what immediately
comes to mind for me.

Regards,
Tim

-----Original Message-----
From: juniper-nsp-bounces at puck.nether.net
[mailto:juniper-nsp-bounces at puck.nether.net] On Behalf Of Loopback
Sent: 14 March 2007 5:23 AM
To: juniper-nsp at puck.nether.net
Subject: [j-nsp] Load Balancing via BGP outbound at Colo

All


We would appreciate some ideas for the best method of implementing limited
traffic engineering via BGP for our current network.  We have two EBGP
routers in the same physical location with and IBGP connection between them,

each are dual homed to 3 Tier 1 ISP's and single homed to one other ISP.
There
is very little transit traffic, almost all is outbound responses from
customer servers in our colo facility.


  Router A

A -----------10Mb/s-------------- ISP #1
A -----------10Mb/s---------------ISP #2
A -----------10Mb/s---------------ISP #3 
A -----------10Mb/s---------------ISP #10
|
|
|  Router B
|
B -----------10Mb/s-------------- ISP #1
B -----------10Mb/s---------------ISP #2
B -----------10Mb/s---------------ISP #3
B -----------10Mb/s---------------ISP #20 


We currently do not enforce any PBR, our outbound route selection algorithm
is default "shortest AS-PATH"  destination network with the addition of
"BGP Multi-Path" so that any return traffic to routes with equal AS-Path 
lengths will balance among all the connections with equal cost.


We are going to upgrade the bandwidth on the "ISP #1" connection to a GbE on
both routers and leave the others at the current bandwidth.  This will be 
much less expensive connection per Mb/s, for that reason we would like to
prefer it for the return path for all outbound traffic to any destination
that does NOT originate from with the AS of one of our other directly 
connected providers.  Our thoughts is that approach will combine both
routing efficiency and economy.

The question is the best method to accomplish this using BGP, and preferably
without having to coordinate MED's or Community values with our providers. 

Looking forward to hearing your opinions.


Jack

_______________________________________________
juniper-nsp mailing list juniper-nsp at puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp



More information about the juniper-nsp mailing list