Web Cache Communication Protocol (WCCP) was developed by Cisco as a means to allow edge routers to work in conjunction with content engines (also known as cache engines).
Content engines collect data, usually HTTP traffic, and save it locally so that when hosts attempt to access the same traffic at a later time, the content is pulled from the cache server instead of being pulled from the WAN all over again.
WCCP works by allowing routers to communicate with content engines the make each aware of each other’s presence and to permit the router to redirect traffic to hte content engine when needed.
Here are the steps in logic when WCCP is used:
- Client sends HTTP GET requests with destination address of web server
- The router WCCP function notices the HTTP GET and redirects the packet to the content engine
- The content engine looks at its disk storage cache to discover the requested object is cached
- If the object is cached the content engine sends the HTTP RESPONSE which includes the object back to the client
- If the object is not cached the content engine sends the original GET request to the web server
- If step 5 occurred the server replies to the client with no knowledge that the packet was redirected to a content engine.
WCCP uses UDP port 2048 to communicate with other content engines and routers. There can be up to 32 content engines in a cluster and if there are multiple present the engine with the lowest IP address is elected as the lead engine.
WCCPv1 only one router can redirect traffic to a content engine or cluster, in WCCPv2 multiple routers and multiple content engines can be configured as a WCCP service group.
WCCPv1 only supports HTTP traffic, (TCP port 80)
WCCPv2 supports the following compared to version 1:
- Supports TCP and UDP traffic
- Permits segmenting caching services provided by a caching cluster to a specific protocol or multiple protocols, and uses a priority system for deciding which cluster to use for a particular cached protocol.
- Supports multicast
- Supports multiple routers for redundancy and load distribution
- Provides for Md5 security in WCCP communication
- Provides load distribution
- Supports transparent error handling
- Can use ACLs to filter traffic for certain hosts to be redirected while others are exempted