Specifications

B
Proxy Server: Squid
Multiple Caches
“Multiple caches” means configuring different caches so that objects can be
exchanged between them, reducing the total system load as well as increas-
ing the chances of finding an object already in the local network. It enables
the configuration of cache hierarchies so a cache is able to forward object re-
quests to sibling caches or to a parent cache. It can get objects from another
cache in the local network or directly from the source.
Choosing the appropriate topology for the cache hierarchy is very important,
because it should not increase the overall traffic on the network. For exam-
ple, in a very large network, it is possible to configure a proxy server for ev-
ery subnetwork and connect it to a parent proxy, connected in its turn to the
proxy cache from the ISP.
All this communication is handled by ICP (Internet Cache Protocol) running
on top of the UDP protocol. Data transfers between caches are handled using
HTTP (Hyper Text Transmission Protocol) based on TCP, but for these kinds
of connections, it is preferable to use faster and simpler protocols capable of
reacting to incoming requests within a maximum of one or two seconds.
To find the most appropriate server from which to get the objects, one cache
sends an ICP request to all sibling proxies. These will answer the requests
via ICP responses with a HIT code if the object was detected or a MISS if it
was not. If multiple HIT responses were found, the proxy server will decide
which server to download depending on factors such as which cache sent the
fastest answer or which one is closer. If no satisfactory responses have been
sent, the request will be sent to the parent cache.
Tip
To avoid duplication of objects in different caches in our network,
other ICP protocols are used such as CARP (Cache Array Routing
Protocol) or HTCP (HyperText Cache Protocol). The more objects
maintained in the network, the greater the chances of finding the one
we want.
Tip
Caching Internet Objects
Not all objects available in the network are static. There are a lot of dynam-
ically generated CGI pages, visitor counters, or encrypted SSL content doc-
uments. This is the reason not to cache any object like this: every time you
access one of this objects, it will already have changed again.
169SuSE Linux Firewall on CD2