On Fri, Apr 12, 2013 at 11:07 AM, Andrew
<andrew@vagabondballroom.com> wrote:
Say you have two houses near each other that want to share their Internet connections with eacth other as one wireless node.
So, for example, they could both connect to Neighborhood WIFI and get a connection that uses their combined bandwidth.
How is this possible? What's the best way to set this up so that other houses could join in and share their bandwidth as well.
Combining
bandwidth from two connections is not easy. The reason it's difficult
is that internet protocols to not contain the functionality to deal with
a connection that is coming from more than one ip address. There are
two ways to work around this problem:
1. Bundle the connections through a VPN. You use all of
the internet connections you have to connect to a single server
somewhere out in the world, then that server bundles the connections and
makes a single connection to the actual destination server. This is
definitely possible, but it's not easy to set up and it means that
you're paying for bandwidth.
2. Use protocols that can deal with multiple connections
to the same host. This is sorta possible with HTTP using some trickery.
You can make separate connections and fetch different assets of a web
page through different connections, or you can use http chunking to
fetch different parts of a a big file over different connections. I
believe some proxies support this kind of stuff, but there are some
caveats, such as dealing with servers that track your login session and
become confused when your IP is constantly switching. For bittorrent and
similar protocols there shouldn't be a problem.
For a mesh, the simple solution
is to let everyone use only one internet connection at any given time.
This can be based on location (use the internet gateway that is the
fewest number of hops away) or it can be based on some more complicated
metric, e.g. a combination of number of hops away and available internet
bandwidth.
The VPN solution is interesting, but it also creates a
single point of failure that we could do without (we can use more vpns,
but probably not as many as we have internet connections in the mesh). It would serve to protect the people sharing their internet with the mesh
from legal risk, since all connections to the internet would trace back
to the VPN. If one or more ISPs becomes pissed off at us for
encouraging people to share bandwidth (usually against their terms of
service) then it may make it easier for them to detect, since anyone
connecting to one of our VPNs would be an indication of sharing.