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

Re: eql = tun + eth0



On Wed, Jan 16, 2002 at 12:45:24PM +0700, Oki DZ wrote:
> On Wed, 16 Jan 2002 crispin@iinet.net.au wrote:
> > In TCP/IP we only have control of our outgoing traffic. Thus your
> > connections will be set up via one or the other. Say your wireless
> > device is 128k and your modem is 56k. With this sort of primative
> > balancing you initiate a download. It comes down at 56k. It doesn't get
> > any faster. Then you start another. It comes in at 128K with the first
> > still going at 56K. You will *never* get a 184K download. Each
> > connection is identified by its source and dest ip's and your IP's are
> > different. 
> 
> I think that would be OK, as long as I can utilize both links; say, web
> traffic via the wireless link, and the other via the modem.
> 
> I have take a look into iproute doc, and to have two default routes is
> as simple as:
> ip route add default nexthop eth0 nexthop ppp0
> 
> Question is, really?
> I read somewhere on the Net that by having that configuration, you'd get
> outgoing traffic via both devices, but incoming via the first one. 
> 
> Would it be easier just to split the traffic according to the protocols?
> Say, email through eth0 and web through the ppp0. Maybe the use of the
> links wouldn't be that optimal, but at least I can get some additional
> bandwidth. But what about that "default route"; how can I set it up after 
> I split the traffic?

The best way to do this is again QoS. You create queues for your traffic, each with a queueing discipline. eg. You might have an email queue, a web queue, an emergency packet queue (which gets priority for low-latency. eg. gaming packets, shell traffic) and an everything else queue. You can control where these queues go and what the queueing method is, and how things are sorted in the queue.

You then use classifyers to classify your traffic into these queues. So create a set of rules that match email, that match web, that match priority packets, and everything else. 

Classifiers are good because you can classify based on so many things, not just destination IP or port. You can build many hierachal levels of these. Queues that empty into queues that empty into... You may choose to dump these queues into two pFIFO queues, one for ppp0 and one for eth0. A lot of it is trial and error, testing and running a sniffer on the links to see how things are being handled.

Have a look at ... for more information

As for the return paths, if the packets going out ppp0 have a source ip of ppp0 and the packets going out eth0 have a source ip of eth0, then the return traffic will be (quasi) balanced across the two links according to how the outgoing was balanced. So if your POP3 requests are going out via ppp0 with its IP as source IP then the downloaded mail will be coming back via that link.

Its definately do-able. There's a bit of work involved, a lot of crazy command lines you've never ever seen before. The documentation is a bit light on the howto or tutorial side of things, but if you understand the basics, and are patient, theres no reason why it cant be done. A lot of the docs say they are for 2.4 series kernels, but they can equaly be applied to 2.2 series.

Kind Regards
Crispin



Reply to: