Slashdot Mirror


Load Balancing Using Multiple PPP Links?

M@W asks: "I currently run a Linux box (Slackware) in the office to handle e-mail, Web serving, SQL serving, dialup, print and fileserving, and it is connected netwise via a permanent modem. We're shortly opening another office a few kilometres away, and will need network connectivity. Since ISDN is so costly, I was planning on running two or more 33.6k modems at each site. To distribute the network traffic properly between the links do I need to be running something like EQL or EQL-plus? Since both ends will be our private networks, can I just assign IP's to all modems and set up the routing tables to use all links? Has anyone else done something like this? (Another option would be to use cable modems and a Virtual Private Network link, as they're only $59AUD per month (flat rate), but they don't allocate static IP's)"

4 of 17 comments (clear)

  1. Multilink PPP and/or BGP? by Vito · · Score: 2

    Coincidentally enough, I'm actually looking to do this with 2+ analog cell phones with modems attached, so I can transmit a live voice Ogg Vorbis stream in the field to a relay station at high quality. ;)

    How about setting up Multilink PPP? That's what it's designed for. Have two or more modems at your new office dial into your current office using the MP patch to pppd, and poof, instant channel bonding type stuff.

    The other suggestion someone had (on the linux-router mailing list, actually) was to use BGP to split up your data between two or more links (multi-homing). I don't know how that works, though.

    --Vito

    1. Re:Multilink PPP and/or BGP? by anticypher · · Score: 2

      You have several options.

      If you are going with multiple analog modem connections, look into MultiLink PPP, RFC1717. There are a number of PPP implementations that offer it. I've seen it on some linux boxes, and I'm sure I've used it on an OpenBSD box once.

      If both of the sites are served off of the same central office, get a pair of DSL modems, and you should be able to get around 512kbps between the two sites. The DSL modems should not set you back more than the 4 or 6 analog modems you would have bought anyways.

      Then ask the phone company to install "an unloaded dry copper pair" to be connected between the sites.

      If you tell them it is for data lines, you'll pay more for higher speed lines. If you say you are using it for an alarm system, that is probably the cheapest tariff you can pay, but be aware that if the phone company has no sense of humour and finds you shipping high speed data across it, they'll either bill you or cut your service.

      And stay away from BGP, it can do load balancing, but by the time you learn enough to implement it correctly you'll be too valuable to stay in your current job :-)

      the AC

      --
      Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
  2. RFC1149 by YASD · · Score: 2

    Well, if it's only a few km away, you could try the link proposed in RFC1149.

    ------

    --

    ------
    You are in a twisty little maze of open source licenses, all different.
  3. Re:Load Balancing Options by pleitner · · Score: 2
    Using BGP or OSPF or multiple default routes would only give you the bandwidth of up to 1 of your interfaces, and would spray packets out of each interface in a 1-goes-here 1-goes-there manner.

    Not quite correct. There is the concept of an mroute cache that alleviates this problem. Basically if you route a packet out over link0 and another packet comes along it first looks up the mroute cache. If it finds a match (which it will in this case) it will send it out along the same path as the previous packet. If it doesn't find a match, then it will pick either of the links as you suggest.

    This probably wouldn't be what you are looking for voice traffic.

    This is not what you are looking for with any traffic. The mroute cache described above is used to assist the receiving end so that it is less likely to receive packets out of order and stop problems such as weirdo retransmission problems due to one link being significantly slower than the other (assuming multihoming). In general mroute cache is a good thing.

    Also, the only real reason you would use BGP for something like this is if you were multihomed (it would be an absolute joke trying to receive any kind of routing table over modem links anyway). Multilink PPP (on slow links) to the same upstream is best taken care of with static routes.