Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 May 2002 02:13:36 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        "Vladimir B. Grebenschikov" <vova@sw.ru>
Cc:        Oleg Chebotarev <chebotarev@yahoo.com>, freebsd-current@FreeBSD.org
Subject:   Re: multi default routes in freebsd !?
Message-ID:  <3CEA0FC0.E71EC770@mindspring.com>
References:  <20020521032746.14287.qmail@web11607.mail.yahoo.com>  <3CE9DD37.88DDCABC@mindspring.com> <1021965925.557.9.camel@vbook.express.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
"Vladimir B. Grebenschikov" wrote:
> There are some algoritms, for example round-robin
> It is not a problem if you assign two equal routes you know what you
> want.
> 
> If you have two links to one provider and want to balance outgoing
> traffic it is much better to do it with to similar routes.
> 
> > Shouldn't you just use BGP instead?  That's what it was designed
> > to support.
> 
> OSPF have equal cost multupath, An BGP too (If I not mistaken)
> so lack of kernel support of more then one route for one destination
> is not good.
> 
> Zebra on Linux can do OSPF equal cost multipath but on FreeBSD cant.

Sounds like a problem with Zebra...

FreeBSD supports BGP just fine.


> Times ago there was hack for multipath routing on:
> ftp://ftp.flirble.org/pub/unix/hacks/FreeBSD/mpath/
> but it seems this page now removed.

It's there still (drop the "mpath/" suffix).  It's an OK hack,
but it's a hack (though I'd have to say it's probably worth
integrating into FreeBSD by default so it doesn't get stale,
and it's not "lost").


Multipath routing is not as useful as you imply.  Neither is
round-robin'ing between a set of paths.  It assumes that the
pool retention time on the router is longer than the drain time
for a single path, such that you end up with a higher aggregate
throughput than you would otherwise get.  Most of the time,
with what you are suggesting, you will get the same throughput,
you will just get differential pipe utilization (using B == !A).
When this isn't the case, the amount of latency for a single
path is such that you end up with only a small fractional
improvement, when there is any improvement at all.

The primary failure of this is that it can't detect when a
route goes down, so you are screwed when that happens.

You are much better off using BGP.

If you absolutely refuse to use BGP for some reason which you
absolutely refuse to post to the list, you should consider using
PPPOE and multilink PPP in combination (both are Netgraph nodes).

Even so, you will be screwed when one of your links goes down;
this isn't the case for the original design of mpd (multilink
PPP daemon), since it got to notice carrier loss.  Over a fixed
link, there's no notification (and I guess you could have a path
outage without carrier loss even in the mpd case, but it's unlikely).

There is also a VRRP implementation for FreeBSD.  I've posted
the URL for it before.  In combination, Virtual Router Redundancy
Protocol *and* multipath are, together, roughly equivalent to
using BGP (assuming both your routers are running the VRRP code).
Also, that's assuming you guess correctly on the relative metrics,
when you have asymmetric path speed within the set of paths you
are trying to use, and set up both paths to fail over to each other
with the VIP of the two "routers".

BGP is a better idea (of course).

You might also consider using BGP.

And have I mentioned BGP?  8-) 8-).

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3CEA0FC0.E71EC770>