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