0

At my organization we historically would get T1 ISPs at our POPs and take full table + default. BGP would simply "do it's thing" and for the most part everything worked out. There are instances where we have had heavily lopsided traffic even though AS path length is the same.

To make things easier to track we will do something such as:

  • BGP Peer ISP-A - Lower local pref, advertise all prefixes.
  • BGP Peer ISP-B - Normal local pref, prepend

In the routing table it looks like:

  • ISP-A 1111 174
  • ISP-B 1111 1111 1111 1111 1299

Ingress everything takes 174 for the most part (due to prepending), egress the same (due to local pref).

Let's say there's a special AS, 9999 which despite AS path lengths being the same is way better latency in ISP-B.

Correct me if I'm wrong here but I could take full table + AS 9999 on B meaning the traffic will prefer 'B' due it it having a more specific route since I'm only taking default from A (despite local pref). That will correct my egress situation but how can I fix ingress?

Is it possible to prepend to JUST one upstream ASN so normal traffic takes ISP A back except 9999 traffic? to make:

  • ISP-A 1111 174 4444
  • ISP-B 1111 1111 1111 1111 1299 4444
  • ISP-A 1111 1111 1111 1111 1111 1111 174 9999
  • ISP-B 1111 1111 1111 1111 1299 9999

If I'm unable to do that will most provider prepend on your behalf so that ISP-A would add the prepends for 9999 only?

Now to mix this up let's say another ASN, 7777 was in-between 1299 and 9999 but latency wise the route was still faster.

2

No, that doesn't work very well, and adding specific other ASNs to your prepend isn't possible in BGP at all. Prepending is a very poor method to steer inbound traffic, everyone is free to ignore that and decide for themselves which path they prefer to send traffic towards your network, just as you are free to determine your outbound paths.

What could work, but relies on the transit providers involved (and I personally have no experience with AS1299 but would expect them to offer this), is adding some communities to your routes what your upstream AS uses to advertise your routes to their peers. You can often ask them to prepend your routes a number of times to specific peers, in a specific continent, etc, or even not announce the route to specific peers. However, it all depends what your upstream implemented.

Still, in the end, if someone prefers the other upstream in their policies, there's not much you can do about it.

10
  • Thanks. Is taking default and letting BGP "do it's thing" the most common option? Also is there the concept of inbound local pref? May 21 at 15:47
  • As I already wrote, there is no such thing. Every network chooses its own outbound routing policy.
    – Teun Vink
    May 21 at 15:50
  • Taking a default is mostly useful if you’re just interested in connectivity, not the best outbound path. If that’s the most common option, I have no idea.
    – Teun Vink
    May 21 at 15:51
  • I guess the only sure fire way to FORCE an ISP (at least for active\passive purposes) is IP SLA tracking (when ISP A goes down bring up B). May 21 at 15:51
  • I'm also not understanding the point of the communities to set local preference. What's the point if it doesn't influence inbound policy? I get the communities that prepend but like you said that CAN be ignored May 21 at 15:53
2

There are a number of things you can do, depending on the router type.

One example is create a policy (route-map for Cisco folks) that selects routes from ASN 9999 and sets local pref higher (not lower) for that route.

That controls outbound traffic -- for inbound, you're at the mercy of the Internet, as @Teulvink says.

0

You can achieve selective AS prepend by using communities provided by AS1299 https://www.teliacarrier.com/our-network/bgp-routing/bgp-communities.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.