El Protocolo de caché de Internet ( ICP ) es un protocolo basado en UDP que se utiliza para coordinar cachés web . Su propósito es encontrar la ubicación más adecuada para recuperar un objeto solicitado en una situación en la que se utilizan múltiples cachés en un solo sitio. El ICP debe utilizar los cachés de la manera más eficiente posible y minimizar el número de solicitudes remotas al servidor de origen.
Operación
Jerárquicamente , un caché consultado puede ser padre o hermano.
Los padres suelen sentarse más cerca de la conexión a Internet que el niño. Si un caché secundario no puede encontrar un objeto, la consulta generalmente se enviará al caché principal, que buscará, almacenará en caché y pasará la solicitud. Los hermanos son cachés de igual estatus jerárquico, cuyo propósito es distribuir la carga entre los hermanos.
Cuando una solicitud entra en un caché en un grupo de hermanos, ICP se utiliza para consultar a los hermanos sobre el objeto que se solicita. Si el hermano tiene el objeto, generalmente se transferirá desde allí, en lugar de ser consultado desde el servidor original. A esto a menudo se le llama un "casi error": el objeto no se encuentra en el caché (un "error") sino que se carga desde un caché cercano, en lugar de desde un servidor remoto.
El protocolo ICP fue diseñado para ser liviano con el fin de minimizar el tiempo de ida y vuelta entre cachés. Está diseñado para conexiones rápidas pero poco fiables. Este enfoque puede reducir el número de recuperaciones del servidor y también evitar el almacenamiento de múltiples copias de una instancia de datos, pero conduce al posible inconveniente de una mayor comunicación entre cachés, lo que puede ralentizar el sistema. [1]
El protocolo ICP se describe en RFC 2186, su aplicación al almacenamiento en caché web jerárquico en RFC 2187.
Proxies
Los proxies web que admiten ICP incluyen:
- CACHEbox
- Cisco CacheEngine [2]
- Motor de contenido de Cisco
- Delegar [2]
- Proyecto de cosecha [2]
- Servidor de tráfico [2]
- Imagen reflejada [2]
- CÉSPED [2]
- NetCache [2]
- Servidor proxy de Netscape [2]
- Novell BorderManager FastCache [2]
- ProxySG
- Calamar [2]
- SkyCache [2]
HTCP , diseñado como sucesor de ICP, intenta manejar varios problemas encontrados en las implementaciones de ICP.
Estructura del mensaje ICP
Un mensaje ICP consta de dos secciones:
- Encabezamiento
- Datos
Encabezado: la longitud del encabezado se fija en 20 octetos (cinco palabras de 32 bits).
Datos: Los datos son de longitud variable, limitados por el tamaño máximo del mensaje ICP (incluido el encabezado) de 16.384 octetos.
El encabezado ICP consta de 8 campos, con 2 campos opcionales. El quinto y sexto campo son opcionales (fondo rosa en la tabla) y se denominan apropiadamente "opciones" y "datos de opciones".
Desplazamiento de bits | Bits 0–7 | 8-15 | 16-31 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Código de operación | Versión | Longitud del mensaje | |||||||||||||||||||||||||||||
32 | Número de solicitud | |||||||||||||||||||||||||||||||
64 | Opciones | |||||||||||||||||||||||||||||||
96 | Datos de opciones | |||||||||||||||||||||||||||||||
128 | Dirección de host del remitente | |||||||||||||||||||||||||||||||
160+ | Datos |
Referencias
enlaces externos
- RFC 2186 ICP versión 2
- RFC 2187 Aplicación de ICP versión 2