<div dir="ltr"><div class="im">On Fri, Apr 12, 2013 at 11:07 AM, Andrew <span dir="ltr"><<a href="mailto:andrew@vagabondballroom.com" target="_blank">andrew@vagabondballroom.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Say you have two houses near each other that want to share their Internet connections with eacth other as one wireless node. <div>


<br></div><div>So, for example, they could both connect to Neighborhood WIFI and get a connection that uses their combined bandwidth.</div>
<div><br></div><div>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. </div></div></blockquote><div><br></div></div><div>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:<br>

<br></div><div>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.<br>

<br></div><div>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.<br>

<br></div><div>For a <span class="">mesh</span>, 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.<br>

<br></div>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 <span class="">mesh</span>). It would serve to protect the people sharing their internet with the <span class="">mesh</span>
 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.<br><br><div class="gmail_extra">-- <br></div><div class="gmail_extra">Marc<br></div></div>