Appendix B.  Internet Cache Protocol

This appendix describes the message format and opcodes of the Internet Cache Protocol, Version 2. You may also want to read RFCs 2186 and 2187. The final section of this appendix describes experimental opcodes not mentioned in the RFCs. Visit http://icp.ircache.net for up-to-date information on the protocol.

ICPv2 Message Format

Figure B-1 shows the structure of an ICP message. The 20-byte header is the same for all messages. As with all Internet protocols, it is necessary to convert all multi-octet fields to network byte order before transmission. Each field is discussed in the following sections.

ICP message format

Figure B-1. ICP message format

Opcode

The opcode determines the type of an ICP message. There are three query opcodes: ICP_OP_QUERY, ICP_OP_SECHO, and ICP_OP_DECHO. All other opcodes are reply messages. These include ICP_OP_HIT, ICP_OP_MISS, and ICP_OP_ERR. Each opcode is explained in Section B.2.

Version

ICP includes an 8-bit version field to indicate the protocol version. Currently, two version numbers are in use: 2 and 3. If there ever was a Version 1 specification or implementation, nothing is known about it. Harvest and Squid use Version 2 in ICP messages. Netcache/Network Appliance uses Version 3. Section 8.1.3.7, describes the interoperation issues between these versions. Note that RFCs 2186 and 2187 describe only ICPv2.

Message Length

This 16-bit ...

Get Web Caching now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.