Re: [LARTC] Traffic balancing by IP.

Linux Advanced Routing and Traffic Control

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

 



1. I recommend you to get the HTB. http://luxik.cdi.cz/~devik/qos/htb/htbman.htm
then try the following configuration:

If you have 4 connections and 2Mbit/s incoming
The ceil value is 2Mbit/s, the rate is 2Mbit/s / 4 - 512Kbit
------------------------------------------------
tc qdisc add dev eth1 root handle 1: htb


# Luzerta  - tuka e slozno mai

tc class add dev eth1 parent 1:0 classid 1:1  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio
tc class add dev eth1 parent 1:0 classid 1:2  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio
tc class add dev eth1 parent 1:0 classid 1:3  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio
tc class add dev eth1 parent 1:0 classid 1:4  htb rate 512Kbit ceil   2Mbit burst
10k cburst   5k prio


tc qdisc add dev eth1 parent 1:1 handle 110: sfq perturb 10
tc qdisc add dev eth1 parent 1:2 handle 120: sfq perturb 10
tc qdisc add dev eth1 parent 1:3 handle 130: sfq perturb 10
tc qdisc add dev eth1 parent 1:4 handle 130: sfq perturb 10


#Filters - using lw - marking packets for IP's
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 101 fw flowid 1:1
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 102 fw flowid 1:2
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 103 fw flowid 1:3
tc filter add dev eth1 parent 1:0 protocol ip prio 10 handle 104 fw flowid 1:4

# OR Filters - using u32
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.1
flowid 1:1
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.2
flowid 1:2
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.3
flowid 1:3
#tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.4
flowid 1:4
------------------------------------------
This will balance the traffic in following way:
 - Whe 1 IP downloading - 2Mbit/s for that IP
 - When all IP's downloading - 2Mbit/s / 4 (512Kbit/s) for each
 - When 3 IP's downloading  - 2Mbit/s / 3 (~683Kbit/s) for each
Don Cohen wrote:

> Sorry, I'm a little behind here, trying to catch up
>
>   From: "Dmitri Gofmekler" <dmitri@xxxxxxxx>
>   To: <lartc@xxxxxxxxxxxxxxx>
>   Date: Mon, 24 Dec 2001 15:38:13 +0200
>
>   As far as I know that the traffic that will pass thru the router is balanced
>   so that all connections have the same privilegies. Is it possible to
>   configure the linux based router so that all computers will have the same
>   privilegies? I mean that if in default case full traffic is splitted by
>   connections, so I need to split it by users to prevent one user occupy all
>   traffic by starting 150 simulations downloads with FlashGET for example, but
>   he should be able to occupy all channel if no one else require the traffic
>   this time.
>
> My interpretation is that you have one link shared among multiple
> computers that can be distinguished by their IP addresses and you
> want to share the link fairly among those computers.
> There is no current out-of-the-box solution that I know of but this
> is so similar to SFQ that you can make the change very easily.
> SFQ offers fair service to "flows" defined by source/dest IP/port.
> You just want to change that to destination IP for packets coming in
> from the internet, and source address for packets going out to the
> internet.  If you look at the SFQ code there's a hash function that
> looks at ports and IP addresses.  I propose two variants, one of which
> comments out all but the destination IP address, the other comments
> out all but the source IP address.
> You can use the version that looks at the source at the interfaces
> going out to the internet and the version that looks at the
> destination at interfaces going to the local networks.
> I hope that makes sense.
>
> _______________________________________________
> LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc/




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