# Web Cache Communication Protocol

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.

## Protocol Versions

WCCPv1
* 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
WCCPv2
* 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 255 service groups (0-254)
* Adds MD5 shared secret security

## Primary WCCP functions
### Registration

* Accelerator or Engine is a WCCP client
** Registers WCCP services (0-254) 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-254)
** 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

### Assignment

* 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:
* ASR 1000 Routers
* Application & Content Networking System (ACNS)
* Wide Area Application Services (WAAS)
* ASA/PIX Firewalls
* Some IOS versions
* IronPort S-Series Web Security Appliance
* Nexus 7000 Switches
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. Please note that some vendors did not follow the standards when implementing WCCP and this could result in intercompatibility problems.
A list includes:
| Company | Product |
| Array Networks | Accelera |
| EdgeWave | iPrism Web Gateway |
| A10 Networks | Transparent Cache Switching (TCS) |
| Aladdin/SafeNet | eSafe Web |
| ApplianSys | CACHEbox |
| Arahe SiteCelerate | SiteCelerate |
| Barracuda Networks | Barracuda Web Filter |
| Bloxx | Bloxx Secure Web Gateway |
| Blue Coat | ProxySG, CacheFlow |
| Citrix | CloudBridge (formerly known as "Branch Repeater & WANScaler") |
| CensorNet Ltd | CensorNet Professional web filter |
| Clearswift | Clearswift SECURE Web Gateway |
| CYAN Network Security | CYAN Secure Web |
| Cymphonix Corp. | Network Composer/Conductor |
| Exinda WCCPv2 support for Web Cache | |
| F5 Networks | BIG-IP |
| Fortinet | FortiGate (4.0 upwards), FortiCache (2.0 and upwards) and FortiProxy Appliances/VMs |
| iboss | iboss' Distributed Gateway Platform |
| Ideco | Ideco UTM |
| Alcatel-Lucent | OmniSwitch series with AOS version 6.4.4 |
| Trustwave | Secure Web Gateway Formerly M86 Security/Finjan |
| MARA Systems | CacheMARA |
| McAfee | McAfee Web Gateway Formerly Webwasher |
| Microdasys | SCIP SSL Content Proxy |
| NetApp | NetCache (no longer available) |
| PerfTech, Inc. | Bulletin System |
| Replify | Accelerator |
| Riverbed Technology | Steelhead |
| Sangfor Technologies | WAN Optimization Appliance |
| Silver Peak | NX Series |
| Apache | Apache Traffic Server |
| SmoothWall Ltd | Guardian Web Content Filters |
| Sophos | Web Appliance |
| Squid | Squid |
| Stampede Technologies | Stampede Application Acceleration Series |
| Taghos Tecnologia | Hyper Cache |
| Trend Micro | IWSVA 3.x/5.x and 6.x |
| Forcepoint | Web Security Gateway |
| WebTitan | WebTitan Web Filtering Appliance |
| Wedge Networks | BeSecure |
| XipLink | XA Optimizers |