CBQ affected by squid?

Linux Advanced Routing and Traffic Control

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

 



Hi,

 

I am trying to develop a system to handle a simple enough scenario. Essentially it is a gateway, on which HTTP and FTP will go through Squid for caching and all that, and everything else (telnet, etc) will go through the gateway but not squid. I want to divide the bandwidth up evenly between the users on the system (i.e. 2 users on the system then each gets half the total bandwidth, 4 then they get a quarter and so on). I have one basic question:

 

The question is that if my http traffic goes through squid then when it is seen by the Linux Traffic Controller (the TC is on the outgoing Interface i.e. the Internet connection, so that it can see the actual bandwidth usage of the outgoing link i.e. we have examined the cache to see f we have it stored and found we need to fetch it) the http packets are wrapped in TCP packets and the TC sees all the http traffic as coming from squid i.e. a connection between Squid and say Yahoo.com, and cannot distinguish which user sent what request as they all seem to be packets with Squid as the source IP address. Is this understanding correct? If not what am I seeing wrong? If this is the case how am I going to share the bandwidth as I state above as all the users on the LAN are being anonymised by Squid before they reach the TC??

 

At present my best solution seems to be to use a combination of Delay Pools, the modified dynamic ones, and Class Based Queuing (CBQ). This way delay pools will manage the bandwidth for Squid and I can use a CBQ to allocate the delay pools a set amount of the total bandwidth and use CBQs to share the remaining bandwidth out between the users. However the delay pools and the CBQ are separate utilities and they do not talk to each other so this is not efficient as the amount of bandwidth allocated to Squid cannot easily be changed dynamically as the delay pool would have to be reconfigured each time. As you can tell this is a bit of a messy solution and does not make the best use of the limited resources i.e. bandwidth can be left idle.

 

So in short, does Squid anonymise which user is generating which http packets on the TC if the TC is on the Internet connection interface?? If not, how come? If yes, is there a way around this and what is it?

 

Probably a newbie question but I have spent a good while trying to solve this before asking the question. Any help greatly appreciated.

 

Cheers,

 

Shane


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