unequal cost load balancing?
Hi, we have a 5Mbps symmetric microwave uplink with one static IP and a /30 subnet. We're contemplating getting an additional ADSL connection to serve as backup. If the ISP cooperates, is there a way for me to load-balance and fail over between these two connections using BIRD? If so, how? (The DSL connection would obviously be asymmetric; the downstream direction would probably be a lot faster than 5Mbps, whereas the upstream direction would probably be somewhat slower.) Thanks! Andras -- Andras Korn <korn at elan.rulez.org> - <http://chardonnay.math.bme.hu/~korn/> It's best to be at the centre of things - then you get in everybody's way.
On Thu, Nov 26, 2009 at 12:54:15AM +0100, KORN Andras wrote:
Hi,
we have a 5Mbps symmetric microwave uplink with one static IP and a /30 subnet. We're contemplating getting an additional ADSL connection to serve as backup. If the ISP cooperates, is there a way for me to load-balance and fail over between these two connections using BIRD? If so, how?
Hmm, load-balancing and multipath is not implemented. The best thing you can do with BIRD is to have asymetric routing (one link preferred for upstream and the other for downstream), or prefix based load-balancing (some prefixes are preferred over one link and other prefixes are preferred over the other link). -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Thu, Nov 26, 2009 at 09:03:30PM +0100, Ondrej Zajicek wrote:
On Thu, Nov 26, 2009 at 12:54:15AM +0100, KORN Andras wrote:
Hi,
we have a 5Mbps symmetric microwave uplink with one static IP and a /30 subnet. We're contemplating getting an additional ADSL connection to serve as backup. If the ISP cooperates, is there a way for me to load-balance and fail over between these two connections using BIRD? If so, how?
Hmm, load-balancing and multipath is not implemented. The best thing you can do with BIRD is to have asymetric routing (one link preferred for upstream and the other for downstream), or prefix based load-balancing (some prefixes are preferred over one link and other prefixes are preferred over the other link).
Could you please describe prefering prefixes over one link with an example please? I happen to need this but haven't figured out yet. - Otto
On Thu, Nov 26, 2009 at 03:07:32PM -0600, Otto Solares wrote:
On Thu, Nov 26, 2009 at 09:03:30PM +0100, Ondrej Zajicek wrote:
On Thu, Nov 26, 2009 at 12:54:15AM +0100, KORN Andras wrote:
Hi,
we have a 5Mbps symmetric microwave uplink with one static IP and a /30 subnet. We're contemplating getting an additional ADSL connection to serve as backup. If the ISP cooperates, is there a way for me to load-balance and fail over between these two connections using BIRD? If so, how?
Hmm, load-balancing and multipath is not implemented. The best thing you can do with BIRD is to have asymetric routing (one link preferred for upstream and the other for downstream), or prefix based load-balancing (some prefixes are preferred over one link and other prefixes are preferred over the other link).
Could you please describe prefering prefixes over one link with an example please? I happen to need this but haven't figured out yet.
This can be easily done using BGP as a routing protocol - just use two BGP sessions, each over one link, export prefixes to both of them and set MED attribute accordingly. I don't know about clean way to do it using OSPF. I have two ideas, both are somewhat crazy: 1) run two OSPF routers on each side (Two virtual machines with separate BIRDs would work, perhaps even two BIRDs on one machine with some tweaking would work. Two instances of OSPF in one BIRD wouldn't.). Export some routes in the first router (say R1a) and other routes in the second router (say R1b). Both instances would be connected through some local interface), therefore you get topology like: R1a ----- R2a | | R1b ----- R2b (where | is a local links and ----- is a real links) You would connect R1a and R2a to kernel routing tables and adjust costs of links to get appropriate behavior. 2) run one OSPF router on each side, but two parallel instances of OSPF protocol, where both instances uses both interfaces (you would probably need to tweak source code of BIRD to allow change protocol number used for OSPF in the second instance). Use different cost in both instances and export some routes to the first instance and other routes to the second instance. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Thu, Nov 26, 2009 at 11:01:37PM +0100, Ondrej Zajicek wrote:
On Thu, Nov 26, 2009 at 03:07:32PM -0600, Otto Solares wrote:
On Thu, Nov 26, 2009 at 09:03:30PM +0100, Ondrej Zajicek wrote:
On Thu, Nov 26, 2009 at 12:54:15AM +0100, KORN Andras wrote:
Hi,
we have a 5Mbps symmetric microwave uplink with one static IP and a /30 subnet. We're contemplating getting an additional ADSL connection to serve as backup. If the ISP cooperates, is there a way for me to load-balance and fail over between these two connections using BIRD? If so, how?
Hmm, load-balancing and multipath is not implemented. The best thing you can do with BIRD is to have asymetric routing (one link preferred for upstream and the other for downstream), or prefix based load-balancing (some prefixes are preferred over one link and other prefixes are preferred over the other link).
Could you please describe prefering prefixes over one link with an example please? I happen to need this but haven't figured out yet.
This can be easily done using BGP as a routing protocol - just use two BGP sessions, each over one link, export prefixes to both of them and set MED attribute accordingly.
Ok.
I don't know about clean way to do it using OSPF. I have two ideas, both are somewhat crazy:
I don't use OSPF but nice to know. thank you! - Otto
On Thu, Nov 26, 2009 at 04:32:04PM -0600, Otto Solares wrote:
Could you please describe prefering prefixes over one link with an example please? I happen to need this but haven't figured out yet.
This can be easily done using BGP as a routing protocol - just use two BGP sessions, each over one link, export prefixes to both of them and set MED attribute accordingly.
Ok.
Somethink like: filter prefer_some_prefixes { if (net ~ [100.100.100.0/24, 200.200.200/24, ... ]) then bgp_med = 10; else bgp_med = 20; } used as an export filter in one session and with reverse values in the other session. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Fri, Nov 27, 2009 at 12:00:08AM +0100, Ondrej Zajicek wrote:
On Thu, Nov 26, 2009 at 04:32:04PM -0600, Otto Solares wrote:
Could you please describe prefering prefixes over one link with an example please? I happen to need this but haven't figured out yet.
This can be easily done using BGP as a routing protocol - just use two BGP sessions, each over one link, export prefixes to both of them and set MED attribute accordingly.
Ok.
Somethink like:
filter prefer_some_prefixes { if (net ~ [100.100.100.0/24, 200.200.200/24, ... ]) then bgp_med = 10; else bgp_med = 20; }
used as an export filter in one session and with reverse values in the other session.
Excellent! Thank you. - Otto
participants (3)
-
KORN Andras -
Ondrej Zajicek -
Otto Solares