[LARTC] Per-connection routing for multiple uplinks/providers ??

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi - I'm a new subscriber to this list.

I have been digging through the Lartc documentation as well as Netfilter,
etc. and haven't found much on per-connection routing for multiple
uplinks/providers.

What I would like to do is cleanly move packets out to the Internet over
two (maybe 3) separate interfaces, utilizing all of the bandwidth, and
avoiding snags.

I could use a round-robin scheduler, which would put consecutive packets on
different interfaces. I think this will run into problems when the reply
packets come back. Maybe not ??

I read through Arthur Leeuwen's documentation
    (http://lartc.org/HOWTO//cvs/2.4routing/html/x247.html )
on a scheme for dividing the outgoing packets on a per-route basis. Packets
going to the same destination will go through the same interface. This gets
around the round-robin problem, but I think this is not 'fair' in the sense
that one interface might accumulate more routes than the other, and there
does not seem to be a mechanism (other than periodically flushing the route
tables) for evening out the flows.  It is pretty simple though and I will
use this as a first chop solution.

Another approach to the problem would be to do a round-robin on a
per-connection basis. Each new connection would go out of the 'next'
interface.

I don't know exactly how to do this though. Perhaps marking the 'NEW' state
packet and routing on the mark (even marks go to the left interface, odd
marks to the right,... mod N for more than 2 interfaces).

Of course, it would be nice to allocate connections on an available
bandwidth basis.  Also do some QoS for ftp vs interactive (am looking at
the wondershaper..)

Also would be nice to periodically grab statistics so that I could
determine whether I need to get rid of an ISP (for non-competitive price/bw
stats). The stats could also be used to 'close the loop' around the routing
to ensure that the best bandwidth is being achieved.

Also would be nice to energize a dial-up connection if the other 2 die for
some reason.

Does such a beast exist? Is it possible to build with current
ip/tc/netfilter technology?  I am running a near stock RH 7.2 at the
moment. Each ISP line is going through a separate (proprietary/black-box)
firewall/router and then into the RH7.2 box.

Thanks for your time.

BobG


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux