[c-nsp] BGP multihoming with redundancy config problem
Pete Templin
petelists at templin.org
Mon Oct 24 22:42:32 EDT 2005
Ganbold wrote:
>> Step 2: Remove ALL bgp "network" statements on your border routers,
>> and related Null0 routes. Let your core announce your prefixes "up",
>> so that if you lose a core-border link you don't end up in trouble.
>
> I'm a kind of confused. Maybe because I'm newbie to bgp.
> Will bgp work without "network" statement? How will load sharing and
> redundancy work in such case?
> Can you explain more about it to me? Can you share to me some working
> config if you have?
Let me flatten out your topology (because ASCII art doesn't always work
well with line breaks):
ISP1---BDR1---CORE1---CORE2---BDR2---ISP2
BDR1 through BDR2 are all in your ASN. Each of the BGP routers will
share routes with their neighbors. Since they'll share routes, only one
router has to "create" the BGP route. If it "creates" the route within
BGP, the others will learn it. You can announce the routes via the
"network" command (if the route is in the RIB, make a BGP route and
advertise it to neighbors), the "redistribute <protocol>" command (not
recommended, but if the route is in the RIB via <protocol>, make a BGP
route and advertise it to neighbors), and/or the "aggregate-address"
command (if a match or longer prefix is in the RIB, announce the
aggregate; I wouldn't recommend this either). However, I would
recommend announcing the route on both core routers, so that you can
interconnect core1 to border2 and core2 to border1, etc., and tolerate a
core router failure.
>> Step 3: Any chance you can NOT announce the /24s, but just the /19
>> instead? (Had to put a plug in for aggregation...)
>
>
> I can't do it right now. Some of those IPs are allocated for customers.
Here is where I get worried. If the /24s are in the /19, the /19 will
provide reachability. You don't need the /24 announcements in BGP for
these customers to be reachable. You can help save excessive growth in
everyone's routers by not announcing the /24s unless you have specific
needs for traffic engineering, or a /24 customer is themselves multihoming.
>> Step 4: What link were you breaking, such that failover wasn't
>> happening? If it was a core-border link, see step 2.
>
>
> It is a core-border link.
OK, exactly as predicted. Because the border router had a "network"
statement, during the test your network looked like this:
ISP1---BDR1 CORE1---CORE2---BDR2---ISP2
But BDR1 was announcing your /19 to ISP1 still, even though it had no
ability to deliver inbound packets to CORE1 and beyond. If you remove
the network statement(s) from the border routers, your network would
have looked like this (slid to the left for simplicity):
CORE1---CORE2---BDR2---ISP2
Now, both core routers are sending packets towards border2, and ISP2 is
the only ISP receiving packets destined for your prefix(es). The
flexible thing is you could (instead) conduct a failure on border2,
thereby reducing your network to:
ISP1---BDR1---CORE1---CORE2
>> Step 5: Do you have alternate connectivity between the LEFT part of
>> your network and the RIGHT part of your network? I'm a little worried
>> about your diagram at first.
>
>
> No, Core routers are connected directly with each other by gigabit
> ethernet interface.
OK, you may want to reconsider this as well. If the ONLY failure is the
gigabit link between core routers, you will also have problems. Your
network will look like:
ISP1---BDR1---CORE1 CORE2---BDR2---ISP2
Devices connected to core1 will send all outbound traffic towards ISP1,
but the responses could come in through ISP2 (BGP often leads to
asymmetric routing) where it can't be delivered back to core1, and vice
versa. Fully meshing your border and core routers would be a good idea.
pt
More information about the cisco-nsp
mailing list