Aggregating Broadband Connections
May 6, 2005 9:23 AM   Subscribe

My neighbors and I (there are 3 of us) all have either DSL or Cable modems. We want to use wireless accesspoints to aggregate our connections and give us more bandwidth. How?

Our houses are in a typical suburban neighborhood. I have a wireless connection with one neighbor already. I expect to use a "pringle's can" antenna to connect with another. I have done research into OSPF, Mesh Networks, and Dual WAN routers. I am either not seeing the answer or not understanding it. I have worked as an IT professional - so I am not a complete novice, but the answer is eluding me. Any help would be appreciated.
posted by wahootim to Computers & Internet (15 answers total)
What about just getting a single, faster connection, comparable to what all three of you are currently paying combined, and share that? Speakeasy has high bandwidth plans that would lend themselves well to sharing, and 6mbps is probably higher than three aggregated DSL/Cable connections anyway.
posted by jruckman at 9:38 AM on May 6, 2005

Response by poster: I appreciate the answer, but what is the fun in that? I realize that on a day-to-day basis we will probably never use the total aggregated bandwidth, but I can think of a few occasions that I would. I am hoping to eventually be able to extend the network to a number of homes (some with connections some without) and create a mesh network that continually extends our bandwidth capabilities.

Maybe it is a bridge too far, but I think it is worth a shot.
posted by wahootim at 9:44 AM on May 6, 2005

A mesh network would be pretty cool. Plus, no "landlord" responsibilities collecting dsl payments.
posted by mecran01 at 9:54 AM on May 6, 2005

Just quick off the top off my head, how about 3 bonded nics to each piece of the providers hardware? Plus one NIC for the wireless.
posted by mnology at 10:00 AM on May 6, 2005

Well, one relatively straight-forward way would be to add as many network cards as there are networks, and let your computer do the work. If you've got 2 ethernet connections and 1 wireless, for example, you get three enet cards and a wireless card. This isn't the best solution, but it's one of the easiest.

If you have one central server handling all the incoming connections, you can add an additional card (yeeeowza!) to an outgoing router to "serve" all the bandwidth to wireless clients. That's a boatload of network cards, though many motherboards come with one (sometimes two) built-in ethernet connections.
posted by Civil_Disobedient at 10:00 AM on May 6, 2005

posted by mnology at 10:01 AM on May 6, 2005

Hereabouts, the Cable company offers 3mbs connections standard. Additionally, the high-mortgage golf-course development where I live is peppered with IT professionals to the degree that my wireless sniffer in my home office picks up no less than 6 local networks (one of my neighbors is the regional VP for Cisco, for gosh sakes).

I, therefore, will be bookmarking and following this Ask.Mefi with great interest.

Initially, I wonder if a software solution will cause overhead to the point where you'll be getting more bandwidth out of your connection, but taking a hit in processing due to the load balancing.

If it's web surfing with which you're most concerned, there are some cheap/free web proxy clients out there that accelerate and distribute web traffic over insecure web proxies on the web. Of course, they have limited appeal to me because 1) I'm not a l33t hacker bent on obscuring my identity and 2) Most of the free web proxies out there have significant surfing limitations (i.e. no porn, dammit). I wonder if you couldn't have each of your partners install a simple web proxy on their machine (there once was a lightweight proxy for NT that worked under XP and 2003, but I forget where that came from -- manufactured by Microsoft, if that's any help). If you've got some Linux people in your group, there's a de facto web proxy that comes with most builds, but I forget the name, now.
posted by thanotopsis at 10:06 AM on May 6, 2005

Beyond proxying theres also queue based traffic shaping firewalls for Linux(iptables) and (Open|Free)BSD, pf. You could say "web traffic uses this NIC connected to the DSL line, p2p traffic uses the NIC connected to the Cable hardware". Network load balancing would also be something to look in to.

A solution like this would take an invested interest in learning these technologies of course. If you've got the time and the interest.
posted by mnology at 10:18 AM on May 6, 2005

Response by poster: There is a problem trying to draw back all of the internet connections to a single point - Sharing the bandwidth back out again. I know I can pull everyone's back to my own source and then play with it. That logically makes sense. Basically all you need to do is build a single linux box with as many NICs as internet connections. I see that.

But how do you share that bandwidth back out along the the same wireless links? Each node on this current network will have it's own connection and be connected via WAP back to other nodes.

What I was thinking was a routing protocol that can be loaded on a the WAP's firmware that load balances the connections. I have done reading on about Talisman - but I can't tell if that will do.
posted by wahootim at 10:24 AM on May 6, 2005

I am sorry to say that if you are thinking that combining say, 3 x 3 mbits internet connections will equal 9 mbits download speeds for one download, you won't get that. :-( (Okay, it *is* technically possible if you have access to both sides of the connection and can set up custom hardware and software... but that ain't happening!)

What you *can* do, instead, is take the three connections, run them all into one box, and run load balancing software to allow up to 3 simultaneous 3 mbit downloads on one computer. Personally, I use linux to do this with 2 connections myself. The new ip package works wonders and isn't tough to set up, if you're into linux.

I am certain there are windows solutions for this, but they are likely to cost money. :-)
posted by shepd at 10:43 AM on May 6, 2005

I'm not entirely positive but I think that for channel bonding to work both ends must have the same configuration. Since the OP is dealing with ISPs it isn't likely they'd be willing (beyond that, since they're different ISPs it is likely not possible). You could rig up a single machine to do load balancing across the various DSL/Cable modems. The result would be a single machine with the ability to send requests to the least-loaded connection. The downside is that the total bandwidth will never exceed the total bandwidth of the fastest modem in a sustained transfer.

As for wireless, it seems that most attempts at mesh networking face the problem that if a single radio is set up as a repeater the bandwidth it can move is effectively halved. If A and B are connected to each other and both are repeaters B will see half of what A has. If client C is attached to B, C will only have a quarter of the bandwidth which is available to A and so on.

In short, I don't think what you are looking to achieve is currently possible. You could come close using repeaters (WDS) as long as you kept the number of hops low. But even if the problems of repeating with a single radio were not an issue, you'd still only be able to route the traffic to the modem with the lowest load. The bandwidth would still not add together. The best you could probably hope to do is set up several access points with the same ssid/wepkey/whatever so that you and your neighbors (or other parties) can freely roam between them.
posted by darksquirrel at 10:45 AM on May 6, 2005

I don't think you need a separate server at all. All you need to do is set up each participant's cable-modem or DSL connected hardware with a web proxy.

Then, everyone uses proxy software that aggregates web queries over multiple proxies (cherry-picking the lowest latencies for multiple requests). Obviously, if you've got your own connection, you'll pick your own connection 9 times out of 10. But, if you're too busy on your own connection downloading the latest Paris Hilton video (yes, I know you), then it'll make requests from your neighbors' proxies instead.

The only real issue here is getting everyone to load up appropriate software. There's obviously free software as part of most Linux builds, but the Microsoft-friendly software is where I was hitting a choke point. I seem to recall "MS Web Proxy Server" being included with old versions of NT, but I can't track it down right now.
posted by thanotopsis at 10:48 AM on May 6, 2005

A similar situation is explored in this article by Robert Cringely at PBS. Again, this is only the first part of the equation (aggregating the bandwidth). But you could theoretically use the same setup in all three locations.
posted by zergot at 11:06 AM on May 6, 2005

But how do you share that bandwidth back out along the the same wireless links?

You can't. It's either a giver or a taker. This normally won't be a problem, since most wireless routers have an ethernet connection as well. So, one wireless card is specifically configured to connect to whoever's wireless you want to leech bandwidth from. Then you have an ethernet connection out to the wireless router, which serves everyone else.

I am sorry to say that if you are thinking that combining say, 3 x 3 mbits internet connections will equal 9 mbits download speeds for one download, you won't get that

Well, in a way this is correct and incorrect. When you send a packet via TCP/IP, it's over one connection -- it's not split up into three packets that get 1/3rd of the data. BUT! Many internet connections can utilize more than one stream--bittorrent, for instance. Each TCP/IP request goes over one network, but you're talking about a whole lot of packets. So, for regular web browsing, you're not going to see much of an increase in speed (I think most OS's are configured to max out at around 4 pipes, but the data is so small it won't matter). But for distributed file sharing, you would see an increase.

If, you know, you do that sort of thing. :)
posted by Civil_Disobedient at 11:35 AM on May 6, 2005

Idle thought: if bandwidth sharing is more trouble than it's worth (and it is looking that way), would automatic failover be a worthy goal? (If your connection dies, you fall back on one of your neigbour's connections - and they rely on you in the same way.) Seems that would be easier to accomplish, and still useful.
posted by Leon at 9:50 PM on May 6, 2005

« Older Why is Thunderbird messing up attachments?   |   Efficient computer tools: what would you put on... Newer »
This thread is closed to new comments.