Subject: Re: Bandwidth Aggregation
To: None <tech-net@netbsd.org, a.bocaniciu@computer.org>
From: Anthony de Almeida Lopes <guerrilla_thought@gmx.de>
List: tech-net
Date: 04/05/2005 00:32:17
Miles, I'd settle for KAME if it did does something like this (which I
need to actually invetigate still). If I can get some basic multipath
routing going on, that's a place to start.
As to Adrian's last comment about writing a daemon; that was actually
something I was considering. I was thinking, just for fun, I'd start by
writing a program that alternated routes every X seconds or X packets,
just as a userland daemon similar to what the 'route' utility does.
I want to go back to the tunneling idea for a second though. So I have
two tunnels here.. interface A and B and they both come out at public IP
C which does stateful NAT for us and what comes back in gets sent back
through the correct tunnel to it's respective interface and from there
to the application. So theoretically I don't have to worry about the
packets path back, nor about established TCP connections. So, assuming
this works, I could use something like libpcap to monitor traffic and
change the way traffic goes out. I haven't worked out the details yet
but I think these are interesting try for the education if not anything
else. I assume this may not be the most efficient way to do but I'm now
very much interested in the subject and as soon as I get some time I'll
get to work on code and research.
Well I want to thank the bunch of you once again for sharing your
experince and thoughts on the subject. I appreciate it.
- Anthony
Adrian Bocaniciu wrote:
>
> > My goal is to combine the bandwidth of two ADSL connections. Both
>
> Unfortunately I am not aware of any simple solution for this in
any *BSD. I just wanted to mention the fact that on Linux this can be
trivially accomplished by a single "ip route ... equalize ..." command line.
>
> I used that for some time on a router and it worked very well. At
some point I replaced Linux with FreeBSD on that router (as I needed
some packages whose versions were too old in the NetBSD pkgsrc), which
brought some significant advantages in other areas compared to Linux but
for the two external links I had to content myself to use one of them as
a backup, which automatically replaced the other link when it failed,
but without simultaneous sharing.
>
> It should not be very difficult to write such a program for link
sharing, it should be very similar to a NAT daemon, because the main
problem is to remember all the existing connections in order to be able
to send the subsequent packets of a connection on the same external
interface on which the first packet has been sent. Like I said, I am
not aware of such a program, but it could have appeared, as the last
time I searched for it was a couple of years ago.
>
> Best regards !
>