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
DSL, if available, might be a good option.
Both sites could have DSL and run VPN software. It would be plenty fast, seeing that both lines will be locally routed at the CO. Both sites would also have internet access.
A slightly cheaper solution is to get an untapped line from the phone company between the two sites, and attach DSL modems to that. They would then be directly connected (security and speed reasons)
You could use a service like http://www.dynip.com to give you a URL that always points to your dynamic IP address. Then you could use the cable modem option.
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.
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. This probably wouldn't be what you are looking for voice traffic. Using Linux eql you can setup bonding to aggregate the speed of all connected modems so that with 2 28.8k modems, you would get a totally of 5-6k/s on your transfers. This is done at the interface level versus the network routing level and sounds like it would be right up your alley.
I know you can do this with pppd under FreeBSD, and I bet you can do it under linux, as well. With FreeBSD, at least, a fairly simple set of options in /etc/ppp/ppp.conf will setup multilink ppp. Any number of connections could be shared this way, so if you wanted to have three or four modems on each end being split equally, it would work as easily as two. You shouldn't have to worry about routes, etc., any more than you do with PPP in a normal scenario.
:)
If you haven't given FreeBSD a chance, yet, you're cheating yourself. It can do just about everything that linux can do, but usually it's easier to setup.
...These aren't the droids you're looking for....Move along....
QOS is a must! RFC 2459 - IP Over Avian Carriers with Quality of Service
--
Eric is chisled like a Greek Godess
marotti.com
pppd is the kernel-land ppp interface, the user-land version is ppp, which uses the tun interface (and the /etc/ppp/* files)
ppp under FreeBSD has an excellent manual page and is very easy to configure.
--
Eric is chisled like a Greek Godess
marotti.com
the true link equalisation module does work, but each destination address has to have its own netcard (ie physical device). perfect if you've got, say, 2 dsl lines and you want to provide both fault-tolerance and load-balancing of outbound traffic.
To use EQL each modem must have the *same* IP and the remote site must also support EQL (such as Livingston's Portmaster series).
Equal-cost multipath routing (is that the right term?) will work on outgoing data but obviously you don't have access to your ISP's incoming data routing.
You're probabily best to talk witk some prospective ISP's before slashdot. It all depends on the equipment they use.