RE: service-based and ip-based shaping

Linux Advanced Routing and Traffic Control

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

 



Thanks,

The only issue here is that for each service I need to create 200 child
classes if I have 200 clients...


Let me explain the problem better

I have the following connection from my ISP: (1024/1024) (rate/ceil)

1) First, I want to divide the 1024 into smaller pieces based on priority:
	256/256 - P2P (I want to limit the P2P traffic as much as possible)
	256/1024 - HTTP
	256/1024 - FTP
	256/1024 - SSH, Games, etc
(I do not say that this is the best approach but it does not matter - it is
just an example)

2) Second task: Suppose I have previously shaped the traffic the way I want,
I need 200 classes for 200 clients in which to tell the rate and ceil for
each of them
	16/512 - Client 1
	16/256 - Client 2, etc 

If I would have 200 clients and 10 types of services and childs to service
classes, this means 2000 client classes...

I was thinking of a funny setup:

Route the traffic to 2 IMQ's
	-> First: traffic passes imq0 - and is shaped based on services
	-> Second: traffic from imq0 is routed to imq1 - where it is shaped
based on IP of the client.

What do you think about this? 

Mihai VLAD

__________________________
 

-----Original Message-----
From: Vinod Chandran [mailto:vinod_chandran@xxxxxxxxxxxxxxx] 
Sent: Tuesday, August 02, 2005 8:06 AM
To: Mihai Vlad
Subject: Re:  sercice-based and ip-based shaping

Hi Mihai,

You could have a parent class based on services, then have children of 
that parent class based on ips.
for eg,
lets say the root is 1:1,
have FTP service class as 1:2 , parent 1:1
and then have a child say 1:21, 1:22 and so on whose parent is 1:2.
I have used mark values to classify traffic.
As far as rate/ceil values are concerned..
have class 1:2 rate/ceil 128/512.
1:21 - 8/128
1:22 - 8/64 ..
and so on...

 

1:1(512)
                                                                         
         |
                                                                       
           |                                                             
                           
                           
----------------------------------------------------------------------------
----------
                          
|

|
                       1:2(FTP)(128/512) 
                                                                      
1:3( Telnet)(384/512)
                         
|

|
--------------------------------------

--------------------------
|                                              
|                                                                        
|                                |
1:21 (8/128)                        1:22 (8/64) 
                                                      1:31(128/384) 
           1:32(128/256)

Hope this helps you,
Regards,
Vinod C

Mihai Vlad wrote:

>Hello guys,
>
>I need to accomplish 2 tasks with one Linux router:
>
>1) Shape the traffic based on services (e.g. HTTP max 512 kbps, P2P max 128
>kbps - with a lower prio, etc)
>
>2) After I have classified the traffic based on services, I want to pass it
>to the clients with different rates/ceils (one client will get 8/128 kbps,
>other 8/64 kbps, etc). If all the users are downloading via P2P I do not
>want the whole traffic to exceed the P2P service ceil (the 128 kbps - as
>stated before).
>
>
>I know how to shape based on protocols and services. I know how to shape a
>connection based on IP's. But how do I combine the both? How should the
>Hierarchy look like.
>
>
>Thanks in advance,
>
>Mihai VLAD
>
>
>
>
>_______________________________________________
>LARTC mailing list
>LARTC@xxxxxxxxxxxxxxx
>http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
>
>  
>




_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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