[squid-users] Question about parents, childs and bandwidth

From: Santiago Romero <sromero@dont-contact.us>
Date: Mon, 15 Apr 2002 10:26:06 +0200

 I'm new to this mailing list, so "hello all" :-)

 I have a nice question regarding parent and child caches with
 delay pools. The problem is that my parent cache only sees as
 client the IP of the child cache, so I can't put delay pools
 based on the original client ip addresses.
 
 I have the following architecture:

     client
    browsers
 (ACL fastusers)-------\ parent
                     ------------ ------------
                     | PROXY | ------>| PROXY | --> 1Mbps
                     | INTERNAL | 100M | EXTERNAL | Internet
                     ------------ LAN ------------ Line
     client -----------/ ACL1 ACL2
    browsers
 (ACL slowusers)

 My idea is the following:

 - ACL1 is fastusers + slowusers
 - ACL2 is the IP address for PROXY INTERNAL
 - PROXY INTERNAL forwards ALL the traffic to PROXY EXTERNAL
   (it's not a proxy, it also caches and returns hits if available).
 - Web browsing should never exceed 512Kbps, so I'm going to put
   a delay pool in PROXY EXTERNAL so that Internet downloads
   never exceed an 512Kbps aggregate (64KB).
 - I have 2 different classes of browsers (fast and slow) depending
   on their IPs. This means that I'm going to put 2 delay pools
   on PROXY INTERNAL, so that I can limit trafic to 8 KB to the
   fast users and 2 KB to slow users.
 - The PROXY EXTERNAL -> PROXY INTERNAL transferences should
   happen at full speed.

 This gives me the main problems:

 - The ACLs are on the internal proxy, so if SLOW_USER_1 requests
   a 200MB file, it will ask for it to the Internal Proxy, which
   will ask for it to the PROXY EXTERNAL, which will get it from
   Internet.

   The result will be that the external proxy will get the file
   AT 512KBPS from internet, serve it to the internal and this
   will return it to the browser.

   Where's the 2KB/seg limit in this download?

   a).- From web client -> proxy internal ?
   b).- From proxy external -> proxy internal ?

   This means that a slow user asking for a 200Mb file, although
   having a 2KB/seg limit can use ALL THE 512Kbps internet link??

   I would like to limit external caches based on the IP, but
   I have a problem: PROXY EXTERNAL does not see the CLIENT IP,
   it sees the PROXY INTERNAL IP as client, so I can't put
   delay limits on PROXY EXTERNAL based on the REAL CLIENT IP.
   

 My main doubts:

 - If I set a delay pool class 1 in PROXY EXTERNAL limiting to
   512Kbps (half of my line), this will mean that it will only
   use 512Kbps of my external line, or means that it will server
   data from EXTERNAL to INTERNAL at 512Kbps?

   I mean, if you ask for a 200MB file to the EXTERNAL cache,
   the 512Kbps limit affects to the INTERNET DOWNLOAD or to
   the CACHE -> CLIENT download?

   If it affects to the Internet download (it would be perfect
   then :) How do I limit the CACHE -> CLIENT DOWNLOAD?

 - How can I see the real client IP on the PARENT CACHE so that
   I can put source ip-based ACL and delaypools?

   What I would like to do is put ACLs on EXTERNAL CACHE so that
   I really limit the internet download based on the BROWSER-CLIENT
   IP ADDRESS, so that the EXT->INT transferences happen at
   full speed and INT->CLIENT happen at a given speed.
   

 It's any way to solve my problem with squid?

 Thanks a lot and sorry for the BIG message :(
 
 

-- 
Santiago Romero
Departamento de Sistemas
sromero@servicom2000.com
Av. Primado Reig 189, entlo
46020 Valencia - Spain
Telf. (+34) 96 332 12 00
Fax. (+34) 96 332 12 01
http://www.servicom2000.com
Received on Mon Apr 15 2002 - 02:27:55 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 17:07:33 MST