ICP Protokols

Pēdējais mainījis Administrator 2011-06-06 17:16

ICP Protokols

#term("Interneta Keša Protokols", "Internet_Cache_Protocol") (ICP) ir protokols #term("Web'a kešu", "Web_cache") koordinēšanai. Tā mērķis ir atrast vispiemērotāko vietu, no kurienes iegūt pieprasīto objektu situācijā, kad vienlaikus tiek izmantoti vairākas keša glabātuves. Mērķis ir izmantot kešus cik vien iespējams efektīvi, minimizējot #term("attālinātos", "remote") pieprasījumus #term("izcelsmes serverim", "originating_server").

Hierarhiski, #term("kešs", "cache"), kuram sūta ICP pieprasījumus, var būt gan vecāks, gan bērns, gan #term("līdzinieks", "sibling"). Vecāki parasti atrodas tuvāk Interneta savienojumam, nekā bērni. Ja bērna kešs nevar atrast objektu, pieprasījumu sūtīs vecāka kešam, kurš iegūs, iekešos un pados tālāk šo pieprasījumu. Vecāka serveris spēj atrisināt #term("keša netrāpījumus", "cache_miss"), savukārt līdzinieks nē. Līdzinieki ir keši ar līdzīgu statusu hierarhijā, kuru mērķis ir sadalīt slodzi savā starpā.

Kad vienā no kešiem, kas atrodas līdzinieku pudurī, saņem pieprasījumu, ICP pieprasa tuvajiem kešiem objektu, kurš ir pieprasīts. Ja tuvajiem kešiem ir šāds objekts, tad to #term("pārsūtīs", "transfer"), nevis pieprasīs sākotnējam serverim. To bieži sauc par #term("gandrīz netrāpījumu", "near_miss"), t.i. objektu neatrada sākotnējā kešā (#term("netrāpījums", "cache_miss")), bet to atrada tuvējā kešā, nevis uz attālinātā servera.

ICP protokols ir vieglsvara protokols, lai minimizētu #term("aprites laiku", "round_trip_time") starp kešiem. Tas ir domāts nedrošiem bet ātriem savienojumiem, izmanto īsas #term("noildzes", "timeout") pirms sākotnējais kešs pats ķeras pie objekta izgūšanas. Transporta slānī parasti šim nolūkam izmanto #term("Lietotāja Datagrammu Protokolu", "User_Datagram_Protocol").

ICP protokolu apraksta RFC 2186, tā lietojums hierarhiskai Web kešošanai - RFC 2187. Web'a starpniekserveri, kuri atbalsta ICP ir: Squid, Cisco Content Engine, ProxySG, u.c. HTCP ir iecerēts kā ICP pēctecis, tas cenšas tikt galā ar vairākām problēmām, kas sastopamas ICP uzvedībā.

Kešu hierarhija

Par #term("kešu hierarhiju", "caching_hierarchy") sauc kešu (jeb starpnieku) kopumu, kuri var pārsūtīt viens otram pieprasījumus. Hierarhijā ietilpstošie locekļi, kuri var tieši sazināties, ir #term("kaimiņu keši", "neighbor_cache") jeb partneri. Kaimiņiem ir vai nu vecāku-bērnu vai arī #term("līdzinieku", "sibling") attiecības. Vecāki var pārsūtīt #term("keša netrāpījumus", "cache_miss"); līdzinieki nevar pārsūtīt netrāpījumus. Tātad, pirms pārsūtīt pieprasījumu līdziniekam, sākotnējam kešam ir jāzina, ka tas būs keša trāpījums. ICP, HTCP un Cache Digests var prognozēt keša trāpījumus.

Bibliogrāfija

Tagi:
Izveidojis Kalvis Apsītis 2008-06-04 20:56
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation