ADSL Bandwidth Aggregation w/ Multiple Accounts? 29
kernel_panic writes "Okay, I've been reading up on combining two or more SDSL connections together to give you one big fat pipe, but I haven't seen any references to doing this w/ ADSL. This place even manufactures a nifty little hardware device (ePipe) that combines two WAN ports for the aggregate sum. I've seen the Netopia 7000 Series routers support this capability as well, w/ an add-on card, but all of these places only mention accomplishing this w/ SDSL accounts. I've seen a lot of info on bandwidth load balancing, but I want bandwidth aggregation (inverse multiplexing). Has anyone had any experience doing this kind of thing w/ your Linux/BSD gateway boxen?"
What's the application? (Score:4, Informative)
I get the impression from your rejection of load balancing that you are more typically on the "client" rather than the "server" end of a connection. (Or maybe you're a server with only a single client, in which case load balancing probably doesn't help either.)
If you're a guy in his house who wants a fatter pipe to download single big files, you probably cannot get the folks at the server to install special equipment for you. If your ISP will help you to support aggregation by putting equipment on their end to hook into their upstream connection, that's not so bad, and some small regional ISP's do specialize in this. But you'll have to tell us where you are to get a recommendation for such ISP's.
single big files (Score:1)
If you have say 4 ADSL lines
Setup a proxy so that each request gets split up into chunks of 10k+.
then interleave the requests across all of your available lines.
0-10k from adsl 1
10-20k from adsl 2
20-30k from adsl 3
30-40k from adsl 4
etc...
there will be a slight overhead, but you'll still get at least a 3.5x as fat connection.
What exactly do you want? (Score:5, Informative)
Inverse Multiplexing would happen at the dsl modem level, not at the ip level. It would require inverse multiplex support at your provider's DSLAM, and you would probably be using multiple lines under a single account.
IMHO the best way for a residential consumer to get more bandwidth (and reliability) is to multi-NAT your home network. Sign up for a couple of DSL lines (maybe pretend to be stupid enough that you want a second DSL for another room in the house or something) and perhaps a Cable Modem hokoup for redundancy and a bit more bandwidth.
Into the ethernet jacks of each of the 3 or so modems, plug a direct crossover cable to seperate ethernet ports on your NAT/Firewall/Router box. A Sun Ultra 5 running OpenBSD with a quad fast ethernet card would work great.
Have your NAT box run three dhcp client instances to get IPs on all three interfaces, and have it run NAT for a private network on the back.
The last remaining part of the puzzle is having the gateway loadbalance the three available default routes per connection stream, either round-robin or by utilization.
Hopefully someone will reply with a pre-shink-wrapped answer to that part, and preferably on OpenBSD since I already mentioned it, but I guess ultrapenguin could work too
Re:What exactly do you want? (Score:2)
The last remaining part of the puzzle is having the gateway loadbalance the three available default routes per connection stream, either round-robin or by utilization.
and availability
Re:What exactly do you want? (Score:1)
Re:What exactly do you want? (Score:2)
Probably not - a DSL connection can share a line with voice service, but I'm pretty sure that that two dsl modems won't co-exist nicely on the same line. Seeing as even a single DSL connection is more than enough for a household in terms of average bandwidth use throughout the month - and most people want to aggregate just for occasional peaks, you should probably share with neighbors.
Do the Multi-nat aggregate above between you and your neighbors DSL (as many neighbors as you can get). By pooling your bandwidth assets, you're all paying the same as you used to for regular DSL service, but you all get a much higher peak bandwidth, at least for multiple streams (You'll be limited to a single DSL worth of bandwidth for one download, but if you download several things in parallel you reap benefits).
To avoid disputes over bandwidth usage, you could set up some shaping software on the nat box to gaurantee a minimum pipe to each neighbor even when someone else is trying to hog it all.
Possibility (Score:4, Informative)
Re:Possibility (Score:1)
I've done this on both redback and cisco routers MANY times... usually for added reliability over 2 lines, the added bandwith is just a bonus.
It depends on what you want (Score:4, Informative)
This would tipically be done on the data-link layer, but can also be done at the IP level.
If you can't change the software on the other end, you'd have to do the unification at the application layer. It depends on the application. Ex: for HTTP, you can balance the requests over the lines. When the size is known, you can do partial requests and balance these along the lines; for FTP, do PART requests for the pieces of the file. Expose a proxy for each application protocol. Not all applications can be adapted to take advantage of the multiplexing, however.
Outgoing easier than incoming (Score:5, Insightful)
Incoming packets are routed by your ISP to a particular IP address. That address is normally tied to a particular physical connection. Hence, you have very little ability to load balance. All hope is not lost, though. If you are load-balancing outgoing connections, then connections that you establish will be randomly distributed between your physical connections, giving an approximate load balancing. For incoming connections, you can use DNS to list multiple IP addresses for your hostname, allowing some load balancing across the connections.
Now the exact software configuration to acheive what is theoretical possible is a good question; I don't know.
Re:Outgoing easier than incoming (Score:1)
Unless there's some really paranoid packet filtering going on at your ISP, outgoing packets are routed without any concern for the source IP
Restating the obvious...
Of course this won't work, because due to the correctly paranoid packet filtering going on at your ISP, outgoing packets with an incorrect IP address as source address will be dropped at the soonest possible opportunity.
Just belabouring the point that there is a distinct problem with the lowering of the barriers of entry for the internet. The twits and heathens are coming from the bushes again...
Re:Outgoing easier than incoming (Score:3, Informative)
The most likely setup in this case is two DSL lines from the same ISP. Hence, the source IP will be from a valid internal IP address. Most likely, the filtering that the ISP has in place is at a slightly higher level in the network where it can't tell the difference.
Of course, that's just a guess, and you'll only be able to find out by testing it. If you have a box outside the ISP where you can monitor packets, then send it ping packets that are configured with a wrong source IP, but within the ISP's network. See if they get through. (I'm not sure what tool to use to do this; I happen to be looking for a packet generator to see if I can send unprompted ping-responses back through a firewall; I'm sure there's a good packet-generator program out there.)
Re:Outgoing easier than incoming (Score:3, Interesting)
Re:Outgoing easier than incoming (Score:3, Informative)
And the ISPs that I've been asking will never allow two links into the same house. None of them, so using the same IP address on two different ADSL or two different cable modems is not possible.
Re:Outgoing easier than incoming (Score:2)
Been thinking about this... (Score:1)
Are there any ISP's who sell service via VPN? (Score:2)
I looked a couple years ago. Since then I moved out of DSL range. I'm stuck in colo mode.
There's not much advantage if any to service via VPN over service via colo. So I'm not willing to pay much of a premium for the service.
Mostly I want it because it would be cool. Getting moderate bandwidth by aggregating a few crappy connections is somewhat cooler than making a Beowolf cluster out of a few crappy systems. My idea of cool is different than most people.
it's quite easy you know! (Score:3, Informative)
What I wanna know. (Score:2)
A few years ago, while working for one of the biggest network equipment vendors, I proposed this very technology. The proposal would use a variant of Multilink PPP for xDSL connections, I called it MPPPoE since the most immediate application would have been PPP over Ethernet ISPs. The plan was reviewed and determined to be technically sound as well as simple(read inexpensive) to implement in that vendors hardware offerings. However, the marketing division saw only a very limited market for this and the idea was abandoned due to "lack of interest".
What I'd like to know is if there are any vendors or more importantly, ISPs that are offering such service today. Was marketing right? I was sure that I had come up with a winner.
Good Google Thread (Score:4, Informative)
Here [google.com] is the most useful Usenet thread I found. It describes using multiple ethernet connections equalised as one connection..not round robin balanced as most other solutions seem to employ.
If you are using PPP links check out eql, if (like me) you want to use broadband routers, eql will not do it, as far as I can see.
ISB Pro800 Turbo (Score:4, Informative)
CHECK THIS OUT, 2 DSL\Cable lines into 1 BOX !
The ISB Pro800turbo is Nexland's flagship. It is the only box of its kind to feature dual modem ports faster browsing speeds by load balancing two broadband accounts. Mix, Cable, DSL, SDSL and/or T1 connections. Auto-Failover between ports.
The 8-port switch supports up to 253 computers making it easy to set up a small network in a snap. The Pro800turbo also contains Nexland's proprietary technology which allows unlimited IPsec tunnels over NAT.
Looks like it'd be alright...Haven't personally used it, but for $379 it can't be all that bad.
what i want to acheive... (Score:1)
Anyway, the biggest problem we have is limited uplink bandwidth. So want I think is the best is use the business link mostly for email/other important traffic. Then I will use the personal link for all other traffic.
The real question is, can this be easily acheived with a linux gateway?
Isn't ?DSL usually a contended service? (Score:1)
(as it is in the UK for cable and A/RDSL?
Which means both your lines are going to be sharing the bandwidth, like you do with the rest of the street.
So you can only do what you're trying to do if:
You can get uncontended lines, e.g. lines of different DSLAMs, or one ADSL, one cable, etc.
Dom