- Internet Cache Protocol
-
Internet Cache Protocol Fonction partage de cache répartis Sigle ICP Date de création septembre 1997 Port 3130 (TCP et UDP) RFC 2186, 2187 modifier Pile de protocoles 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Modèle Internet
Modèle OSIICP (Internet Cache Protocol) est un protocole Internet utilisé pour coordonner les caches (antémémoires) web. Son objectif est de trouver l'endroit le plus approprié où récupérer un objet demandé par un client dans un contexte où de multiples caches sont utilisés comme un seul site. Le but est d'utiliser les caches aussi efficacement que possible et de minimiser le nombre de requêtes vers le serveur hébergeant l'objet désiré.
Hiérarchiquement, un cache interrogé peut être un de niveau supérieur (parent) ou de niveau égal (frère ou sibling).
Les serveurs parents sont d'ordinaire plus proches du serveur hébergeant l'objet recherché que les serveurs fils. Si un serveur fils ne peut trouver l'objet, la requête est en générale relayée vers un serveur de cache parent qui va rapporter, mémoriser (mettre en cache) et finalement transmettre la requête au demandeur. Les serveurs frères (siblings) sont des serveurs de cache d'un niveau hiérarchique égal, dont le but est de répartir la charge.
Quand une requête arrive en cache dans un cluster de serveurs frères, le protocole ICP est utilisé pour interroger les serveurs frères sur les objets qui ont été demandés. Si un serveur frère détient un objet en cache, il sera le plus souvent issus de ce cache et non d'une requête directe sur le serveur original. Ce processus est souvent appelé near miss quand l'objet n'est pas dans le cache du serveur de cache interrogé (raté ou miss) mais qu'il est finalement récupéré depuis celui d'un serveur proche (near) au lieu du serveur original.
Le protocole ICP a été conçu léger pour minimiser le nombre d'aller-retours entre les caches. Il est prévu pour les connexions peu fiables mais rapides.
Le protocole ICP est décrit dans la RFC 2186, son application aux serveurs de cache web hiérarchiques dans la RFC 2187.
Les serveurs mandataires (proxies) qui supportent ICP :
- Harvest[1]
- Squid[1]
- NetCache[1]
- Novell BorderManager FastCache[1]
- Netscape Proxy Server[1]
- DeleGate[1]
- MOWS[1]
- Inktomi Traffic Server[1]
- Cisco CacheEngine[1]
- SkyCache[1]
- Mirror Image[1]
- Microsoft Proxy
- Cisco Content Engine
- CACHEbox
- ProxySG
HTCP, conçu comme successeur d'ICP, tente de résoudre divers problèmes rencontrés dans un déploiement ICP.
Structure des messages ICP
Un message ICP comprend deux sections:
- l'en-tête (header),
- les données (data).
En-tête La longueur de l'en-tête est fixée à 20 octets (cinq mots de 32 bits).
Données Les données ont une longueur variable limitée par la taille maximale d'un message ICP qui est de 16384 octets (en-tête comprise).
L'en-tête ICP contient huit champs, dont deux optionnels (champs 5 et 6 en rose dans le tableau).
En-tête ICP Bit offset Bits 0–7 8–15 16-31 0 Opcode Version Longueur du message 32 Numéro de requête 64 Options 96 Données Optionnelles 128 Adresse du demandeur 160+
Données
Références
- Inter Cache Communication Protocols, Ingrid Melve
Liens externes
Wikimedia Foundation. 2010.