

Tunnel Splitter: Accelerating a single TCP connection over multiple ISPs - coderrr
http://coderrr.wordpress.com/2010/01/10/tunnel-splitter-accelerating-a-single-tcp-connection-over-multiple-isps/

======
noonespecial
Check out this simple way to do it with what's already on your linux box _from
before the turn of the century_. <=(spooky conan music with flashlight)

<http://lartc.org/howto/lartc.loadshare.html>

6 15Mbit connections from the same cable provider isn't likely to be much
faster for you than 2 or 3. They'll all be on the same segment.

Also, I don't know if its improved any in 7 but up until windows XP, the
packet reordering this setup will generate makes connections slower than the
slowest link. Unless you've got a non-windows os, this will make it worse.

~~~
coderrr
Yea I've never even tried this on windows, if I wanted to use windows with it
I'd set it up on a linux box and route my windows machine through that in
which case you wouldn't have the issue you described. EDIT: Ah I just realized
what you meant about windows and packet reordering. It's actually not an issue
with tunnel splitter because all packets will come in order. Tunnel splitter
uses N standard TCP connections to tunnel through. The actual data will come
to tunnel splitter out of order and it will deal with reconstructing the data,
not the OS.

As for the 6 15Mbps connections those were just arbitrary numbers I picked.
I'm currently stuck with sucky slower connections which is what I'm using it
with. And DSL not cable. I'm not sure what you say about cable is true though
since most cable modem speed cap is on the modem itself not at the ISP. At
least that used to be the case. Also if you were using different ISPs that
wouldn't be an issue, as long as they aren't sharing their network.

In terms of the pure linux routing solution, that is pretty interesting...
Does it require that the remote machine has two physical interfaces or could
you do the same with virtual interfaces like eth0:0 and eth0:1. Either way
there are a few drawbacks with that solution. It will send 100% of your
traffic through it rather than being able to selectively proxy. Also it only
round robins so there is no intelligent load balancing as there is in tunnel
splitter.

~~~
noonespecial
_In terms of the pure linux routing solution, that is pretty interesting...
Does it require that the remote machine has two physical interfaces or could
you do the same with virtual interfaces like eth0:0 and eth0:1. Either way
there are a few drawbacks with that solution. It will send 100% of your
traffic through it rather than being able to selectively proxy. Also it only
round robins so there is no intelligent load balancing as there is in tunnel
splitter._

Ahh.. read the mighty and mysterious tome of lartc just a bit deeper and all
will be revealed. The teql becomes an interface all its own and with the black
arts of packet-mark-itsu, and route-fu all this and much more can be
accomplished.

I actually tried to write a packet reordering buffer but one of my connections
had a pretty big latency so added together, my rtt became huge. My solution
was actually to use windows less, and route small interactive stuff like DNS
on the low latency, but slow connection.

Oh and virtual interfaces and vlans will both do just fine. I only ever had
one nic in my main box, my direcway modem and dialup-box were hooked to it via
a little switch.

Yes, I load-balanced a satellite link and a phone modem.

~~~
coderrr
cool, i'd be interested in hearing more on your setup, do you have your
routing scripts up anywhere?

------
dustingetz
" _Tunnel splitter also provides transparent redundancy if ISPs go down. It
uses a custom protocol on top of TCP to make sure all packets get delivered.
If 10 packets have already been sent out through ISP1 before it is determined
that it went down, they will be resent out through another link, so your
tunneled TCP connection will not drop._ "

This is absolutely INVALUABLE to online poker players where if they disconnect
in a big pot they can lose hundreds or thousands of dollars.

------
sruffell
At first glance, this sounds similar to Horde:
[http://www.usenix.org/events/mobisys05/tech/full_papers/qure...](http://www.usenix.org/events/mobisys05/tech/full_papers/qureshi/qureshi_html/horde-
mobisys.html)

~~~
coderrr
yea it does look similar, can't get their source downloads to work... have any
links?

~~~
sruffell
I probably should have posted this URL instead of the one I did:
<http://nms.csail.mit.edu/projects/horde/download.html>

