Outline Inter Cache Communication

From: Ingrid Melve (Ingrid.Melve@uninett.no)
Date: Fri Nov 13 1998 - 05:10:20 MST


                      Inter Cache Communication Protocols
                                       
    /Work in progress, content not to be trusted, comments welcome/
     
   This document (tries to, at least) gives an overview of inter cache
   communication protocols and techniques for web proxy caches.
   
ICP

   Internet Cache Protocol
     * [1]RFC 2186 Internet Cache Protocol (ICP), version 2
     * [2]RFC 2187 Application of Internet Cache Protocol (ICP), version
       2
     * [3]Internet Cache Protocol Extension (draft)
     * [4]ICP group
     * [5]ICP v1.4
       
   ICP is used by caches to query other caches about web objects, to see
   if a web object is present at the other cache.
   
   ICP uses UDP. Since UDP is unreliable, an estimate of network
   congestion and availability may be calculated by ICP loss. This
   rudimentary loss measurement does, together with round trip times
   provide a load balancing method for caches.
   
   Most current cache implementations support ICP in one form or the
   other.
   
   ICP does not convey information about HTTP headers associated with a
   web object. HTTP headers may include access control and cache
   directives, Since caches ask for objects, and then download the
   objects using HTTP, false cache hits may occur (object present in
   cache, but not accessible for sibling cache is one example). ICP
   suffer from all the security problems of UDP.
   
   Implemented in
     * [6]Harvest
     * [7]Harvest
     * [8]Squid
     * [9]NetCache (ICP version 3)
     * [10]BorderManager FastCache
     * [11]Netscape Proxy Server
     * [12]DeleGate
     * [13]MOWS
     * [14]Inktomi Traffic Server
     * [15]Cisco CacheEngine
     * [16]SkyCache
     * [17]Mirror Image
       
WCCP

   Web Cache Control Protocol
     * No documentation publicly available
       
   The Web Cache Control Protocol is proprietary to Cisco.
   
   WCCP is used to transparently redirect web traffic from a router to
   the Cisco Cache Engine
   
   The Web Cache Control Protocol defines the communication between Cache
   Engines and routers. Using the Web Cache Control Protocol, a router
   redirects Web requests to a Cache Engine (rather than to the intended
   Web server). The router also determines Cache Engine availability and
   redirects requests to new Cache Engines as they are added to a cache
   farm.
   
   Implemented in
     * [18]Cisco CacheEngine
     * [19]Cisco CacheEngine
       
HTCP

   Hyper Text Caching Protocol
     * [20]Hyper Text Caching Protocol (HTCP/0.0)
       (draft-vixie-htcp-proto-03.txt)
       
   HTCP is a protocol for discovering HTTP caches and cached data,
   managing sets of HTTP caches, and monitoring cache activity.
   
   HTCP includes HTTP headers, while ICPv2 does not. HTTP headers are
   vital information for web proxy caches.
   
   Implemented in
     * [21]Mirror Image
     * [22]Squid2 (partially)
       
CARP

   Cache Array Routing Protocol
     * [23]draft-vinod-carp-v1-03.txt
       
     * [24]Microsoft CARP doc
     * [25]CARP site
       
   CARP is a hashing function for dividing URL-space among a cluster of
   proxy caches. Included in CARP is the definition of a Proxy Array
   Membership Table, and ways to download this information.
   
   An HTTP client agent (either a proxy server or a client browser) which
   implements CARP v1.0 can allocate and intelligently route requests for
   the correct URLs to any member of the Proxy Array. Due to the
   resulting sorting of requests through these proxies, duplication of
   cache contents is eliminated and global cache hit rates may be
   improved. [26][CARP]
   
   CARP is not a communication protocol, strictly speaking. One of the
   goals with CARP is to avoid inter-cache communication.
   
   CARP is used for clusters of web proxy caches, and clients may use
   CARP directly as a hash function based proxy selection mechanism.
   
   Implemented in
     * [27]Microsoft Proxy Server
     * [28]Netscape Proxy Server
     * [29]Squid (partially)
       
Cache Digest

     * [30]Squid FAQ on Cache Digest
     * [31]Cache Digests (paper)
       
   Cache Digest allows proxies to make information about their cache
   content available to peers in a compact format.
   
   Cache Digest is not a protocol, but a compression technique for
   exchanging information about proxy cache content. A peer uses digests
   for identify co-operating caches that are likely to have a given web
   object. [32]
   
   Implemented in
     * [33]Squid2
       
HTTP

  HTTP/1.0
  
     * [34]RFC 1945 Informational
       
  HTTP/1.1
  
     * [35]RFC 2068 Proposed Standard
     * (draft aimed at Draft Standard)
       
   One of the major changes from HTTP/1.0 to HTTP/1.1 is added support
   for web caching. The Cache-control: headers provides support for
   information providers to give cache directives.
   
Multicast based protocols

   Several different trials have been made with multicast inter cache
   communication. Multicast ICP is implemented, but not in widespread
   use.
     _________________________________________________________________

References

   Visible links:
   1. ftp://ftp.nordu.net/rfc/rfc2186.txt
   2. ftp://ftp.nordu.net/rfc/rfc2187.txt
   3. ftp://ftp.nordu.net/internet-drafts/draft-lovric-icp-ext-01.txt
   4. http://ircache.nlanr.net/Cache/ICP/
   5. http://excalibur.usc.edu/icpdoc/icp.html
   6. http://harvest.cs.colorado.edu/
   7. http://harvest.transarc.com/
   8. http://squid.nlanr.net/
   9. http://www.netapp.com/netcache/
  10. http://www.novell.com/bordermanager/fastcache/
  11. http://www.netscape.com/comprod/proxy_server.html
  12. http://wall.etl.go.jp/delegate/
  13. http://mows.rz.uni-mannheim.de/mows/
  14. http://www.inktomi.com/products/traffic/
  15. http://www.cisco.com/warp/public/751/cache/
  16. http://www.skycache.com/
  17. http://www.mirror-image.com/
  18. http://www.cisco.com/univercd/data/doc/netbu/hardware/webcache/webcache.htm
  19. http://www.cisco.com/warp/public/751/cache/cds_ov.htm
  20. ftp://ftp.nordu.net/internet-drafts/draft-vixie-htcp-proto-03.txt
  21. http://www.mirror-image.com/
  22. http://squid.nlanr.net/
  23. ftp://ftp.nordu.net/internet-drafts/draft-vinod-carp-v1-03.txt
  24. http://www.eu.microsoft.com/proxy/guide/CarpWP.asp
  25. http://egg.microsoft.com/carp/
  26. ftp://ftp.nordu.net/internet-drafts/draft-vinod-carp-v1-03.txt
  27. http://www.microsoft.com/proxy/
  28. http://www.netscape.com/comprod/proxy_server.html
  29. http://squid.nlanr.net/
  30. http://squid.nlanr.net/Squid/FAQ/FAQ-16.html
  31. http://wwwcache.ja.net/events/workshop/31/rousskov@nlanr.net.ps
  32. http://wwwcache.ja.net/events/workshop/31/rousskov@nlanr.net.ps
  33. http://squid.nlanr.net/
  34. ftp://ftp.nordu.net/rfc/rfc1945.txt
  35. ftp://ftp.nordu.net/rfc/rfc2068.txt



This archive was generated by hypermail 2b29 : Thu Nov 18 2004 - 11:21:25 MST