il caching

47
Daniela M. Prencipe Daniela M. Prencipe Daniela M. Prencipe Matr. 3036718 Matr. 3036718

Upload: yul

Post on 18-Jan-2016

63 views

Category:

Documents


0 download

DESCRIPTION

IL CACHING. COOPERATIVO. Daniela M. Prencipe Matr. 3036718. Sommario. Il Web caching; Il Caching cooperativo; Le varie architetture del ca-ching cooperativo; Il protocollo ICP; La rete Garr-G; Configurazione del squid cache server nella rete Garr. WEB CACHING. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IL CACHING

Daniela M. Prencipe

Daniela M. Prencipe Daniela M. Prencipe Matr. 3036718Matr. 3036718

Page 2: IL CACHING

Daniela M. Prencipe

• Il Web caching;Il Web caching;• Il Caching cooperativo;Il Caching cooperativo;• Le varie architetture del ca-ching Le varie architetture del ca-ching

cooperativo;cooperativo;• Il protocollo ICP;Il protocollo ICP;• La rete Garr-G;La rete Garr-G;• Configurazione del squid cache Configurazione del squid cache

server nella rete Garr.server nella rete Garr.

SommarioSommario

Page 3: IL CACHING

Daniela M. Prencipe

WEB CACHINGWEB CACHING• Il Web caching è una tecnica che può ri-durre il

ritardo nella ricerca dei docu-menti e diminuire la quantità di traffico Web inviato su Internet.

• La cache nel Web è un’entità della rete, detta

anche proxy server che soddisfa le richieste HTTP da parte di un client.

Page 4: IL CACHING

Daniela M. Prencipe

• Il proxy server ha un proprio disco di archiviazione e conserva nella sua memoria copie degli oggetti ri-chiesti di recente.

• Gli utenti configurano i loro brow-ser in modo tale che tutte le ri-chieste HTTP siano dirette ai proxy server.

IL PROXY SERVER(1)IL PROXY SERVER(1)

Page 5: IL CACHING

Daniela M. Prencipe

• Quando un browser invia una richiesta HTTP per un oggetto, il proxy server con-trolla se ha una copia dell'oggetto memo-rizzata. Se si invia un GET condizionato all'URL dell'oggetto richiesto, altrimen-ti invia un GET semplice.

• Quindi il proxy server riceve, o mantie-ne, l'oggetto nella propria cache e invia un messaggio di risposta HTTP al browser con, in allegato, l'oggetto richiesto.

IL PROXY SERVER IL PROXY SERVER (2)(2)

Page 6: IL CACHING

Daniela M. Prencipe

I proxy server stanno avendo un grande successo in I proxy server stanno avendo un grande successo in Internet per almeno tre motivi:Internet per almeno tre motivi:

1) Un proxy server può ridurre sostanzialmente il tempo di risposta di una richiesta da parte di un client. Se c'e una connessione ad alta velocità fra il client e il proxy server, come spesso succede, e se la cache contiene gli oggetti richiesti, allora esso e in grado di inviare rapidamente al client gli oggetti richiesti.

2) I proxy server possono ridurre in modo dra-stico il traffico su un link di accesso di un'organizzazione. Inoltre, possono ridurre in modo consistente anche il traffico del-l'intero Internet, migliorando quindi le performance di tutte le applicazioni Inter-net..

I VANTAGGGI I VANTAGGGI CON I PROXY SERVER (1)CON I PROXY SERVER (1)

Page 7: IL CACHING

Daniela M. Prencipe

3) Un Internet fitto di proxy server fornisce un'infrastruttura ideale per la rapida di-stribuzione di contenuti, anche per le in-formazioni disponibili su siti che funziona-no su server lenti o con link di accesso a bassa velocità. Se questi provider “poveri di risorse" hanno contenuti di interesse ge-nerale, questi saranno copiati velocemente nelle cache dei proxy server e l'alta ri-chiesta degli utenti potrà essere soddi-sfatta.

I VANTAGGGI I VANTAGGGI CON I PROXY SERVER (2)CON I PROXY SERVER (2)

Page 8: IL CACHING

Daniela M. Prencipe

• I proxy server multipliproxy server multipli, situati in locazioni diverse su Internet, possono cooperare e mi-gliorare le performance generali e possono trarre beneficio dalla condivisione degli og-getti contenuti nella propria cache così come un gruppo di client (browser). Il loro effet-to positivo è amplificato dall'architettura distribuita.

• Le cache gerarchiche sono un'estensione logi-ca del concetto di cache, utilizzano i proto-colli di intercache. Questo tipo di protocol-li fornisce delle informazioni che possono essere utilizzate da un apparato di webcache per ridurre il tempo di ricerca di un ogget-to.

IL CACHING IL CACHING COOPERATIVOCOOPERATIVO

Page 9: IL CACHING

Daniela M. Prencipe

Un’efficiente cache nel client o nel proxy ha dei Un’efficiente cache nel client o nel proxy ha dei significativi vantaggi:significativi vantaggi:

1) riduce la latenza percepita dall'utente;2) riduce il carico del Web server;3) diminuisce il numero di pacchetti che tran-sitano

nella rete e quindi aumenta la banda disponibile;4) aumenta l'affidabilità perché gli oggetti possono

essere recuperati anche quando i server d'origine non sono raggiungibili;

5) il minor costo, poiché si può utilizzare una struttura distribuita più economica;

VANTAGGI DEL CACHING VANTAGGI DEL CACHING COOPERATIVO(1)COOPERATIVO(1)

Page 10: IL CACHING

Daniela M. Prencipe

6) un maggior numero di cache hits: in genera-le, ci si può aspettare che almeno il 10% delle richieste ricevute da una cache si traducano in cache hit (risposte positive) in quelle adiacenti;

7) routing delle richieste: eseguendo un rou-ting verso una certa cache adiacente, é pos-sibile instradare il traffico HTTP su un de-terminato percorso. Per esempio, avendo due link di connessione con la rete internet, é possibile instradare il traffico HTTP su uno dei due, lasciando il secondo collegamento a disposizione per tutti gli altri utilizzi.

VANTAGGI DEL CACHING VANTAGGI DEL CACHING COOPERATIVO(2)COOPERATIVO(2)

Page 11: IL CACHING

Daniela M. Prencipe

Alcuni possibili svantaggi possono essere:Alcuni possibili svantaggi possono essere:• maggiore complessità della configurazione:

per ogni singola relazione di "parentela" é ne-cessario coordinare gli interventi di configu-razione di entrambi i nodi coinvolti ed al cre-scere del numero delle cache componenti la ge-rarchia, l'attività di configurazione tende a divenire più impegnativa;

• maggiore ritardo nella risoluzione di un cache miss (risposta negativa): il fatto che l'utilizzo od il mancato utilizzo di una cache adiacente si traduca in un aumento della velocità percepita dall'utente finale può dipendere da svariati fattori: il ritardo tra i nodi, la congestione dei link, l'utilizzo o il mancato utilizzo di protocolli di comunicazione intercache ed altro ancora.

SVANTAGGI DEL CACHING SVANTAGGI DEL CACHING COOPERATIVOCOOPERATIVO

Page 12: IL CACHING

Daniela M. Prencipe

Alcune soluzioni proposte:• Architetture gerarchiche• Architetture distribuite• Architetture ibride

ARCHITETTURA DEL ARCHITETTURA DEL CACHING COOPERATIVOCACHING COOPERATIVO

Page 13: IL CACHING

ESEMPIOESEMPIO (1) (1)

di architettura gerarchicadi architettura gerarchica Cache nazionaleCache nazionale

Server di origineServer di origine

Cache dell’istituzioneCache dell’istituzione

Cache regionaleCache regionale

HTTP

HTTP

Nessuna copia dell’oggetto

Nessuna copia dell’oggetto

Nessuna copia dell’oggetto

Nella risposta HTTP viene inserita copia

dell’oggetto

Memorizza copia

dell’oggetto

Memorizza copia

dell’oggetto

Memorizza copia

dell’oggetto

HTTP

HTTP

Page 14: IL CACHING

ESEMPIO (2)ESEMPIO (2)di architettura gerarchicadi architettura gerarchica

Cache dell’istituzioneCache dell’istituzione

Richiesta copia dello stesso

oggetto

Contiene copia dell’oggetto

HTTP

HTTP

HTTP

HTTP

Page 15: IL CACHING

Daniela M. Prencipe

• Elevato tempo di latenza in caso di hit al livello più alto.

• Non si utilizzano possibili hit sui cache server dello stesso livello (sibling).

• I cache server di più alto livello possono diventare colli di bottiglia.

ARCHITETTURA ARCHITETTURA GERARCHICAGERARCHICA

Page 16: IL CACHING

Daniela M. Prencipe

• I server proxy della gerarchia devono essere posizionati in punti strategici della rete;

• Ogni livello della gerarchia può in-trodurre un ritardo aggiuntivo;

• Copie multiple della stessa risorsa sono presenti in diversi livelli della cache.

SVANTAGGI DELLA SVANTAGGI DELLA ARCHITETTURA ARCHITETTURA GERARCHICAGERARCHICA

Page 17: IL CACHING

Daniela M. Prencipe

• Esiste un unico li-vello di server pro-xy;

• Ogni server proxy mantiene delle meta-informazioni sul con-tenuto delle cache degli altri server proxy.

• Tutte le cache sono sorelle.

ARCHITETTURA ARCHITETTURA DISTRIBUITADISTRIBUITA

11

11

11

11

Page 18: IL CACHING

Daniela M. Prencipe

• Quando viene inviata una richiesta ad un proxy, se non ha l’oggetto nella sua cache, lo chiede ai proxy dello stesso livello (quelle cache sorelle) ;

• Non si appesantisce la rete con continui scambi di informazioni fra le cache coope-ranti.

QUERY COOPERATIONQUERY COOPERATION

Page 19: IL CACHING

Daniela M. Prencipe

• Vantaggi della architettura distribuita:Vantaggi della architettura distribuita:− gran parte del traffico è limitato ai livelli locali della rete;− permette una migliore condivisione del carico ed una

migliore tolleranza ai guasti;

• Svantaggi della architettura distribuita:Svantaggi della architettura distribuita:− numerosi problemi per sviluppare il caching di-stribuito

su una vasta area geografica (elevati tempi di connessione, maggiore uso della lar-ghezza di banda, questioni amministrative, …);

− sovraccarico sulla rete;− l’aumento del rischio di perdita di pacchetti porta a

tempi di risposta più alti.

VANTAGGI E SVANTAGGI VANTAGGI E SVANTAGGI DELLA ARCHITETTURA DELLA ARCHITETTURA

DISTRIBUITADISTRIBUITA

Page 20: IL CACHING

Daniela M. Prencipe

• Continui scambi di informazioni fra le ca-che cooperanti circa il loro contenuto;

• Si scambiano poche informazioni, dunque non si sovraccarica la rete.

INFORMED INFORMED COOPERATIONCOOPERATION

Rias-sunto

Rias-sunto

Page 21: IL CACHING

Daniela M. Prencipe

Presenti in letteratura:

• ICP (Internet Caching Protocol)

• CD (Cache Digests)

• HTCP (HyperText Caching Protocol)

• CARP (Cache Array Routing Protocol)

• …

PROTOCOLLI DI PROTOCOLLI DI COOPERAZIONECOOPERAZIONE

Page 22: IL CACHING

Daniela M. Prencipe

1) ICP è un protocollo intercache origi-narioICP è un protocollo intercache origi-nario di livello applicativo (UDP come lo strato del trasporto) che permette ad un server proxy di chiedere ad un altro proxy se possiede una copia valida di una data risorsa;

2) ICP permette l’invio di richieste non soltanto verso i nodi parent ma anche tra nodi appartenenti allo stesso livel-lo della gerarchia (nodi sibling);

3) Quando il proxy ha identificato tramite ICP un altro proxy che possiede una co-pia valida della risorsa richiesta, per ottenerla invia una normale richiesta HTTP;

ICP (1)ICP (1)

Page 23: IL CACHING

Daniela M. Prencipe

4)4) Invio delle query ICP:Invio delle query ICP:– per default, un proxy invia una query ICP a tutti i proxy a cui è direttamente collegato nella gerarchia;

5)5) Analisi delle risposte ICP:Analisi delle risposte ICP:– il proxy analizza le risposte ICP finché riceve il primo ICP_HIT o finché non ha ricevuto tutte le risposte con ICP_MISS;– timeout di 2 secondi. Se non si riceve un messaggio di risposta significa che la cache remota è fuori servizio oppure la rete e/o la cache sono congestiona-te;e quindi si rinvia la query alla ca-che remota.

ICP (2)ICP (2)

Page 24: IL CACHING

Esempio ICP :Esempio ICP :si verifica un ICP_HITsi verifica un ICP_HIT

HTTP HTT

P

HTTP

HTTP

HTTP

HTTP

HTTP

A

1

1

2

S

ICP_MISS

ICP_MISS

ICP_MISS

ICP_MISS

ICP_HIT

ICP_HITICP_

HIT

ICP_HIT

Consideriamo cosa avviene Consideriamo cosa avviene nei proxy direttamente nei proxy direttamente

collegati ad Acollegati ad A

Page 25: IL CACHING

Esempio ICP :Esempio ICP : tutti ICP_MISS tutti ICP_MISS

HTTP HTT

P

HTTP

HTTP

HTTP

HTTP

HTTP

A

1

1

2

S

ICP_MISS

ICP_MISS

ICP_MISS

ICP_MISS

ICP_MISS

ICP_MISS

HTTP

HTTP

Consideriamo cosa avviene Consideriamo cosa avviene in tutti i livelli in tutti i livelli

dell’architetturadell’architettura

HTTP

HTTP

HTTP

HTTP

HTTP

HTTP

Page 26: IL CACHING

Esempio ICP :Esempio ICP :si verifica un timeoutsi verifica un timeout

HTTP HTT

P

HTTP

HTTP

HTTP

HTTP

HTTP

A

1

1

2 2

S

Consideriamo cosa avviene Consideriamo cosa avviene nei proxy direttamente nei proxy direttamente

collegati ad Acollegati ad A

TIMEOUTTIMEOUTLa cache è

fuori servizio o/e

congestionata.

Page 27: IL CACHING

Daniela M. Prencipe

OPCODEOPCODE VERSIONVERSION PACKET LENGTHPACKET LENGTH

REQUEST NUMBERREQUEST NUMBER

OPTIONSOPTIONS

PADDINGPADDING

SENDER HOST ADDRESSSENDER HOST ADDRESS

DATADATA

FORMATO DEL FORMATO DEL MESSAGGIO ICP (1)MESSAGGIO ICP (1)

0 31

Page 28: IL CACHING

Daniela M. Prencipe

• OPCODE:OPCODE: tipo di messaggio (es. ICP_QUERY, ICP_MISS, ICP_HIT)– Messaggio di tipo ICP_QUERYICP_QUERY: il payload del

pacchetto è l’URL della risorsa richiesta;• VERSION: VERSION: versione del protocollo che è stato usato;• PACKET LENGTH:PACKET LENGTH: lunghezza totale del pacchetto;• REQUEST NUMBER: REQUEST NUMBER: numero richiesta assegnata

dall’utente; è spesso usato come parte di una chiave di cache;deve essere sempre lo stesso nel msg di query e di reply;

• PADDING: PADDING: autenticazione informazione;• SENDER HOST ADDRESS: SENDER HOST ADDRESS: identificazione del sender.

FORMATO DEL FORMATO DEL MESSAGGIO ICP (2)MESSAGGIO ICP (2)

Page 29: IL CACHING

Daniela M. Prencipe

FORMATO DEL MESSAGGIO FORMATO DEL MESSAGGIO DI QUERYDI QUERY

NOMENOME DIMENSIONEDIMENSIONE DESCRIZIONDESCRIZIONEE

Intestazione 16 La comune intestazione

Richiedente 4 Id dell’host richiedente

URL variabile URL al quale lo stato è stato controllato

Page 30: IL CACHING

Daniela M. Prencipe

FORMATO DEL MESSAGGIO FORMATO DEL MESSAGGIO DI HIT O MISSDI HIT O MISS

NOME NOME DIMENSIONE DIMENSIONE DESCRIZIONDESCRIZIONEE

Intestazione 16 La comune intestazione

URL Variabile URL al quale lo stato è stato controllato

Page 31: IL CACHING

Daniela M. Prencipe

1) Non supporta la validazione degli ogget-ti(header if-modified-since): questo può portare a FALSE HIT;

2) I cache miss incorrono in un ritardo addizionale (timeout);

3) Overhead sulla rete nel cache hit (circa 160 byte per ogni richiesta/risposta ad ogni cache cooperante).

4) Pericolo di cache poisoning se si usa l’opzione ICP_HIT_OBJ

PROBLEMI DELL’ICPPROBLEMI DELL’ICP

Page 32: IL CACHING

Daniela M. Prencipe

Spesso un oggetto in cache come dimensioni en-tra in un pacchetto UDP, allora perché non includere nella risposta direttamente anche l’oggetto? Non dovendo effettuare la richie-sta HTTP si risparmia tempo e banda.

• Primo problema: l’oggetto può essere scaduto, mentre con una richiesta HTTP no.

• Secondo problema: Cache poisoning = contami-nazione del contenuto di una cache con ogget-ti fasulli.

• In conclusione: lo stesso RFC che descrive ICP sconsiglia caldamente l’uso dell’opzione ICP_HIT_OBJ.

ICP_HIT_OBJICP_HIT_OBJ

Page 33: IL CACHING

Daniela M. Prencipe

La fase di progettazione della nuova ge-nerazione della rete della ricerca i-taliana, denominata GARR-Giganet, coincide con un periodo particolarmen-te ricco di innovazione nelle tecnolo-gie di rete. Oggi sono infatti econo-micamente e tecnicamente realizzabili la trasmissione a velocità di decine di Gigabit per secondo su fibra otti-ca, l'utilizzo di router ad altissime prestazioni, la creazione di una rete ottica capillare e pervasiva e la mol-teplicità di fornitori di servizi e connettività.

LA RETE GARR-G (1)LA RETE GARR-G (1)

Page 34: IL CACHING

Daniela M. Prencipe

LA RETE GARR-G (2)LA RETE GARR-G (2)

Page 35: IL CACHING

Daniela M. Prencipe

Lo scopo dell'attività di sperimentazione chiamata GARR-G Pilot è di provare sul campo tali avanzate tecnologie e possibi-lità per fornire dati ed esperienze alla progettazione di GARR-Giganet.

Trasmissioni fotoniche, apparecchiature di ultima generazione e l'attivazione di funzionalità avanzate, come qualità di servizio a livello di protocollo IP, sono i pilastri su cui è costruita la rete Pi-lota della Ricerca Italiana.

LA RETE GARR-G (3)LA RETE GARR-G (3)

Page 36: IL CACHING

Daniela M. Prencipe

La Rete Italiana della Ricerca Scientifica "GARR" si fonda su progetti di collabora-zione scientifica ed accademica tra le U-niversità e gli Enti di Ricerca pubblici italiani. Di conseguenza il servizio di rete GARR è destinato principalmente alla comunità che afferisce al Ministero del-l'Università e della Ricerca Scientifica e Tecnologica (MURST). Esiste tuttavia la possibilità di estensione del servizio stesso anche ad altre realtà che svolgono attività di ricerca in Italia, special-mente ma non esclusivamente in caso di organismi "no-profit" impegnati in colla-borazioni con la comunità afferente al MURST.

LA RETE GARRLA RETE GARR

Page 37: IL CACHING

Daniela M. Prencipe

Schemi dei PoP di GARR-GSchemi dei PoP di GARR-G

Page 38: IL CACHING

Daniela M. Prencipe

• Il servizio Caching Nazionale GARR (CNG) consente di ridurre il traffico sulla rete, ed in parti-colar modo sulle tratte internazionali, mantenendo copie in punti strategici della rete nazionale del materiale più frequentemente richiesto dagli uten-ti.

• Il servizio Caching Nazionale è composto di due parti: Web Caching e Mirroring. Il primo gestisce delle cache per il WWW, mentre il secondo realizza copie complete di siti di particolare interesse.

• Il Servizio Caching Nazionale si dovrà coordinare od evolvere a partire dall'attuale servizio di Web Caching svolto nell'ambito del GARR e dovrà parte-cipare alle iniziative in ambito europeo quali la Cache Task Force di Terena.

Servizio Caching Nazionale Servizio Caching Nazionale GARR (CNG) (1)GARR (CNG) (1)

Page 39: IL CACHING

Daniela M. Prencipe

• Il servizio si occupa della pianificazione e coor-dinamento dei servizi di cache e mirroring; della predisposizione di piani di utilizzo della banda internazionale per il più efficace svolgimento del servizio; della definizione di accordi di scambio e peering con altri servizi analoghi su altre re-ti; della produzione di materiale tecnico (soft-ware, pagine Web, FAQ) per il supporto alla ge-stione del servizio; dell'organizzazione di un gruppo di interesse e dell'organizzazione di in-contri per diffondere raccomandazioni ed informa-zioni sullo sviluppo della tecnologia del caching.

• Oltre alla parte operativa del servizio, viene svolta anche

una parte di sperimentazione, seguen-do gli sviluppi della tecnologia di caching e del WWW, misurando e valutando i vantaggi di organiz-zazioni alternative, di prodotti e servizi.

Servizio Caching Nazionale Servizio Caching Nazionale GARR (CNG) (2)GARR (CNG) (2)

Page 40: IL CACHING

Daniela M. Prencipe

Page 41: IL CACHING

Daniela M. Prencipe

Page 42: IL CACHING

Daniela M. Prencipe

Page 44: IL CACHING

Daniela M. Prencipe

Il protocollo ICP (Internet Caching Protocol), basato su UDP, regola il colloquio tra due server cache in gerarchia.

Le relazioni che si possono stabilire tra le cache sono fondamentalmente di tre tipi:

• essere "figli" di una cache ("parent") • essere "fratelli" di una cache ("sibling") • essere "padri" di una cache In SquidSquid, x configurare un “parent” o stabilire una situazione di “sibling”,

un cache_host direttivo è inserito nel file di configurazione /etc/squid.conf, o un altro file se viene usata l'opzione -f. Il formato è:

cache_peer hostname type http_port icp_port [options]]dove type può essere “parent” o “sibling”.Nel caso specifico del nostro ateneo, diventerebbe:

cache_peer rm.cache.garr.it parent 3128 3130La riga cache_peer definisce il parent il cui nome è rm.cache.garr.it.

Configurazione del Configurazione del squid cache server(1)squid cache server(1)

Page 45: IL CACHING

Daniela M. Prencipe

•Squid è il server proxy più usato (http:// www.squidcache.org)– Progettato per sistemi Unix-like;– Disponibilità del codice sorgente (pro-getto open-source);– Efficienza;– Stabilità ed affidabilità;

•Squid supporta diversi servizi tra cui:– i protocolli applicativi HTTP, FTP, …;– architettura gerarchica di proxy;– i protocolli di cooperazione ICP (de-fault), CARP, Cache Digest.

SquidSquid

Page 46: IL CACHING

Daniela M. Prencipe

Per essere fratelli di un'altra cache occorrerà Per essere fratelli di un'altra cache occorrerà configurare un "sibling",configurare un "sibling", cioè un'analoga riga cache_host con la clausola "sibling" anziché "parent".

Configurare un sibling equivale quindi a tentare di estendere la propria cache, per determinare la presenza o meno dell'oggetto da parte dell'altra cache.Alle volte la relazione di sibling può risultare inefficiente, soprattutto laddove le due comunità di utenti sono troppo diverse (quindi poca probabilità di HIT) o dove le due cache abbiano dimensioni similari. Non è obbligatorio che la relazione di sibling sia simmetrica (come lo è nella vita): si può cioè scegliere, e può avere senso, di essere fratelli di uno che non ci configura come fratello (sibling non reciproco).

Configurazione del Configurazione del squid cache server(2)squid cache server(2)

Page 47: IL CACHING

Daniela M. Prencipe

• rfc 2186 - Internet Cache Protocol (ICP), version 2;

• www.cache.garr.it;• www.garr.it.

BibliografiaBibliografia