Home > Network Design > WCCP Load Distribution (Hash and Mask)

WCCP Load Distribution (Hash and Mask)

August 7th, 2010

When multiple WAEs exist in a service group, WCCPv2 automatically distributes redirected traffic across all WAEs in the service group. When traffic passes through an IOS device with WCCPv2 redirection configured, the IOS device assigns traffic for that connection to a bucket.

Each bucket is assigned to a specific WAE. The method that determines to which bucket traffic is assigned, which determines how traffic is distributed across multiple WAEs within a service group, is called the assignment method.


an example of the hash assignment method and bucket-based distribution model used by WCCPv2.

The bucket assignments are communicated from the lead WAE to all of the IOS devices in the service group. The assignment method can use either a hashing or masking scheme, and is negotiated between IOS and WAE during the formation of the service group.


Hash assignment, which is the default assignment method, performs a bitwise hash on a key identified as part of the service group.

In WAAS, the hash key used for service group 61 is the source IP address, while the hash key used for service group 62 is the destination IP address.

The hash is not configurable, and is deterministic in nature. This means that all of the routers within the same service group will make the same load-balancing decision given the same hash key.

This deterministic behavior is what allows WCCPv2 to support asymmetric traffic flows, so long as both directions of the flow pass through WCCPv2-enabled IOS devices in the same service group. Hash assignment uses 256 buckets.


The second assignment method is called mask assignment. With mask assignment, the source IP address, destination IP address, source port, and destination port are concatenated and ANDed with a 96-bit mask to yield a value. The resulting 96-bit value is compared to a list of mask/value pairs. Each mask/value pair is associated with a bucket, and each bucket is in turn assigned to a WAE.

an example of the mask assignment method and bucket-based distribution model used by WCCPv2.

an example of the mask assignment method and bucket-based distribution model used by WCCPv2.

Unlike hash assignment, the number of buckets used with mask assignment depends on the number of bits used in the mask. By default, WAAS uses a mask of 0x1741. This results in 26 buckets that can be assigned across the WAEs in a service group.

With current Catalyst WCCPv2 implementations, up to 7 bits can be defined for the mask.


Categories: Network Design Tags:
Comments are closed.