Squid Web Cache e Sistemi di caching cooperativo

Documenti analoghi
Web caching. Corso di Applicazioni Telematiche. A.A Lezione n.2 Prof. Roberto Canonico

Web caching e Content Delivery Networks Corso di Applicazioni Telematiche

UDP. User Datagram Protocol. UDP Connectionless

Web caching. Corso di Applicazioni Telematiche. A.A Lezione n.3 - parte I Prof. Roberto Canonico

Progetto FIRB WebMinds

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Terminologia e concetti fondamentali La struttura di Internet (hardware e software):

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Tesi di Laurea. Progetto ed implementazione di un server proxy per il transcoding delle immagini Web. Candidato: Massimo Magazzù.

Tipi di caching. Web caching e sistemi per Web content delivery. Politiche di rimpiazzamento della cache (2) Politiche di rimpiazzamento della cache

Il livello trasporto: Introduzione e protocollo UDP

Lo strato di Trasporto

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3

Il protocollo IP A.A. 2006/2007. Alessandro Botticelli

Il protocollo IP A.A. 2005/2006. Walter Cerroni. Internet Protocol (IP) - RFC 791

Reti a commutazione di pacchetti I dati vengono divisi in pacchetti I pacchetti vengono spediti singolarmente sulla rete

Configurare Squid con HAVP e Clamav

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.

Fondamenti di Internet e Reti

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Internet Protocol Cenni introduttivi

Introduzione (parte II)

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

ISO OSI. International Standard Organization Open System Interconnection

Configurazione delle interfacce di rete

Simulazioni di protocolli di compressione dell header per sistemi wireless basati su piattaforma TCP/IP

Livello rete. Piano di controllo. Introduzione: Piano dei dati e piano di controllo Architettura di un router IP: Internet Protocol

Fondamenti di Internet e Reti

Il livello trasporto: Introduzione e protocollo UDP

Reti di Calcolatori:

ICMP ARP RARP DHCP -NAT

(Domain Name System) DNS (Domain Name System)

4b. Esercizi sul livello di Rete Inoltro in IP

IPv6: aspetti generali

Recupero I Prova in itinere - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007

(parte 2) DHCP e NAT

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Real Time Streaming Protocol. Akshat Sikarwar - Columbia University Traduzione e adattamento di Massimo De Santo, Università di Salerno

Border Gateway Protocol (BGP)

3: Architettura TCP/IP

Corso di Informatica

Open Shortest Path First (OSPF)

Suddivisione di grandi reti in aree (1/3)

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast

Formato del datagramma IP

INTERNET PROTOCOL RFC 791

Lezione n.5. Università degli Studi di Pisa. Materiale didattico: Peer-to-Peer Systems and Applications Capitolo 5. Dipartimento di Informatica

Internet Control Message Protocol (ICMP)

INFOCOM Dept. - Laboratorio di Servizi di Telecomunicazioni

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

Commutazione di circuito

Appello straordinario 2 Luglio 2004

IOS-XR ICMP. Il presente documento rileva i parametri di configurazione hardening per i seguenti protocolli, su router Cisco con software IOS-XR

Applicazioni di rete 1

Sistemi di elaborazione delle informazioni

ISTITUTO TECNICO INDUSTRIALE M. FARADAY Programmazione didattica

IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP

1. specifichi la struttura della Routing Table di R3 (con e senza aggregazione dei prefissi di rete, laddove possibile);

Parte II: Reti di calcolatori Lezione 10 (34)

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Routing. Parte terza: Internet e il routing gerarchico

Parte II: Reti di calcolatori Lezione 7 (31)

Reti di Calcolatori IL LIVELLO RETE

Routing IP A.A. 2006/2007. Walter Cerroni. Routing gerarchico in Internet

Laboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017. Ing. Niccolò Iardella

R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: CIDR, ARP, ICMP, Maggio 2010

Instradamento. Fondamenti di Informatica

UD 3 PROTOCOLLO ISO-OSI

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Lunedì 20 Febbraio 2006

Network layer. (cenni) Applicazioni di Rete M. Ribaudo - DISI. Network layer. application transport. network data link physical

Reti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

Remote file access sulla grid e metodi di interconnesione di rete

UNIVERSITA DEGLI STUDI DI PAVIA

Protocolli strato rete in Internet

Protocolli strato rete in Internet

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Introduzione. Obiettivo: Sommario: Introduzione alle reti di telecomunicazioni approccio:

Protocolli ARP e DHCP

RETI DI CALCOLATORI II

Tito Flagella - Il protocollo HTTP

Server proxy cooperativi per l accesso universale al Web. Candidato: Fabio Paone. Relatore: Prof. Salvatore TUCCI. Correlatore

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Sommario ... vi Sommario

Evoluzione del livello di rete

Android. Android e Rest

Perché IPv6? IPv6 sta arrivando... Gabriella Paolini WS9 -Tutorial IPv6, Roma, 15/

Web caching e sistemi per Web content delivery

Verso un servizio nazionale integrato: il colloquio tra ILL-SBN e Aleph500

Transcript:

Squid Web Cache e Sistemi di caching cooperativo Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.6 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Squid Squid è un software free open-source con funzionalità di: Proxy cache Caching DNS Server accelerator http://www.squid-cache.org Progettato inizialmente per sistemi Unix/Linux Esiste un porting per Windows Supporta diversi protocolli di cooperazione tra cache (ICP, CARP, Cache Digest) Sofisticati meccanismi di controllo di accesso (ACL) 1

Squid: controllo degli accessi Utilizza ACL per stabilire: Quali client sono abilitati al servizio acl my_network src 192.168.1.0/24 http_access allow my_network Quali server non è consentito raggiungere acl blocked_nets dstdomain warez.com http_access deny blocked_nets Squid: consistenza Per mantenere la consistenza della cache le prime versioni usavano un meccanismo basato sul time-to-live Le versioni più recenti usano un modello basato sul tasso di refresh 2

Squid: architettura Struttura modulare Proxy a singolo processo I/O non bloccante mediante callback function Per la risoluzione DNS non usa le funzioni standard di sistema (gethostbyname()) ma un processo specifico dnsserver che implementa il caching delle risposte Squid: gestione della cache 3

Caching cooperativo Si possono creare sistemi di cache tra loro introperanti Organizzazione: Gerarchica Paritetica La cooperazione consente di: Migliorare le prestazioni Maggior hit rate Minor carico per cache Aumentare la scalabilità Aumentare l affidabilità La cooperazione introduce però un overhead di gestione Caching cooperativo: protocolli Proxy server multipli, situati in locazioni diverse su Internet, possono trarre beneficio dalla condivisione degli oggetti contenuti nella propria cache Sono stati definiti numerosi protocolli per consentire la cooperazione tra singole cache: ICP HTCP Cache-Digest Cache Array Routing Protocol WCCP (Cisco) Mediante questi protocolli le cache si scambiano informazioni che possono essere utilizzate per ridurre il tempo di ricerca di un oggetto 4

Interazioni tra cache Due diversi tipi di relazione: Relazione padre-figlio Relazione paritetica (peers) o tra figli dello stesso padre (siblings) Quando avviene lo scambio di informazioni? In seguito ad un cache miss (query-based) Periodicamente (informed-based) Svantaggi del caching cooperativo Alcuni possibili svantaggi possono essere: maggiore complessità della configurazione: per ogni singola relazione di "parentela" é necessario coordinare gli interventi di configurazione di entrambi i nodi coinvolti ed al crescere del numero delle cache componenti la gerarchia, 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 5

Caching cooperativo: prospettive Con il crescere della banda disponibile nel backbone della rete, l uso esteso del caching cooperativo sta scomparendo Esempio: http://cache.garr.it Si legge: Il servizio di Web Cache GARR è in fase di radicale revisione architetturale. Da questo anno si è deciso infatti di sopprimere il livello centrale della gerarchia (le 4 top-level cache), ritenuto ormai poco utile in termini di risparmio di banda complessiva in una rete che garantisce sul backbone e sui link internazionali velocità dell'ordine di almeno 2.5Gbps ICP: storia Nel 1994 nasce e viene sviluppato come parte fondamentale del progetto Harvest ed è stato il primo protocollo inter-cache Nel 1995 da Harvest vengono creati 2 nuovi progetti: Netcache e Squid cache che apportano delle modifiche all ICP Nel 1997, visto il notevole uso di Squid e Netcache, si adottano 2 documenti (rfc2186-2187) che descrivono la versione 2 del protocollo 6

ICP OBBIETTIVO : determinare la presenza di determinati oggetti nelle cache vicine ; E basato su UDP Non permette di testare la congestione della rete anche se può fornirne une stima Offre la funzionalità di selezione delle cache: i messaggi ICP possono contenere informazioni utili per la scelta della sorgente migliore per un oggetto Funzionamento di ICP Le fasi di una transazione ICP sono: 1. La cache locale riceve una richiesta HTTP dalla cache del client; 2. La cache locale invia la query ICP alle altre cache (parent o sibling); 3. Le cache ricevono la query e inviano la risposta; 4. La cache locale riceve la risposta e la invia al client. 7

ICP: messaggi Ogni messaggio è formato da 20 byte di header + il payload OPCODE VERSION PACKET LENGTH REQUEST NUMBER OPTIONS PADDING SENDER HOST ADDRESS DATA ICP: messaggi (2) Value Name Description 0 ICP_OP_INVALID non è inviato intenzionalmente, non ha campi 1 ICP_OP_QUERY è il messaggio di richiesta dell oggetto 2 ICP_OP_HIT è la risposta inviata dai server che hanno nella loro cache l oggetto richiesto 3 ICP_OP_MISS è la risposta inviata nel caso non si ha l oggetto 4 ICP_OP_ERR indica il tipo di errore in cui si è incorso 8

ICP: messaggi (3) ICP_OP_SECHO e ICP_OP_DECHO scarsamente utilizzati; ICP_HIT_OBJ come HIT ma contiene anche l oggetto richiesto il trasferimento avviene senza la richiesta HTTP questo permette di risparmiare tempo e banda l uso è sconsigliato perché in esso manca l header HTTP e perché si può rischiare la frammentazione del messaggio e la perdita di pezzi Informed cooperation tra cache Continui scambi di informazioni fra le cache cooperanti circa il loro contenuto; Si scambiano poche informazioni, dunque non si sovraccarica la rete Riassunto Riassunto 9

Squid: configurazione di ICP 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, per 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 na.cache.garr.it parent 3128 3130 La riga cache_peer definisce il parent il cui nome è na.cache.garr.it. Squid: configurazione di ICP (2) Per essere fratelli di un'altra cache occorrerà 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). 10

Esperimento: configurazione di IE Esperimento Squid: ACL non OK 11

Domande? 12