+
+
+
+
+
+
INTERNET-DRAFT M Cieslak
-<draft-wilson-wrec-wccp-v2-01.txt> D Forster
+<draft-wilson-wrec-wccp-v2-03.txt> D Forster
G Tiwana
R Wilson
Cisco Systems
- 03 Apr 2001
- Expires Oct 2001
+ 01 Nov 2001
+ Expires May 2002
Web Cache Communication Protocol V2.0
[Page 1]
-\f
-web-caches.
+
+
+ web-caches.
Designated Web-Cache.
[Page 2]
-\f
+
+
3. Introduction
3.1 Protocol Overview
[Page 3]
-\f
-* Alternative Hashing.
+
+
+ * Alternative Hashing.
WCCP V2.0 allows the designated web-cache to mark individual buckets
in the Redirection Hash Table for a secondary hash. This allows the
traffic being hashed to a particular bucket to be distributed across
[Page 4]
-\f
-in the list should discard the WCCP2_I_SEE_YOU message.
+
+
+ in the list should discard the WCCP2_I_SEE_YOU message.
4.2 Describing a Service Group
[Page 5]
-\f
+
+
4.4 Negotiating the Forwarding Method
A web-cache and router may negotiate the method by which packets are
[Page 6]
-\f
-web-cache then the web-cache will abort its attempt to join the
+
+
+ web-cache then the web-cache will abort its attempt to join the
Service Group. Otherwise the web-cache will pick one method from those
advertised by the router and specify that in the optional Capabilities
Info component of its next WCCP2_HERE_I_AM message. Absence of an
[Page 7]
-\f
+
+
4.6 Advertising Views of the Service Group
Each router advertises its view of a Service Group via the Router View
[Page 8]
-\f
+
+
4.8.1 Hash Tables
When using hash assignment each router uses a 256-bucket Redirection
[Page 9]
-\f
-will wait 1.5 HERE_I_AM_T seconds following a change before generating
+
+
+ will wait 1.5 HERE_I_AM_T seconds following a change before generating
the message in order to allow the Service Group membership to
stabilise.
[Page 10]
-\f
+
+
4.11 Traffic Redirection
4.11.1 Redirection with Hash Assignment
[Page 11]
-\f
+
+
4.12.1 Forwarding with GRE Encapsulation
Redirected packets are encapsulated in a new IP packet with a GRE [1]
[Page 12]
-\f
+
+
4.13 Packet Return
WCCP V2.0 allows a web-cache to decline a redirected packet and return
[Page 13]
-\f
+
+
4.15 Command and Status Information
WCCP V2.0 includes a mechanism to allow web-caches to send commands to
[Page 14]
-\f
+
+
5.2 'I See You' Message
+--------------------------------------+
[Page 15]
-\f
+
+
5.5 WCCP Message Header
0 1 2 3
[Page 16]
-\f
+
+
5.6.1 Security Info Component
0 1 2 3
[Page 17]
-\f
+
+
5.6.2 Service Info Component
0 1 2 3
[Page 18]
-\f
-Priority
+
+
+ Priority
Service priority. The lowest priority is 0, the highest is
255. Packets for redirection are matched against Services in priority
[Page 19]
-\f
-Port 0-7
+
+
+ Port 0-7
Zero terminated list of UDP or TCP port identifiers. Packets will be
matched against this set of ports if the Ports Defined flag is set. If
[Page 20]
-\f
+
+
5.6.3 Router Identity Info Component
0 1 2 3
[Page 21]
-\f
-actually see the message.
+
+
+ actually see the message.
Received From Address 0-n
[Page 22]
-\f
+
+
5.6.4 Web-Cache Identity Info Component
0 1 2 3
[Page 23]
-\f
+
+
5.6.5 Router View Info Component
This represents a router's view of the Service Group.
[Page 24]
-\f
-Assignment Key
+
+
+ Assignment Key
Assignment Key element received in the last WCCP2_REDIRECT_ASSIGNMENT
message. Used by the designated web-cache to verify that an assignment
[Page 25]
-\f
+
+
5.6.6 Web Cache View Info Component
This represents a web-cache's view of the Service Group.
[Page 26]
-\f
-Router ID Element 0-n
+
+
+ Router ID Element 0-n
List of elements containing the identifying IP address for each router
in the Service Group and the last "Received ID" from each.
[Page 27]
-\f
+
+
5.6.7 Assignment Info Component
0 1 2 3
[Page 28]
-\f
-Assignment Key
+
+
+ Assignment Key
The designated web-cache expects this element to be returned by a router
in subsequent WCCP2_I_SEE_YOU messages.
[Page 29]
-\f
+
+
5.6.8 Router Query Info Component
0 1 2 3
[Page 30]
-\f
+
+
5.6.9 Capabilities Info Component
0 1 2 3
[Page 31]
-\f
+
+
5.6.10 Alternate Assignment Component
0 1 2 3
[Page 32]
-\f
-Assignment Type = WCCP2_MASK_ASSIGNMENT
+
+
+ Assignment Type = WCCP2_MASK_ASSIGNMENT
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
[Page 33]
-\f
-Mask/Value Set Element 0-m
+
+
+ Mask/Value Set Element 0-m
A list of the Mask/Value Element Sets for the Service Group
[Page 34]
-\f
+
+
5.6.11 Assignment Map Component
0 1 2 3
[Page 35]
-\f
+
+
5.6.12 Command Extension Component
0 1 2 3
[Page 36]
-\f
+
+
5.7 Information Elements
5.7.1 Router ID Element
protocol message including a Router Identity Info component. Will never be
zero.
+
5.7.2 Web-Cache Identity Element
0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| WC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Hash Revision |U| Reserved |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Bucket Block 0 |
+ | Hash Revision |U|T| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Assignment data |
| . |
| . |
- | . |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Bucket Block 7 |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Assignment Weight | Status |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
WC Address
Web-Cache IP address
+ Hash Revision
+
+ 0x00
+
+
[Page 37]
-\f
-Hash Revision
- 0x00
U
the same bucket set to a web-cache that left and subsequently
rejoined a Service Group.
+ T
+
+ A bit indicating the type of assignment data element immediately
+ following. The meaning of the values are:
+
+ 0 Hash Assignment Data Element
+ 1 Mask Assignment Data Element
+
+
+5.7.2 Hash Assignment Data Element
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 3 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 5 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 6 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Bucket Block 7 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Assignment Weight | Status |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
Bucket Block 0-7
256-bit vector. A set bit indicates the corresponding Redirection
Hash Table bucket is assigned to this web-cache.
+
+
+
+
+
+ [Page 38]
+
+
Assignment Weight
Hash weight. May be used to indicate to the designated web-cache how new
Hash status. May be used to indicate to the designated web-cache how new
assignments should be made.
+
+5.7.2 Mask Assignment Data Element
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Number of Mask/Value Set Elements (n) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Mask/Value Set Element 0 |
+ | . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | . |
+ | . |
+ | . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Mask/Value Set Element n |
+ | . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Assignment Weight | Status |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Number of Mask/Value Set Elements (n)
+
+ Number of Mask/Value Set elements in the element
+
+ Mask/Value Set Element 0-n
+
+ A list of Mask/Value Set elements
+
+ Assignment Weight
+
+ Mask weight. May be used to indicate to the designated web-cache how new
+ assignments should be made.
+
+ Status
+
+ Mask status. May be used to indicate to the designated web-cache how new
+ assignments should be made.
+
+
+
+ [Page 39]
+
+
5.7.3 Assignment Key Element
This element identifies a particular assignment.
Incremented if a change has occurred.
-
-
-
- [Page 38]
-\f
5.7.4 Router Assignment Element
0 1 2 3
Router ID. A router will ignore an assignment if Change Number is
invalid.
+
+
+ [Page 40]
+
+
5.7.5 Capability Element
0 1 2 3
WCCP2_ASSIGNMENT_METHOD 0x02
WCCP2_PACKET_RETURN_METHOD 0x03
-
-
-
-
-
- [Page 39]
-\f
-Length
+ Length
Length of Capability element Value
Currently defined values are:
WCCP2_PACKET_RETURN_METHOD_GRE 0x00000001
+
+
+
+ [Page 41]
+
+
WCCP2_PACKET_RETURN_METHOD_L2 0x00000002
+
5.7.6 Mask/Value Set Element
0 1 2 3
| Value Element n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-
- [Page 40]
-\f
-Mask Element
+ Mask Element
Mask element for this set.
The list of value elements for this set.
+
5.7.7 Mask Element
Note that in all of the mask fields of this element a zero means
| Source Port Mask | Destination Port Mask |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+ [Page 42]
+
+
Source Address Mask
The 32 bit mask to be applied to the source IP address of the packet.
The 16 bit mask to be applied to the TCP/UDP destination port field of the packet.
-
-
-
-
-
-
-
- [Page 41]
-\f
5.7.8 Value Element
0 1 2 3
Destination Port Value
+
+
+
+ [Page 43]
+
+
The value to match against the TCP/UDP destination port number of the
packet after masking.
- [Page 42]
-\f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [Page 44]
+
+
6. Security Considerations
WCCP V2 provides a mechanism for message authentication. It is
- [Page 43]
-\f
+ [Page 45]
+
+
Gurumukh Tiwana
Cisco Systems
170 Tasman Drive
email: robewils@cisco.com
- Expires January 2001
+ Expires May 2002
- [Page 44]
-\f
+ [Page 46]
+
+
+