Web Cache Communication Protocol (WCCP) is a Cisco-developed content-routing protocol that provides a mechanism to redirect traffic flows in real-time. It has built-in load balancing, scaling, fault tolerance, and service-assurance (failsafe) mechanisms. Cisco IOS Release 12.1 and later releases allow the use of either Version 1 (WCCPv1) or Version 2 (WCCPv2) of the protocol.
WCCP allows utilization of Cisco Cache Engines (or other caches running WCCP) to localize web traffic patterns in the network, enabling content requests to be fulfilled locally. Traffic localization reduces transmission costs and download time.
- Only a single router services a cluster of systems
- Supports HTTP (TCP port 80) traffic flows only
- Provides generic routing encapsulation (GRE) to prevent packet modification
- Routers and cache engines communicate to each other via a control channel based on UDP port 2048
- Allows for use across up to 32 routers (WCCP servers)
- Supports up to 32 engines/accelerators (WCCP clients)
- Supports any IP protocol including any TCP or UDP
- Supports up to 256 service groups (0-255)
- Adds MD5 shared secret security
Primary WCCP functions
- Accelerator or Engine is a WCCP client
- Registers WCCP services (0-255) with Here I Am if application is operational
- Registration announces WCCP client on service group, provides availability notification, requests interesting traffic
- Transmits Here I Am every 10 seconds
- Lead WCCP client (lowest IP address) instructs routers on protocol/port, assignment, forwarding, and return methods
- Router is a WCCP server
- Accepts service group registration (0-255)
- Acknowledges Here I Am with I See You
- Waits 30 (3x10) seconds before declaring engine failed
- Announce engines to other engines
- Router id is highest interface IP or highest loopback IP if one exists
- Redirects traffic to engine
- Selects an engine in the cluster
- Hash 256 buckets
- Mask 128 buckets represented by 7 bit mask of the source or destination IP/Port
Redirect from Router to Cache Engine
- Redirect list allows router to permit/deny traffic to intercept
- Two methods of redirection:
- WCCP L2: Local subnet only, little overhead. Rewrites packet MAC address to that of the local Engine
- WCCP GRE: Any IP-Subnet, more overhead. Creates tunnel from router to local or remote Engine.
Return from Cache Engine to Router
- WCCP GRE return.
- WCCP L2 return.
- Engine can optionally return traffic any other way including routing.
Products that implement WCCP
Whilst originally designed for Cisco's Content Cache appliance they have since added support to other products, including:
- Application & Content Networking System (ACNS)
- Wide Area Application Servcies (WAAS)
- ASA/PIX Firewalls
- Some IOS versions
IronPort S-Series Web Security Appliance
Other vendors have also implemented WCCP support into their products, as it allows clustering and transparent deployment on networks using Cisco routers/switches without additional hardware. WCCP is of particular use to vendors of web cache/proxy/security appliances for redirection of web traffic. A list includes:
http://support.citrix.com/servlet/KbServlet/download/19285-102-19716/wanscaler_users_guide_5.0_090217_no_change_bars.pdf section "WCCP Mode", page 81
Citrix Systems, Inc.
fr:Web Cache Communication Protocol pt:Web Cache Communication Protocol ru:Web Cache Communication Protocol