• Non ci sono risultati.

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

N/A
N/A
Protected

Academic year: 2021

Condividi "Daniela M. Prencipe Daniela M. Prencipe Matr. 3036718 Matr. 3036718"

Copied!
47
0
0

Testo completo

(1)

Daniela M. Prencipe

Daniela M. Prencipe Daniela M. Prencipe

Matr. 3036718 Matr. 3036718

(2)

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.

Sommario

Sommario

(3)

Daniela M. Prencipe

WEB CACHING WEB 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.

(4)

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)

(5)

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)

(6)

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)

(7)

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)

(8)

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

COOPERATIVO

COOPERATIVO

(9)

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)

(10)

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)

(11)

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

COOPERATIVO

COOPERATIVO

(12)

Daniela M. Prencipe

Alcune soluzioni proposte:

• Architetture gerarchiche

• Architetture distribuite

• Architetture ibride

ARCHITETTURA DEL ARCHITETTURA DEL

CACHING COOPERATIVO

CACHING COOPERATIVO

(13)

ESEMPIO

ESEMPIO (1) (1)

di architettura gerarchica di architettura gerarchica

Cache nazionale Cache nazionale

Server di origine Server di origine

Cache dell’istituzione Cache dell’istituzione

Cache regionale Cache regionale

HTT P HTT P

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

HTT P HTT P

(14)

ESEMPIO (2) ESEMPIO (2)

di architettura gerarchica di architettura gerarchica

Cache dell’istituzione Cache dell’istituzione

Richiesta copia dello stesso

oggetto Contiene copia

dell’oggetto

HTT P HTT P HTT

P HTT P

(15)

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

GERARCHICA

GERARCHICA

(16)

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

GERARCHICA

GERARCHICA

(17)

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

DISTRIBUITA DISTRIBUITA

11

11

11

11

(18)

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 COOPERATION

QUERY COOPERATION

(19)

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 DELLA VANTAGGI E SVANTAGGI DELLA

ARCHITETTURA DISTRIBUITA

ARCHITETTURA DISTRIBUITA

(20)

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 COOPERATION COOPERATION

Rias- sunt o Rias- sunt o

(21)

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

COOPERAZIONE

COOPERAZIONE

(22)

Daniela M. Prencipe

1) ICP è un protocollo intercache origi-nario ICP è 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)

(23)

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)

(24)

Esempio ICP : Esempio ICP :

si verifica un ICP_HIT si verifica un ICP_HIT

HTT

P HTT

P HTT P HTT

P HTT P

HTT P HTT P

A

1

1 2

S

ICP_

MIS S ICP_

MIS S

ICP_

MIS S ICP_

MIS S

ICP_

HIT ICP_

ICP_ HIT HIT ICP_

HIT

Consideriamo cosa avviene Consideriamo cosa avviene

nei proxy direttamente nei proxy direttamente

collegati ad A collegati ad A

(25)

Esempio ICP : Esempio ICP : tutti ICP_MISS tutti ICP_MISS

HTT

P HTT

P HTT P HTT

P HTT P

HTT P HTT P

A

1

1 2

S

ICP_

MIS S ICP_

MIS S

ICP_

MIS S ICP_

MIS S

ICP_

MIS S ICP_

MIS S HTT

P HTT P

Consideriamo cosa avviene Consideriamo cosa avviene

in tutti i livelli in tutti i livelli dell’architettura dell’architettura

HTT P HTT P

HTT P HTT P

HTT P HTT P

(26)

Esempio ICP : Esempio ICP :

si verifica un timeout si verifica un timeout

HTT

P HTT

P HTT P HTT

P HTT P

HTT P HTT P

A

1

1

2 2

S Consideriamo cosa avviene

Consideriamo cosa avviene nei proxy direttamente nei proxy direttamente

collegati ad A collegati ad A

TIMEOUT TIMEOUT

La cache è fuori servizio

o/e

congestionata.

(27)

Daniela M. Prencipe

OPCODE

OPCODE VERSIONVERSION PACKET LENGTHPACKET LENGTH REQUEST NUMBER

REQUEST NUMBER OPTIONS

OPTIONS PADDING PADDING

SENDER HOST ADDRESS SENDER HOST ADDRESS

DATADATA

FORMATO DEL FORMATO DEL

MESSAGGIO ICP (1) MESSAGGIO ICP (1)

0 31

(28)

Daniela M. Prencipe

OPCODE: tipo di messaggio (es. ICP_QUERY, OPCODE:

ICP_MISS, ICP_HIT)

– Messaggio di tipo ICP_QUERY: il payload del ICP_QUERY pacchetto è l’URL della risorsa richiesta;

VERSION: versione del protocollo che è stato usato;VERSION:

PACKET LENGTH: lunghezza totale del pacchetto;PACKET LENGTH:

REQUEST NUMBER: numero richiesta assegnata REQUEST NUMBER:

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

query e di reply;

PADDING: autenticazione informazione;PADDING:

SENDER HOST ADDRESS: identificazione del sender.SENDER HOST ADDRESS:

FORMATO DEL FORMATO DEL

MESSAGGIO ICP (2)

MESSAGGIO ICP (2)

(29)

Daniela M. Prencipe

FORMATO DEL MESSAGGIO FORMATO DEL MESSAGGIO

DI QUERY DI QUERY

NOME NOME DIMENSIONE DIMENSIONE DESCRIZION DESCRIZION E E

Intestazione 16 La comune

intestazione

Richiedente 4 Id dell’host

richiedente

URL variabile URL al quale lo

stato è stato controllato

(30)

Daniela M. Prencipe

FORMATO DEL MESSAGGIO FORMATO DEL MESSAGGIO

DI HIT O MISS DI HIT O MISS

NOME

NOME DIMENSIONE DIMENSIONE DESCRIZION DESCRIZION E E

Intestazione 16 La comune

intestazione

URL Variabile URL al quale lo

stato è stato controllato

(31)

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’ICP

PROBLEMI DELL’ICP

(32)

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_OBJ

ICP_HIT_OBJ

(33)

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)

(34)

Daniela M. Prencipe

LA RETE GARR-G (2)

LA RETE GARR-G (2)

(35)

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)

(36)

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 GARR

LA RETE GARR

(37)

Daniela M. Prencipe

Schemi dei PoP di GARR-G

Schemi dei PoP di GARR-G

(38)

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)

(39)

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)

(40)

Daniela M. Prencipe

(41)

Daniela M. Prencipe

(42)

Daniela M. Prencipe

(43)

Daniela M. Prencipe

(44)

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 Squid, x configurare un “parent” o stabilire una situazione di “sibling”, Squid 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 3130

La 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)

(45)

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.

Squid

Squid

(46)

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)

(47)

Daniela M. Prencipe

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

• www.cache.garr.it;

• www.garr.it.

Bibliografia

Bibliografia

Riferimenti

Documenti correlati

Dato che la SUCCESSIONE dei NUMERI NATURALI è ILLIMITATA ne consegue che anche i MULTIPLI di un numero sono ILLIMITATI.. Quindi possiamo dire che OGNI NUMERO ha

[r]

finché non sono stati considerati tutti gli elementi del vettore senza trovarne nessuno uguale a K perché sono tutti minori del valore cercato, se il vettore

(molto più semplice e approssimato del modello usato nel rendering!)?.

[r]

[r]

Lo studente ` e tenuto a consegnare l’elaborato svolto e firmato non pi` u tardi di Venerd` ı 27 gennaio 2006, secondo le regole stabilite (alla lezione del mattino oppure non oltre

Lo studente ` e tenuto a consegnare l’elaborato svolto e firmato non pi` u tardi di Venerd` ı 24 febbraio 2006, secondo le regole stabilite (alla lezione del mattino oppure non oltre