WCCP Hash assignment bucket is calculated by the "Designated Cache" which is one of the Proxy in the WCCP pool.
Designated cache is an elected box which has the lowest IP in the WCCP pool
The default balancing will attempt to distribute 0-255 (256) Hash bucket evenly to each of the Proxy within the WCCP pool but as Hash assignment is an exact number and must not have a decimal , some of the extra value will be assigned to one of the Proxy in the pool, usually the designated cache.
An Example with Hash Assignment with 3 Proxy in the WCCP Pool
Three Proxy with Hash Assignment, proxy with the highest IP will take the balanced out Mask table as 256/3=85.33 and Hash value need to be exact without any decimal number
Proxy 1 - 85+1=86 Hash bucket
Proxy 2 - 85 Hash bucket
Proxy 3 - 85 Hash bucket
This for example may resulting in
Proxy 1 - assigned with hash table 170-255
Proxy 2 - assigned with mask table 85- 169
Proxy 3 - assigned with mask table 0 until 84
Using the command "show wccp statistics" on Proxy CLI will reveal the effective WCCP Hash bucket, F is a Hex value which equivalent to 15 decimal
ProxySG203#sh wccp statistics
<removed>
Active caches :10.105.12.42, 10.105.13.203, 10.105.13.205
Assignment key :10.105.12.42,1
Router state :active
Cache :10.105.12.42,D
Index :0
Assign index :255
Active :1
Activation time :Wed, Jul 20 2011 08:48:22 UTC
Last hit count :0
Hash utilization :86
Hash revision :0,0
Bucket block [00] :0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Bucket block [10] :0,0,0,0,0,63,255,255,255,255,255,255,255,255,255,255
Assignment weight :0
Status :0
Cache :10.105.13.203,L
Index :1
Assign index :255
Active :1
Activation time :Wed, Jul 20 2011 08:48:12 UTC
Last hit count :0
Hash utilization :85
Hash revision :0,0
Bucket block [00] :0,0,0,0,0,0,0,0,0,0,7,255,255,255,255,255
Bucket block [10] :255,255,255,255,255,192,0,0,0,0,0,0,0,0,0,0
Assignment weight :0
Status :0
Cache :10.105.13.205
Index :2
Assign index :255
Active :1
Activation time :Wed, Jul 20 2011 08:48:22 UTC
Last hit count :0
Hash utilization :85
Hash revision :0,0
Bucket block [00] :255,255,255,255,255,255,255,255,255,255,248,0,0,0,0,0
Bucket block [10] :0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Assignment weight :0
Status :0
Using the command "show ip wccp <servicegroup> detail" on Cisco router which reveal the actual table assigned, F is a Hex value which equivalent to 15 decimal
ROUTER2811#sh ip wccp 90 detail
WCCP Client information:
WCCP Client ID: 10.105.13.203
Protocol Version: 2.0
State: Usable
Redirection: GRE
Packet Return: GRE
Assignment: HASH
Initial Hash Info: 00000000000000000000000000000000
00000000000000000000000000000000
Assigned Hash Info: 0000000000000000000007FFFFFFFFFF
FFFFFFFFFFC000000000000000000000
Hash Allotment: 85 (33.20%)
Packets s/w Redirected: 0
Connect Time: 00:32:39
Bypassed Packets
Process: 0
CEF: 0
Errors: 0
WCCP Client ID: 10.105.12.42
Protocol Version: 2.0
State: Usable
Redirection: GRE
Packet Return: GRE
Assignment: HASH
Initial Hash Info: 00000000000000000000000000000000
00000000000000000000000000000000
Assigned Hash Info: 00000000000000000000000000000000
00000000003FFFFFFFFFFFFFFFFFFFFF
Hash Allotment: 86 (33.59%)
Packets s/w Redirected: 0
Connect Time: 00:32:35
Bypassed Packets
Process: 0
CEF: 0
Errors: 0
WCCP Client ID: 10.105.13.205
Protocol Version: 2.0
State: Usable
Redirection: GRE
Packet Return: GRE
Assignment: HASH
Initial Hash Info: 00000000000000000000000000000000
00000000000000000000000000000000
Assigned Hash Info: FFFFFFFFFFFFFFFFFFFFF80000000000
00000000000000000000000000000000
Hash Allotment: 85 (33.20%)
Packets s/w Redirected: 0
Connect Time: 00:32:31
Bypassed Packets
Process: 0
CEF: 0
Errors: 0