Load Balancing between multiple BGP peer connections
Hi, How could load on multiple BGP peer links be balanced automatically? The situation we are facing: ---------------------------| | Service provider | | | --R1--------------------R2--- |\ | | \ E-BGP | | \ ----------------\ | | \| ----R3--------------------R4-| | Our Network | | (OSPF) | ----------------------------- The three links between our network and Service provider network are all 1Gbps. Now, we noticed that load on link R1-R3, R1-R4 is about 50% (in/out), but load on R2-R4 are about 90% ( in/out). How could we balance those load on the three links automatically? or must we tune the route mannually? Is there any technical guide on this? thanks in advance. Joe Send instant messages to your online friends http://asia.messenger.yahoo.com
[Wow, operational content - thank you!] On Sep 14, 2005, at 6:24 AM, Joe Shen wrote:
How could load on multiple BGP peer links be balanced automatically?
The situation we are facing:
---------------------------| | Service provider | | | --R1--------------------R2--- |\ | | \ E-BGP | | \ ----------------\ | | \| ----R3--------------------R4-| | Our Network | | (OSPF) | -----------------------------
The three links between our network and Service provider network are all 1Gbps. Now, we noticed that load on link R1-R3, R1-R4 is about 50% (in/out), but load on R2-R4 are about 90% ( in/out).
How could we balance those load on the three links automatically? or must we tune the route mannually?
It's not really clear whether the traffic is going mostly in or mostly out. In fact, it looks like you are 1:1 balanced from the paragraphs above. Inbound traffic and outbound traffic need to be balanced separately. I'll do inbound here, since that's slightly harder. If you need help with outbound too, let us know. First, what are you announcing to your SP? Is it just one big block? Or several? Second, does your SP accept MEDs? (And if not, maybe you need a new one? :-) If you have just one big block, split it up into multiple little blocks. Announce them with MEDs or prepend on some links and not others or just announce a subset on each link. Be sure to set NO_EXPORT on the little blocks, and announce the aggregate prefix on all links. You do not want the little blocks making it into the global table (wouldn't do any good anyway). It's not difficult to do, it's just a bit of trial-and-error to get right unless you have Flow Stats or something so you know where the traffic is going anyway. Outbound is a variation on this theme. Let us know if you need outbound help as well. Good luck. -- TTFN, patrick
Is the connectivity with 1 provider or 3 separate provider? The diagram and wording would seem like its the same. Patrick W. Gilmore wrote:
[Wow, operational content - thank you!]
On Sep 14, 2005, at 6:24 AM, Joe Shen wrote:
How could load on multiple BGP peer links be balanced automatically?
The situation we are facing:
---------------------------| | Service provider | | | --R1--------------------R2--- |\ | | \ E-BGP | | \ ----------------\ | | \| ----R3--------------------R4-| | Our Network | | (OSPF) | -----------------------------
The three links between our network and Service provider network are all 1Gbps. Now, we noticed that load on link R1-R3, R1-R4 is about 50% (in/out), but load on R2-R4 are about 90% ( in/out).
How could we balance those load on the three links automatically? or must we tune the route mannually?
It's not really clear whether the traffic is going mostly in or mostly out. In fact, it looks like you are 1:1 balanced from the paragraphs above.
Inbound traffic and outbound traffic need to be balanced separately. I'll do inbound here, since that's slightly harder. If you need help with outbound too, let us know.
First, what are you announcing to your SP? Is it just one big block? Or several?
Second, does your SP accept MEDs? (And if not, maybe you need a new one? :-)
If you have just one big block, split it up into multiple little blocks. Announce them with MEDs or prepend on some links and not others or just announce a subset on each link. Be sure to set NO_EXPORT on the little blocks, and announce the aggregate prefix on all links. You do not want the little blocks making it into the global table (wouldn't do any good anyway).
It's not difficult to do, it's just a bit of trial-and-error to get right unless you have Flow Stats or something so you know where the traffic is going anyway.
Outbound is a variation on this theme. Let us know if you need outbound help as well.
Good luck.
-- ------------------------------------------------------ Tom Sands Chief Network Engineer Rackspace Managed Hosting (210)447-4065 ------------------------------------------------------
On Sep 14, 2005, at 2:27 PM, Tom Sands wrote:
Is the connectivity with 1 provider or 3 separate provider? The diagram and wording would seem like its the same.
Good point. My post assumed all three links were to the same upstream. -- TTFN, patrick
Patrick W. Gilmore wrote:
[Wow, operational content - thank you!]
On Sep 14, 2005, at 6:24 AM, Joe Shen wrote:
How could load on multiple BGP peer links be balanced automatically?
The situation we are facing:
---------------------------| | Service provider | | | --R1--------------------R2--- |\ | | \ E-BGP | | \ ----------------\ | | \| ----R3--------------------R4-| | Our Network | | (OSPF) | -----------------------------
The three links between our network and Service provider network are all 1Gbps. Now, we noticed that load on link R1-R3, R1-R4 is about 50% (in/out), but load on R2-R4 are about 90% ( in/out).
How could we balance those load on the three links automatically? or must we tune the route mannually?
It's not really clear whether the traffic is going mostly in or mostly out. In fact, it looks like you are 1:1 balanced from the paragraphs above.
Inbound traffic and outbound traffic need to be balanced separately. I'll do inbound here, since that's slightly harder. If you need help with outbound too, let us know.
First, what are you announcing to your SP? Is it just one big block? Or several?
Second, does your SP accept MEDs? (And if not, maybe you need a new one? :-)
If you have just one big block, split it up into multiple little blocks. Announce them with MEDs or prepend on some links and not others or just announce a subset on each link. Be sure to set NO_EXPORT on the little blocks, and announce the aggregate prefix on all links. You do not want the little blocks making it into the global table (wouldn't do any good anyway).
It's not difficult to do, it's just a bit of trial-and-error to get right unless you have Flow Stats or something so you know where the traffic is going anyway.
Outbound is a variation on this theme. Let us know if you need outbound help as well.
Good luck.
-- ------------------------------------------------------ Tom Sands Chief Network Engineer Rackspace Managed Hosting (210)447-4065 ------------------------------------------------------
participants (3)
-
Joe Shen
-
Patrick W. Gilmore
-
Tom Sands