Internet Cache Protocol

Internet Cache Protocol ( ICP ) är ett UDP -baserat protokoll som används för att koordinera webbcacher . Dess syfte är att ta reda på den lämpligaste platsen för att hämta ett begärt objekt i situationer där flera cacher används på en enda plats. Funktionen hos ICP är att använda cacharna så effektivt som möjligt och att minimera antalet fjärrförfrågningar till ursprungsservern.

Drift

Hierarkiskt kan en efterfrågad cache antingen vara en förälder eller ett syskon.

Föräldrar sitter oftast närmare internetuppkopplingen än barnet. Om en underordnad cache inte kan hitta ett objekt, skickas frågan vanligtvis till den överordnade cachen, som hämtar, cachelagrar och skickar förfrågan vidare. Syskon är cacher med samma hierarkiska status, vars syfte är att fördela belastningen mellan syskonen.

När en begäran kommer in i en cache i ett kluster av syskon, används ICP för att fråga syskonen efter objektet som efterfrågas. Om syskonen har objektet kommer det vanligtvis att överföras därifrån, istället för att frågas från den ursprungliga servern. Detta kallas ofta en "near miss" — objektet hittas inte i cachen (en "miss") utan laddas från en närliggande cache, istället för från en fjärrserver.

ICP-protokollet har utformats för att vara lätt för att minimera tid för tur och retur mellan cacher. Den är avsedd för opålitliga men snabba anslutningar. Detta tillvägagångssätt kan minska antalet serverhämtningar och även förhindra lagring av flera kopior av en instans av data, men leder till den potentiella nackdelen med ökad intercache-kommunikation, vilket kan sakta ner systemet.

ICP-protokollet beskrivs i RFC 2186, dess tillämpning för hierarkisk webbcachelagring i RFC 2187.

Ombud

Webbproxyer som stöder ICP inkluderar:

HTCP , designad som en efterföljare till ICP, försöker hantera olika problem som finns i ICP-distributioner.

ICP-meddelandestruktur

Ett ICP-meddelande består av två sektioner:

  • Rubrik
  • Data

Rubrik: Rubrikens längd är fixerad till 20 oktetter (fem 32-bitars ord).

Data: Data är av variabel längd, begränsad av den maximala ICP-meddelandestorleken (inklusive rubrik) på 16 384 oktetter.

ICP-huvudet består av 8 fält, med 2 valfria fält. Det femte och sjätte fältet är valfritt (rosa bakgrund i tabellen) och heter "alternativ" och "alternativdata".

ICP-huvud
Bit offset Bitar 0–7 8–15 16-31
0 Opcode Version Meddelande Längd
32 Begär nummer
64 alternativ
96 Alternativ Data
128 Avsändarens värdadress
160+  
Data
 

externa länkar

  • RFC 2186 ICP version 2
  • RFC 2187 Tillämpning av ICP version 2