< draft-wessels-icp-v2-01.txt   draft-wessels-icp-v2-02.txt >
Network Working Group D. Wessels Network Working Group D. Wessels
Internet-Draft National Laboratory for Applied Internet-Draft National Laboratory for Applied
Obsoletes <draft-wessels-icp-v2-00.txt> Network Research/UCSD Obsoletes <draft-wessels-icp-v2-01.txt> Network Research/UCSD
Expires: September 25, 1997 25 March 1997 Expires: November 22, 1997 22 April 1997
Internet Cache Protocol (ICP), version 2 Internet Cache Protocol (ICP), version 2
<draft-wessels-icp-v2-01.txt> <draft-wessels-icp-v2-02.txt>
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
skipping to change at page 1, line 33 skipping to change at page 1, line 33
To learn the current status of any Internet-Draft, please check the To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast). ftp.isi.edu (US West Coast).
Abstract Abstract
This draft document describes the Internet Cache Protocol (ICP) as This draft document describes the Internet Cache Protocol (ICP) as
currently implemented in a couple of World-Wide Web proxy cache currently implemented in a couple of World-Wide Web proxy cache
packages. ICP was initially developed by Peter Danzig, et. al. at packages. A companion document (RFCXXXX, <draft-wessels-icp-
the University of Southern California. It evolved as an important v2-appl-00.txt>) describes the application of ICP to Web caches. ICP
part of hierarchical caching on the Harvest research project. was initially developed by Peter Danzig, et. al. at the University of
Southern California. It evolved as an important part of hierarchical
caching on the Harvest research project.
1. Introduction 1. Introduction
ICP is a message format used for communicating between Web caches. ICP is a message format used for communicating between Web caches.
Although Web caches use HTTP[1] for the transfer of object data, Although Web caches use HTTP[1] for the transfer of object data,
caches benefit from a simpler, lighter communication protocol. ICP caches benefit from a simpler, lighter communication protocol. ICP
is primarily used in a cache mesh to locate specific Web objects in is primarily used in a cache mesh to locate specific Web objects in
neighbor caches. One cache will send an ICP query to its neighbors. neighbor caches. One cache will send an ICP query to its neighbors.
The neighbors will send back ICP replies indicating a ``HIT'' or a The neighbors will send back ICP replies indicating a ``HIT'' or a
``MISS.'' ``MISS.''
In current practice, ICP is implemented on top of UDP, but there is In current practice, ICP is implemented on top of UDP, but there is
no requirement that it be limited to UDP. We feel that ICP over UDP no requirement that it be limited to UDP. We feel that ICP over UDP
skipping to change at page 8, line 28 skipping to change at page 8, line 28
This flag is set in an ICP reply message (ICP_OP_HIT, ICP_OP_MISS, This flag is set in an ICP reply message (ICP_OP_HIT, ICP_OP_MISS,
ICP_OP_MISS_NOFETCH, or ICP_OP_HIT_OBJ) to indicate that the low ICP_OP_MISS_NOFETCH, or ICP_OP_HIT_OBJ) to indicate that the low
16-bits of the Option Data field contain the measured RTT to the 16-bits of the Option Data field contain the measured RTT to the
host given in the requested URL. If ICP_FLAG_SRC_RTT is clear in host given in the requested URL. If ICP_FLAG_SRC_RTT is clear in
the query then it MUST also be clear in the reply. If the query then it MUST also be clear in the reply. If
ICP_FLAG_SRC_RTT is set in the query, then it may or may not be ICP_FLAG_SRC_RTT is set in the query, then it may or may not be
set in the reply. set in the reply.
4. Security Considerations 4. Security Considerations
Security is an issue with ICP over UDP because of its connectionless The security issues relating to ICP are discussed in the companion
nature. A proxy/cache must only process ICP messages received from document, RFCXXXX (<draft-wessels-icp-v2-appl-00.txt>).
its known neighbors. A cache must discard messages from unknown
addresses.
The ICP_OP_HIT_OBJ message is especially sensitive to security issues
since it contains actual object data in the response. In combination
with IP spoofing it is most likely possible to pollute the cache with
invalid objects.
Multicasting ICP queries provides a very simple method for others to
"snoop" on ICP messages. Cache administrators should configure the
application to use the minimum required multicast TTL.
5. References 5. References
[1] Fielding, R., et. al, "Hypertext Transfer Protocol -- HTTP/1.1", [1] Fielding, R., et. al, "Hypertext Transfer Protocol -- HTTP/1.1",
RFC 2068, UC Irvine, January 1997. RFC 2068, UC Irvine, January 1997.
[2] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform Resource [2] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform Resource
Locators (URL)", RFC 1738, CERN, Xerox PARC, University of Minnesota, Locators (URL)", RFC 1738, CERN, Xerox PARC, University of Minnesota,
December 1994. December 1994.
 End of changes. 5 change blocks. 
20 lines changed or deleted 10 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/