Showing results for 
Search instead for 
Did you mean: 

Load balancing MPLS circuits


I have an issue with load balancing between a single circuit at a remote site and 2 separate circuits, each going to it's own separate physical router in my DC. All circuits are managed by 1 single provider how ever the 2 circuits in the DC are through different telco companies. What I am seeing is that the first circuit that got installed has about 85% utilization while the 2nd circuit only about 20%. I have iBGP enabled and see routes on both routers and I am also using the same AS number across the board. The provider says they habe iBGP configured yet the utilization is not "painting" a true load balancing picture. Does anyone have any thoughts as to what could be the issue or is this the norm? 


Reza Sharifi
Hall of Fame Expert Hall of Fame Expert
Hall of Fame Expert

BGP does not load balance but rather load share and the load sharing is not 50/50.

Have a look at this link: 

Load Sharing When Dual-Homed to One ISP Through Multiple Local Routers

This scenario shows how to achieve load sharing when there are multiple connections to the same ISP through multiple local routers. The two eBGP peers are terminated on two separate local routers. Load balancing on the two links is not possible because BGP chooses the single best path among the networks that is learned from eBGP and internal BGP (iBGP). Load sharing among the multiple paths to AS 10 is the next-best option. With this type of load sharing, traffic to specific networks, on the basis of predefined policies, travels through both links. Additionally, each link acts as a backup to the other link, in case one link fails.



Reza, thanks for the link and explanation. One thing to note is there is a single router at the remote site with a single connection going to the mpls cloud. I have 2 routers in my DC that each have a single connection (different telco providers) going back to the same mpls cloud as the remote site. BGP on 1st router in DC uses AS #64501 and the BGP on the 2nd router uses AS # 64502. All remote sites use AS # 64500. I have the following entry in BGP on both DC routers "maximum-paths eibgp2

Your first post seems to contradict your second one. 

In first post you have same AS and are running IBGP but on second post each DC router has different AS. 

What sits behind the DC routers e.g. L3 switches and these devices exchange routes with the routers ?

sorry, the first post didn't outline everything correctly. The same AS # is used by all remote sites and then the routers in the DC use the ones listed above. Yes there is a 6509 that routes all my traffic in the DC

So does the 6509 see equal cost paths to the remote subnet ? 

no it does not. If I do a Sh ip route | i 10.x.x.x it only shows 1 route to that network.


BGP is only responsible to install the routes into the routing table. If you configure BGP correctly, you can install two or more equall routes in the routing table and I guess you have done it since you have some sort of load sharing.

After routes are installed in the routing table, CEF is in charge of load sharing. Depending on your switch model, the load sharing algorithms vary. You can tweak the load sharing algorithms to obtain a better load balancing result.

ip cef load-sharing xxx


So, you are running eBGP between 64501 and 64500 as well as 64502 and 64500 right?

You also have eBGP between 64501 and 64502 right?  So, where is iBGP running?

Can you post a quick diagram of your network? 


Reza, correct I am running eBGP between 64501 and 64500 as well as 64502 and 64500.

I am not interjecting routes between router 1 and router 2 in my DC.

on router 1, I am blocking any routes coming from AS 64502 and on router 2 I am blocking any routes coming from AS 64501. I did this so my routing tables on my routers would not get out of control.

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: