ICP is a Web caching protocol used to exchange hints about the existence of URLs in neighbor caches. Caches exchange ICP queries and replies to gather information to use in selecting the most appropriate location from which to retrieve an object.
The following products (and non-products) implement ICP:
Some tools for testing ICP
These other inter-cache protocols and algorithms are an alternative to ICP.