Wikipedia / Web Cache Communication Protocol
Wikipedia / 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
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:
References
External links
Cisco
Section WCCP Network Caching in the Cisco DocWiki (formerly known as the "Internetworking Technology Handbook")
Section Configuring Web Cache Services Using WCCP in the "Cisco IOS Configuration Fundamentals Configuration Guide, Release 12.2"
Section WCCPv2 and WCCP Enhancements in the feature guide for "Cisco IOS Software Releases 12.0 S"
Configure WCCP on your Cisco IOS router on TechRepublic
Web Cache Communication Protocol V2, revision 1 on IETF Web Site
How to set up WCCP on your Barracuda Web Filter in Barracuda Networks Knowledgebase