Slashdot Mirror


ADSL Bandwidth Aggregation w/ Multiple Accounts?

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?"

29 comments

  1. What's the application? by shoppa · · Score: 4, Informative
    In order to really make a single fat pipe you need hardware and/or software at both ends of the connection to do the aggregation. Are you connecting, say, a remote business office with headquarters? If so, the Stallion approach you already mentioned should work fine, as you can coordinate the equipment on both ends.

    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.

    1. Re:What's the application? by Anonymous Coward · · Score: 0

      > 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.

      Even with large single files you can do load balancing by using multiple connections to download the file, one connection by modem is the minimum but more is faster.
      Test this with pget (eg. in lftp). This works with multiple_connection-aware protocols like ftp or http 1.1 .

  2. What exactly do you want? by photon317 · · 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 :)

    --
    11*43+456^2
    1. Re:What exactly do you want? by pangloss · · Score: 2

      yay, comrades in arms. i was trying to find a solution for this awhile back with my openbsd box. i figured i could hook up my cable modem and my neighbor's dsl for a) a fatter pipe, but mostly b) reliability--in case one of the services goes down.

      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 :)

    2. Re:What exactly do you want? by craqboy · · Score: 1

      I have adsl and was wondering if it would be possible to purchase a second dsl modem and use the same telephone line that my first dsl modem is using in order to have two dsl modems online at the sametime. Would this be possible?

    3. Re:What exactly do you want? by photon317 · · 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.

      --
      11*43+456^2
  3. Possibility by Laverda · · Score: 4, Informative

    It seems possible to use a linux (or my preference -- OpenBSD) to NAT one or more internal addresses and round-robin each outgoing TCP connection from the NAT box -- alternate them between your two separate external addresses. Should be a pretty simply change to OpenBSD's pf NAT code -- if it isn't already there. Perhaps this could get you some higher incoming speeds? Maybe some coding here -- but it seems reasonable. Your internal machines should not care from which ADSL interface the traffic comes through since it's being NATed anyway. You just won't be able to load balance a single TCP connection.....

    1. Re:Possibility by drew_92123 · · Score: 1

      Right, it is possible to cause both ends to round robbin. My guess would be since this is ADSL that your more worried about download speeds. If your connections are both from the same ISP simply tell them what you want, if they play stupid and say it can't be done tell them you need both lines connected to the same router on their end(the same cisco, redback, assured access, whatever they use) and that you want the same IP addresses assigned to each account. Then tell them you want 2 default routes from them to you, AND that they MUST be weighted equally. There, problem solved...

      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. :-)

  4. It depends on what you want by Khazunga · · Score: 4, Informative
    If you really want to unify the various pipes into one big fat pipe, you'll need software on both ends. The software can act on any layer of the network stack, and unify the bandwidth for the layers above.

    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.

    --
    If at first you don't succeed, skydiving is not for you
  5. Outgoing easier than incoming by crow · · Score: 5, Insightful

    Outgoing packets can be sent out either connection. Unless there's some really paranoid packet filtering going on at your ISP, outgoing packets are routed without any concern for the source IP, so there's no theoretical reason why you can't have 100% load balancing across your connections for outgoing traffic.

    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.

    1. Re:Outgoing easier than incoming by Myrcurial · · 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...

    2. Re:Outgoing easier than incoming by crow · · Score: 3, Informative

      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.

      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.)

    3. Re:Outgoing easier than incoming by sudog · · Score: 3, Informative

      No, ISPs that don't do ingres filtering (filtering out packets that are not from their internal pool of IP addresses) need to be shot. They're mostly to blame for any IP spoofing that still goes on.

      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.

    4. Re:Outgoing easier than incoming by xiox · · Score: 3, Interesting

      I think nmap can make packets with forged source addresses.

    5. Re:Outgoing easier than incoming by crow · · Score: 2

      I actually know someone who has two cable modems because he didn't get enough bandwidth with just one, so I assumed that the question was about two DSL links from the same ISP. If they're with different ISPs, then you're right, you can't load-balance outgoing connections on a per-packet basis, only on a per-connection basis. (Unless one ISP isn't filtering, but let's hope not; I have no idea how common such filtering really is.)

  6. A different approach (and cheaper, too ;-) by beat.bolli · · Score: 0, Offtopic

    What about uncapping your modem?

    --
    Karma: none (due to not believing in reincarnation)
  7. Been thinking about this... by xjosh · · Score: 1

    I've thought that something like this may work out if you could get a place to terminate VPN pipes. Use some load balancing routing protocol to get to your term point over your two lines and you're there.

  8. it's quite easy you know! by frankske · · Score: 3, Informative

    You just create your internal network, and as a router you get a litle linux box with (eg) 3 NICs in. One NIC goes to the internal network, the other 2 each to an adsl modem. You then read the Linux Advanced Routing & Traffic Control HOWTO. Chapter 10 is what you want to do ...

  9. What I wanna know. by FreeLinux · · Score: 2

    As stated by several earlier posts, true aggregation is not possible without hardware and software/firmware at both ends of the link. This is not an IP or layer three solution. It must be done at a lower level. But, from a purely technical, if only theoretical stand point, it is possible.

    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.

  10. single big files by oliverthered · · Score: 1

    You already have software at the other end, HTTP and FTP servers.

    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.

    --
    thank God the internet isn't a human right.
  11. Good Google Thread by fatbitch · · Score: 4, Informative

    I was looking into this recently and though of posting exactly the same ask slashdot.

    Here 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.

  12. ISB Pro800 Turbo by qurob · · Score: 4, Informative

    Info


    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.

    1. Re:ISB Pro800 Turbo by darione70 · · Score: 0, Redundant

      http://www.pcmag.com/article2/0,4149,14443,00.asp
      The Pro800turbo can use the two broadband connections in several different ways. Each connection can be designated as a normal or backup connection. This can be great for spreading out large, multiple connections. In normal mode, the Pro800turbo performs load balancing, spreading the Internet traffic over the two connections. If instead you designate one connection as the primary and the other as the backup, the backup takes over only when the primary connection goes down. (Since each of the two broadband connections has a different IP address, you cannot combine the bandwidth into one superfast connection, however.)

  13. Are there any ISP's who sell service via VPN? by hamjudo · · Score: 2
    I've thought similar things, but I didn't find an ISP that sold that sort of service. I needed a couple dozen IP addresses an AUP that allowed resale of services, since I sometimes resold bandwidth and web hosting. I hardly do any commercial stuff now, but I want to keep the option open.

    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.

  14. Duh by Anonymous Coward · · Score: 0
  15. what i want to acheive... by bonezed · · Score: 1
    Ok guys, here in Oz, a personal adsl a/c is heaps cheaper than a business adsl a/c. The difference is that with personal u have dynamic ip, plus u need to authenticate via pppoe.

    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?

    --
    ---- Put Sig here:
  16. Exact software configuration by 183771 · · Score: 0

    I have recently achived this with two ADSL/Cable connection, there is not differences.
    Using Linux Advanced Routing & Traffic Control HOWTO - Chapter 4.2. Routing for multiple uplinks/providers

  17. Isn't ?DSL usually a contended service? by devitto · · 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

  18. Hmm by Anonymous Coward · · Score: 0

    I thought that ADSL was fixed as in that you do not share bandwidth unlike cable where the main limit is shared out in areas such as streets etc.