cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2700
Views
7
Helpful
4
Replies

BGP Load Sharing & Symmetric Routing Design (Padding, Local Pref, ?)

will
Level 3
Level 3

OVERVIEW: Customer has a web business, which has internet outbound traffic flow volume 15x of inbound (from internet) traffic. In other words when & if congestion occurs, it will be caused by traffic exiting customer DC to internet. This is a somewhat typical Internet model, where a 5KB client web request might result on average in a 75-100KB web response.

Customer has 2 identical routers as ISP gateways, each with 100Mbps connection to the internet, via different ISP’s. Each router is single homed to a different ISP and the 2 customer border routers are peering with iBGP. Customer can accept default, ISP AS, full routes, or any combination of routes from each provider. Communities exchanges are probably an option but i dont know yet what ISP supports. Customer is using a single pubic /24 prefix at location, so load sharing based on subnetting is probably not possible. ASx equals customer ASN.

PROBLEM 1: OUTBOUND LOAD SHARING:

Customer requests that outbound load be adjustable during peak volume days. For example, Cyber Monday! In other words, one ISP (Router1) is dominant for more traffic flows, and its outbound 100 Mbps link is getting congested. For some days of the year, be able to shift some of the outbound load to the other ISP (Router2), even the though the path may be longer.

My original proposal was to divide up the Internet IP space into 5 chunks (chunk 1 = 1.0.0.0 to 44.0.0.0). Then for all inbound prefixes starting with 1-44, Change local preference on the least loaded router to 120, for example. This would propagate among the iBGP partners such that hopefully, I would now favor 1/5 of the internet to go out the least loaded router. Next watch the outbound flows and if that wasn’t enough, do this for the next chunk2 (45.0.0.0 to 89.0.0.0). I could tweak this 5 times theoretically since I have 5 chunks.

Will this be CPU intensive? Is this not practical for other reasons? Is there a better way to do this? How do I maintain symmetric routing with this?

PROBLEM 2: ASYMMETRIC ROUTING:

Now that I directed 1/5 of the Internet out Router2 (least loaded one) using local pref as above, how do I adjust the inbound flows, which still favor Router1, such that the first chunk of IP’s will route inbound through Router 2 in a guaranteed sort of way? Asymmetric routing may be okay, but for things like voice traffic, it would be ideal to adhere to symmetric routing. Am I being too paranoid about trying to maintain symmetry? If this is a legitimate concern, how would do you accomplish this to allow flows to match paths?

PROBLEM 2 POTENTIAL ANSWER: Inbound & outbound AS Path padding

Possible answer: use AS-path padding for outbound & inbound flows. On Router1, for example, prepend ASx to the outbound PA, so that some AS’s (ASz) on the internet now see AS2 AS1 ASx ASx i, for example (4 hops). This should direct some of the traffic away from Router 1 for inbound flows. Next on all prefixes coming into Router1, append AS1 (ISP AS), so that Router1 sees AS1 AS1 AS2 ASz i, for example (4 hops). Since router 2 doesn’t have the prepend, it should favor all those routes which are 3 hops or less away from my AS. This should propagate to the ASx iBGP routers, which in some cases now would favor Router 2 for this traffic. Assuming inbound and outbound AS paths are the same but reversed, the routers affected should be the same for both inbound and outbound flows. Would this be 95%+ accurate?

SUMMARY: I hope the problem was stated clearly. I may be lacking some understanding, like how important (or not) symmetric routing is. Any feedback would be very helpful. Any design ideas outside of those above, such as using policy based routing, would be welcome. I am looking for the best way to do this. Thanks in advance.

4 Replies 4

Marwan ALshawi
VIP Alumni
VIP Alumni

Simply your assumptions and proposed solution is valid and correct

Another option you can research about it to automate the load on both links and routers based on link utilization is by using cisco performance routing PfR

Also if you want network/subnet A to be preferred over ISP 1 make sure you tag the route over ISP 2 with bgp community to make it less preferred after you obtain it from each ISP

Hope this help

If helpful rate

Sent from Cisco Technical Support iPhone App

Hi All,

i have some queries and hope you can help me, i have internet router connected with two different ISPs and i have one big subnet divid to two subnets, subnet-1&2, i have three designs for this scenario my qyeies what is the disadvantage and advantage for these designs:

1.  Symmetric routing design:

     i configure PBR  outgoing to send subnet-1 to ISP-1 and Subnet-2 to ISP-2 and for incoming i use MED or prepend

2. if i don't configure and PBR or BGP attributes for incoming and outgoing, each traffic all take the short AS for outgoing and incoming can consider it this symmetric or maybe the traffic go through ISP-1 and come back from ISP-2 if yes can you give example?

3. A symmetric routing:

i will not configure any PBR or BGP attribute for outgoing but incoming i configure MED or prepend to enfoce subnet-1 coming from ISP-1 and subnet-2 coming from ISP-2.

4. how performace RoutingPfR can help me and if there is a limitation for this feature like what the maximum bgp route can handle?

please need help for advantage and disadvantge

thanks 

No one can help me for my queires.

Hi steven, to do a lengthy comparison of the options is difficult. I can say that its impossible to control asymmetric routing. i was surprised by how much difference there is. i thought for example, that if i prepended/appended AS equally, i could obtain symmetric routing to some reasonable degree. but there are too many policies on two many routers and too many different ISP's. so trying to keep that under control is difficult.

That being said, i would go with option 2 in your scenarios and just use path prepending/appending to take care of balancing load in aggregate based on how much bandwidth you want in/out one isp or another. Option 2 is definitely pretty easy.

hope that helps,

Will

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Innovations in Cisco Full Stack Observability - A new webinar from Cisco