BGP conditional route advertisement

Unanswered Question
Jan 16th, 2009

Hi all,

I am trying to get a technical solution for the following failure scenario:

- two PoP's in a provider network connecting to same customer at two different locations.

- both PoP's connect back to the core of the provider network with a low bandwith and a high bandwidth link each.

- there is no inter-pop connection in the provider network.

- provider and customer use BGP to peer at both PoP's. Provider is advertising to customer the same prefixes at both PoP's. Provider is not manipulating MED on these prefixes.

Now assume that inbound traffic from the customer comes at PoP1 in the provider network. Let's assume that this is the case because customer has configured so manipulating local preference within their AS.

Now imagine that the high bandwidth link connecting PoP1 with the core of the provider network goes down. Only the low bandwidth link remains. So at PoP1 still BGP peering is up and prefixes are being advertised to the customer as before. Customer traffic did not see any failure into the provider network so still uses PoP1 as the entry point.

But it would make sense that customer traffic reacts to the failure into the provider network ans shifts to PoP2 where we still have the high bandwidth link into the provider core.

- how could I (myself being the provider) influence inbound customer traffic so that it moves from PoP1 to PoP2 if due to link failure into the provider network PoP1 gets sudden bandwidth reduction into the provider core ?

Another scenario about same idea: imagine both PoP's connecting into the provider core using 2 Gig links each. If one Gig link fails at the PoP getting all inbound customer traffic again it would make sense to get the customer inbound traffic at the 2nd PoP where still the two Gig links are available. But unfortunatelly customer is sending their traffic into the "wrong" PoP . How can I tell them to change their preferred PoP depending of internal failures into my provider network ?

Thanks in advance for your time and your suggestions.

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Edison Ortiz Sun, 01/18/2009 - 09:28

BGP on itself does not possess the metric to determine high/slow speed links.

Without knowing the Provider Core topology, I will assume it's running some kind of IGP. If the high speed link goes down, the IGP will redirect the traffic to the next highest speed link available to service communication between point A & B.

In your case, to shift traffic from PoP1 and use PoP2 for transit, an iBGP session must be made between these 2 PoPs to inform that PoP2 is the second best path.

The customer will still utilize PoP1 as the first hop, but PoP1 will have a best path for PoP2 on the iBGP session based on information provided by the IGP Provider Core.

This is just a general overview on how to approach this design. A design like this can take hours/weeks in the making..




pkpatel Mon, 01/19/2009 - 09:07

Diagram will certainly be helpful.

In meantime, based on my interpretation, since the customer is two different locations, it seems like they have iBGP between their two routers (Let's say CR-A Connects to PoP1 and CR-B conencts to PoP2).

With iBGP between PoP1 and PoP2, you can do conditional advertisment out of PoP1 to CR-A based on high speed link back to core. In other words, stop advertising routes from PoP1 to CR-A when the hig-speed link to core from PoP1 goes down. In that situation, PoP2 is still advertising routes to CR-B which in turn advertise them to CR-A.

On Customer side, they will have to put higher local preference on routes learned from PoP1 so when high-speed link is up, customer traffic will be sent out of CR-A to PoP1.

Mohamed Sobair Tue, 01/20/2009 - 00:20

Hi Paresh,

This is True,but still having IBGP between both POPs wont influence downstream traffic from the client towards the POPs , Mean 2 say you can conditionally advertise the Provider Network to the client from each POP, but still the client has to go to his preferred upstream path. ie:

client -- PoP1 --- P

-- Pop2 ---

If the link from PoP1 to the P fails assuming its the low speed link, then the client has to go to PoP1 --- PoP2 and finally reach the P. I mean its not possible to influence the client upstream path.




This Discussion