Chapter 8.  Intercache Protocols

In this chapter, I will cover four different intercache protocols. These specialized protocols are used between cooperating proxy caches for a number of reasons. Their most important function is to aid in forwarding decisions. That is, given a request and some number of neighbor caches, to which cache should the request be sent? Or should it be sent directly to the origin server? The intercache protocols provide information that a cache may use to minimize the time to retrieve an object. They may also be used to implement other features, such as prefetching and metadata updates.

The Internet Cache Protocol, or ICP, was the first intercache protocol invented. This lightweight query-response protocol probes neighbor caches for would-be hits. ICP is perhaps the most widely used of the protocols we will discuss in this chapter, mostly because it has been around the longest. All of the other protocols we will discuss were designed to improve upon ICP in one way or another. The most common complaint about ICP is the additional round-trip delay that every request incurs.

The Cache Array Routing Protocol, or CARP, is very different from ICP. It uses a deterministic algorithm, rather than a real-time query, to select a next-hop cache. CARP places emphasis on distributing load among a cache cluster rather than finding a cached copy of a given resource. Unlike some simpler load distribution techniques, CARP nicely accommodates changes in the number of cluster ...

Get Web Caching now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.