Configuring a Conditional BGP Advertisement Feature

If you have already read article " Major inbound traffic control problem in real ISP market ", you will know why we need this solution. I should say this is NOT the best solution, but you might have this option on your mind in case it’s feasible. This option won’t fit on certain network condition. I will tell you why through below example.

Basically, whole idea is that once your primary connection goes down, secondary BGP will start announcing your block(ex, 63.55.x.x/24). In another word, whatever reason, primary connection is down, the ip route on the connection would be removed from BGP table, as long as BGP processor has detected the IP route is not on BGP table, it will trigger to second BGP speaker to start announcing the customer’s IP block(ex, 63.55.x.x/24).

Attention: Even thought primary BGP session is down, if your primary connection is not down, your secondary BGP speaker won’t start announcing the customer IP block (ex, 63.55.x.x/24). B/C, the IP block that is assigned on primary connection is still on BGP table. So, Metro Ethernet, frame-relay, etc, certain condition of circuit type won’t do any good job for this solution. Keep in mind and don’t blame me.
Also, it will have

See Pic 1.

Pic 1.

 

Once applied conditional BGP announement solution, only BGP is announcing customer’s IP block (63.55.x.x/24). And clearly, all the traffic will go through primary ISP connection.

Whatever reason, primary connection(serial link in this case) is down, Serial IP block(normally /30) will be removed from BGP table. And secondary BGP session will start announcing customer’s IP block (63.55.x.x/24) to Tier 2 ISP in this case.

I do see one minor issue would be propagation delay. We can change BGP hold timer to 12 sec (keepalive 4 sec) to fast convergence time. However, still propagation delay while ISP routers learn a new path. If BGP failed over with 1-2 minute down time, it is feasible solution.

Let’s see router configurations

Serial IP address with ISP "A" = 10.20.30.0/30
Serial IP address with ISP "tier 2" = 10.20.30.4/30
Customer’s route = 65.55.x.x/24

Customer router

interface Serial 1
ip address 10.20.30.1 255.255.255.252

interface Serial 2
ip address 10.20.30.5 255.255.255.252

 

Customer#sh run | beg bgp
router bgp 10
no synchronization
bgp log-neighbor-changes
redistribute connected
neighbor 10.20.30.2 remote-as 20
neighbor 10.20.30.2 timers 10 30
neighbor 10.20.30.6 remote-as 30
neighbor 10.20.30.6 advertise-map Advertise
non-exist-map non_exist
access-list 1 permit 65.55.x.x 0.0.0.255
access-list 2 permit 10.20.30.0 0.0.0.3

route-map non_exist permit 10
match ip address 2
!
route-map Advertise permit 10
match ip address 1

ISP "A" Router

interface Serial 1
ip address 10.20.30.2 255.255.255.252

router bgp 20
no synchronization
bgp log-neighbor-changes
neighbor 10.20.30.1 remote-as 10

ISP (Tier2) Router

interface Serial 1
ip address 10.20.30.6 255.255.255.252

router bgp 30
no synchronization
bgp log-neighbor-changes
neighbor 10.20.30.5 remote-as 10

 

 

Reference;
http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a0080094309.shtml


Leave a Reply