| < 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/ | ||||