Re: Please help our simple bgp

2012-02-04 Thread Jimmy Hess
On Mon, Jan 30, 2012 at 8:27 PM, Ann Kwok  wrote:

> We discover the routes is going to ISP A only even the bandwidth 100M is
> full
>
> Can we set the weight to change to ISP B to use ISP B as preference routes?
> Can the following configuration work?
>

Tuning weights and  localpreference values can influence traffic that your
equipment sends _to_ ISP A and ISP B.   These options do not control what
incoming traffic  gets forwarded into your network _from_  ISP A or ISP
B;   you need a separate strategy for incoming bits.


The config you listed should do just what the vendor documentation says it
does, so I can't say it doesn't "work";  it just  does nothing to help
remedy the situation.

That is, if you have two ISP links each 100M full duplex;  and one of them
is at 100% outbound usage,   increasing the weight of all the other
neighbor's paths  assuming the set of prefixes received over BGP are the
same,   will mean that ISP B is the preferred next-hop for each path;
which means ISP A  outgoing utilization should drop to near 0,  and  then
ISP B  should be just as fully utilized as ISP A  is currently.



You could instead identify some specific paths that are heavy users or
would carry a high percentage of the outgoing traffic,   and  use
filters/route maps  to  adjust local preference  of specific paths,  to
take outgoing load off ISP A.

or  increase the weight for 128.0.0.0/1   on routes received from ISP B,
and allow your outgoing traffic  to rest of the address space  to utilize
ISP A, for example.


But the preferred fix for this problem would be to upgrade ISP A and ISP B
links to at least double their current capacity.



Weight is a vendor-specific parameter,  local to your router.  I would
consider increasing the default local preference for ISP A first, by the
way,


But as long as you only have one router on which ISP A and ISP B sessions
land,
when you have an identical prefix from ISP A and B,  the outgoing path
through
ISP B  is to be preferred by your local router,  if the path has a higher
weight.



"  What suggest to this weight no. too? "

With weights the magnitude of the numbers and the numerical difference
between weights is not significant;  it just matters if one path has a
higher weight, or both paths have equal weight.

I would suggest weights that are uniformly spaced apart and easy to
remember, e.g. 100 200 300 400.When you want to add  ISP C  later,  you
will also have flexibility  without re-assigning your existing weights.


If this works, how is ISP B upstream connection is down?
>
> Can it still be failover to ISP A automatically?
>
> If it won't work, Do you have any suggestion?
>
> Thank you for your help
>



-- 
-JH


Re: Please help our simple bgp

2012-02-03 Thread Matthew Reath
> Hello
>
> Our router is running simple bgp. "one BGP router, two upstreams (each
> 100M
> from ISP A and ISP B)
> We are getting full feeds tables from them
>
> We discover the routes is going to ISP A only even the bandwidth 100M is
> full
>
> Can we set the weight to change to ISP B to use ISP B as preference
> routes?
>
> Can the following configuration work?
> What suggest to this weight no. too?
>
>  neighbor 1.2.3.4 description ISP B
>  neighbor 1.2.3.4 remote-as 111
>  neighbor 1.2.3.4 weight 2000
>
> If this works, how is ISP B upstream connection is down?
>
> Can it still be failover to ISP A automatically?
>
> If it won't work, Do you have any suggestion?
>
> Thank you for your help
>

Ann,

I've done this for a few customers that have requested it. Some engineers
complain that advertising /24 routes dilutes the Internet routing tables,
which is true in some regards.  However, this does work in many situations
to "balance" things out.

Check out my blog post that walks through this procedure:
http://mattreath.com/2012/01/29/bgp-load-balancing/

-Matt


--
Matt Reath
CCIE #27316 (SP)
m...@mattreath.com | http://mattreath.com
Twitter: http://twitter.com/mpreath




Re: Please help our simple bgp

2012-01-31 Thread Jared Mauch

On Jan 30, 2012, at 9:27 PM, Ann Kwok wrote:

> Hello
> 
> Our router is running simple bgp. "one BGP router, two upstreams (each 100M
> from ISP A and ISP B)
> We are getting full feeds tables from them
> 
> We discover the routes is going to ISP A only even the bandwidth 100M is
> full
> 
> Can we set the weight to change to ISP B to use ISP B as preference routes?
> 
> Can the following configuration work?
> What suggest to this weight no. too?
> 
> neighbor 1.2.3.4 description ISP B
> neighbor 1.2.3.4 remote-as 111
> neighbor 1.2.3.4 weight 2000
> 
> If this works, how is ISP B upstream connection is down?
> 
> Can it still be failover to ISP A automatically?
> 
> If it won't work, Do you have any suggestion?

Please implement an AS-PATH filter on your outbound to your
upstreams blocking yourself from re-annoucing their routes to them.

You can see many of these cases here:

http://puck.nether.net/bgp/leakinfo.cgi

eg:

41.217.236.0/24 852 3561 6453 15399 15399 15399 174 3491 33770 36997 37063 37113

15399 (Wananchi Online Limited) is leaking their upstream (Cogent) routes to 
TATA (6453)

- Jared


Re: Please help our simple bgp

2012-01-31 Thread Fredy Kuenzler

Am 31.01.2012 04:06, schrieb Joel Maslak:

There are several ways to handle this is, if you have at least two
/24s of space.

Let's say you just have two /24s, both part of the same /23.

[...]


Sad to see that deaggregation is still propagated to handle this issue. As a 
matter of fact deaggregation pollutes the global BGP table with more than 
40% of rubbish, mainly caused by this silly type of traffic engineering. See 
the weekly routing table report or the CIDR report:



Analysis Summary


BGP routing table entries examined:  394446
Prefixes after maximum aggregation:  169250
Deaggregation factor:  2.33
Unique aggregates announced to Internet: 191523


There are many smarter ways to manage unbalanced links. See my slides 
presented on various occations (page 31 to 48) which describes the 
disadvantages and collateral damage of deaggregation:


http://www.swinog.ch/meetings/swinog23/p/03_BGP-traffic-engineering-considerations-v0.2.pdf

HTH,

--
Fredy Künzler
Init7 / AS13030



Re: Please help our simple bgp

2012-01-30 Thread Justin M. Streiner

On Mon, 30 Jan 2012, Ann Kwok wrote:


Our router is running simple bgp. "one BGP router, two upstreams (each 100M
from ISP A and ISP B)
We are getting full feeds tables from them


Are you sure you're getting a full table from each provider?  A full IPv4 
feed is close to 400,000 prefixes and a full IPv6 feed is getting close to 
8,000 routes.


It's also important to understand what the desired behavior is.  Do you 
want to use both upstream links, or do you want to use provider B only 
when provider A is down?  Based on your description above, I'm guessing 
you want to use both links at the same time.



We discover the routes is going to ISP A only even the bandwidth 100M is
full


BGP doesn't know or care about link utilization.  If all of your outbound 
traffic is using only one link, then it sounds like one (or more) of a 
few things is happening:


1. Provider B is only sending you a default route, or something less than 
a full table.  If that's the case, then you need to get provider B to send 
you a full table, or verify that your BGP import policy isn't rejecting 
most of what provider B is sending you.  Most specific route wins.
2. Provider B's routes are less preferred by your router for one or 
more reasons, with a longer AS path probably being the most common reason.
Check if provider B is doing anything like prepending routes before they 
send them to you (generally a bad idea, but I've seen stranger things 
happen).
3. You are taking some action on provider B's routes to make them less 
preferred, such as lowering the local-preference.  It might be helpful to 
post the whole "router bgp " section of your config, with any related 
items (route-maps, access-lists, prefix-lists, AS-path access-lists (if 
any, etc).



Can we set the weight to change to ISP B to use ISP B as preference routes?

neighbor 1.2.3.4 description ISP B
neighbor 1.2.3.4 remote-as 111
neighbor 1.2.3.4 weight 2000


If you are receiving a full table from both providers, you can write a 
policy to reset the local-preference on some of the routes you get from 
provider B to higher than the same routes you get from provider A.



If this works, how is ISP B upstream connection is down?

Can it still be failover to ISP A automatically?


If you receive a full table from both providers, you should be able to use 
either provider's link when the other one fails, with little to no 
intervention on your part.


jms



Re: Please help our simple bgp

2012-01-30 Thread Joel Maslak
On Mon, Jan 30, 2012 at 7:27 PM, Ann Kwok  wrote:

> We discover the routes is going to ISP A only even the bandwidth 100M is
> full

There are several ways to handle this is, if you have at least two
/24s of space.

Let's say you just have two /24s, both part of the same /23.

Option 1:

Announce m.m.m.m/24 with no path prefixing on ISP A.
Announce m.m.m.m/24 prefixed with your own ASN one or two times on ISP B.
Announce n.n.n.n/24 with no path prefixing on ISP B
Announce n.n.n.n/24 prefixed with your own ASN one or two times on ISP A.

Most of the internet would probably prefer A for m.m.m.m/24, and
prefer B for n.n.n.n/24.  But if either A or B went down, there would
still be a reachable route.

Option 2:

Announce m.m.m.m/23 on both ISP A and B
Announce m.m.m.m/24 on ISP A
Announce n.n.n.n/24 on ISP B

The n.n.n.n/24 which is part of m.m.m.m/23 would use ISP B for inbound
traffic, while ISP A would be used for m.m.m.m/24.  If either A or B,
the less specific /23 would provide a backup path.


> Can we set the weight to change to ISP B to use ISP B as preference routes?

Not really.  You may be able to set a community that controls how ISP
B advertises the routes or preferences your traffic.  Weights
generally aren't used for path selection.



Please help our simple bgp

2012-01-30 Thread Ann Kwok
Hello

Our router is running simple bgp. "one BGP router, two upstreams (each 100M
from ISP A and ISP B)
We are getting full feeds tables from them

We discover the routes is going to ISP A only even the bandwidth 100M is
full

Can we set the weight to change to ISP B to use ISP B as preference routes?

Can the following configuration work?
What suggest to this weight no. too?

 neighbor 1.2.3.4 description ISP B
 neighbor 1.2.3.4 remote-as 111
 neighbor 1.2.3.4 weight 2000

If this works, how is ISP B upstream connection is down?

Can it still be failover to ISP A automatically?

If it won't work, Do you have any suggestion?

Thank you for your help