Parte II: Reti di calcolatori Lezione 9

Похожие документы
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Reti di Telecomunicazione Lezione 6

Contesto: Peer to Peer

Lo scenario: la definizione di Internet

Firewall, Proxy e VPN. L' accesso sicuro da e verso Internet

Parte II: Reti di calcolatori Lezione 10

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Verifica scritta di Sistemi e Reti Classe 5Di

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

Reti di calcolatori ed indirizzi IP

Sistemi centralizzati e distribuiti

Creare una Rete Locale Lezione n. 1

VMware. Gestione dello shutdown con UPS MetaSystem

Inizializzazione degli Host. BOOTP e DHCP

Reti di Telecomunicazione Lezione 8

Hardware delle reti LAN

Peer to Peer non solo file sharing

Progettare un Firewall

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

RETI INFORMATICHE Client-Server e reti paritetiche

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

ESERCITAZIONE Semplice creazione di un sito Internet

Mac Application Manager 1.3 (SOLO PER TIGER)

Reti di Calcolatori. Il Livello delle Applicazioni

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

ICARO Terminal Server per Aprile

Procedura per la configurazione in rete di DMS.

MotoTRBO IPSC: requisiti di banda Internet.!

Lezione 1 Introduzione

Reti diverse: la soluzione nativa

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

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

PORTALE CLIENTI Manuale utente

Informatica per la comunicazione" - lezione 8 -

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

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

Il Web Server e il protocollo HTTP

Informatica per la comunicazione" - lezione 8 -

FPf per Windows 3.1. Guida all uso

Registratori di Cassa

1. Il Client Skype for Business

LaCie Ethernet Disk mini Domande frequenti (FAQ)

COSTER. Import/Export su SWC701. SwcImportExport

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

InterNet: rete di reti

Reti e Internet: introduzione

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

HORIZON SQL CONFIGURAZIONE DI RETE

Dal protocollo IP ai livelli superiori

Reti di Calcolatori

Reti diverse: la soluzione nativa

Client - Server. Client Web: il BROWSER

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Corso di Amministrazione di Reti A.A. 2002/2003

1 Progetto di laboratorio di reti I

FITS UPLOAD. Software di upload automatico file di immagini astronomiche Versione 1.2

CAPITOLO 1. Introduzione alle reti LAN

Reti di Calcolatori. Il software

La CASSAFORTE DIGITALE per

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat

Tor è un software che permette di proteggere le proprie comunicazioni dall analisi del traffico attraverso degli onion router, gestiti da volontari.

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Reti di calcolatori. Reti di calcolatori

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano

La VPN con il FRITZ!Box Parte II. La VPN con il FRITZ!Box Parte II

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Protocolli applicativi: FTP

1) GESTIONE DELLE POSTAZIONI REMOTE

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Internet e il World Wide Web. Informatica di Base A -- Rossano Gaeta 1

SISTEMI OPERATIVI DISTRIBUITI

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Prima di iniziare l installazione, controlla che tutte le parti necessarie siano presenti. La scatola dovrebbe contenere:

Reti di Telecomunicazione Lezione 7

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Informatica per la comunicazione" - lezione 9 -

Sistemi operativi e reti A.A Lezione 2

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

Gestione della memoria centrale

Avvio di Internet ed esplorazione di pagine Web.

Транскрипт:

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 9 Martedì 1-04-2014 1

Applicazioni P2P (da pari a pari) I protocolli e le applicazioni fin ora descritti sono stati progettati con architettura client/server. Un altro modello, più complesso, per la progettazione di applicazioni di rete è il Peer to Peer (P2P). Questa architettura consente agli host di scambiarsi file direttamente tra loro, senza passare attraverso server intermediari. Gli host in questa architettura prendono il nome di pari. In ogni pari è implementato sia il lato client sia il lato server del protocollo di trasferimento di file che generalmente è l HTTP (a volte FTP) poiché un pari è sia un distributore che un fruitore di contenuti. Nel P2P, ci sono anche aspetti importanti legati alla violazione del copyright, della privacy, e della sicurezza. 2

In un sistema P2P in ogni istante sono connessi un gran numero di pari, e ogni pari può avere molti file da condividere. Un importante servizio che un applicazione P2P deve fornire agli utenti è la ricerca dei contenuti. Se un pari P vuole ottenere un particolare file, ad esempio un brano musicale, allora quel pari P deve conoscere gli indirizzi IP dei pari connessi che hanno copie del file desiderato. Vedremo tre architetture per ricercare i file, ciascuna delle quali è stata usata da diversi sistemi di condivisione di file P2P. 3

Nella figura è mostrata l architettura P2P. server di bootstrap Rete Telefonica server di bootstrap 4

Directory centralizzata Una delle soluzioni più semplici per ricercare i file da scaricare si ottiene mediante un server che gestisce un database centralizzato, come nel caso di Napster. Come è mostrato nella figura, al momento dell avvio, l applicazione P2P si connette a un server inviandogli i nomi dei file contenuti nel sua directory locale condivisa. Il server memorizza le informazioni provenienti da tutti i pari che si connettono al sistema, creando in tal modo un database centralizzato, dinamico che associa ogni nome di file con un insieme di indirizzi IP. Quando un pari scarica o aggiunge un nuovo file nella cartella condivisa, o rimuove un file, informa il server in modo che esso possa aggiornare il suo database. 5

server Rete Telefonica 6

Per mantenere aggiornato il database il server deve sapere quando un pari si disconnette dalla rete. Un modo per conoscere quali pari sono connessi è di inviare periodicamente messaggi ai pari per verificare se sono connessi. Se il server rileva che un pari non è più connesso, rimuove il suo indirizzo IP dal database. Usare una directory centralizzata per localizzare i file ha una serie di svantaggi: Unico punto di guasto. Se il server non funziona, allora si blocca l intera applicazione P2P. Collo di bottiglia per le prestazioni. In un grande sistema P2P, con centinaia di migliaia di utenti connessi, un server centralizzato deve mantenere aggiornato un enorme database e deve rispondere a migliaia di richieste al secondo, pertanto le prestazioni del servizio sono limitate da problemi di sovraccarico e di traffico. 7

Directory decentralizzata Il database per la ricerca dei contenuti è distribuito tra un insieme di pari detti capogruppo (esempio FastTrack). Un pari quando si connette alla rete P2P si connette con qualche altro pari già appartenente alla rete. Pertanto, il sistema P2P deve avere uno o più server di bootstrap sempre accesi, che svolgono il compito di gestire e mantenere la topologia della rete P2P. Quando un pari si connette alla rete P2P, prima contatta un server di bootstrap il quale può assegnargli il ruolo di capogruppo, oppure inviargli l indirizzo IP di uno dei capogruppo già esistenti, e quindi il pari crea una connessione con quel capogruppo. Se il pari è stato nominato capogruppo, il server di bootstrap invia ad esso gli indirizzi IP di alcuni (o tutti) gli altri capigruppo. Il capogruppo gestisce, per tutti i pari del suo gruppo, un database che associa i file con gli indirizzi IP. Con questa architettura, la rete è costituita da un insieme di sistemi P2P con database centralizzato, in cui ogni capogruppo ha un ruolo di server, ma è anche un pari. 8

server di bootstrap Rete Telefonica server di bootstrap 9

Pari standard Pari capogruppo 10

Pertanto, le dimensioni dei database sono più piccole e ciascun capogruppo sarà meno sovraccaricato di richieste e il traffico sarà più distribuito. L insieme di pari e delle loro connessioni logiche, formano una rete logica, detta rete di copertura (o sovrapposta) (overlay network). Poiché sia i pari che i capogruppo si connettono e disconnettono continuamente, la rete di copertura cambia dinamicamente. Questa architettura richiede di realizzare un protocollo molto complesso per gestire la rete di copertura. Ad esempio, quando un capogruppo si disconnette, è necessario assegnare tutti i pari del capogruppo ad altri capigruppo. Nella fase di ricerca di un file, il pari invia la richiesta al proprio capogruppo il quale a sua volta la rinvia agli altri capogruppo per ottenere un elenco completo dei pari che hanno il file richiesto. In questo modo il pari richiedente ottiene molte liste di pari che hanno il file richiesto. 11

Inondazione di richieste (query flooding) L applicazione P2P open source Gnutella usa un approccio completamente distribuito per realizzare la ricerca dei file. In Gnutella, non esiste una struttura gerarchica con pari e capigruppo ma i pari si uniscono in una rete sovrapposta senza gerarchia. Anche Gnutella utilizza nodi di bootstrap sempre accesi. 12

Un pari si unisce alla rete P2P, connettendosi a un server di bootstrap che comunica al pari gli indirizzi IP di un certo numero di pari appartenenti alla rete di copertura. Ogni pari conosce solo i pari suoi vicini. Anche per la realizzazione di questa architettura è richiesto un protocollo complesso per mantenere aggiornata la rete sovrapposta, poiché i pari si connettono e disconnettono continuamente. Per la ricerca dei file, Gnutella usa la tecnica detta inondazione di richieste (query flooding). Con tale tecnica, quando un pari ricerca un file, invia una richiesta a tutti i suoi vicini, ciascuno dei quali rinvia il la richiesta a tutti i pari suoi vicini, meno che al richiedente. In questo modo, la richiesta arriva ad ogni pari appartenente alla rete sovrapposta. Se un pari che riceve la richiesta ha una copia del file desiderato, invia una risposta al pari richiedente, indicando che possiede una copia del file. La tecnica del flooding crea una elevato traffico di richieste, per limitare il quale, si stabilisce un limite massimo di livello di propagazione delle richieste. 13

Ciò si realizza con un campo contatore di nodo presente nel messaggio di richiesta, che inizialmente è impostato ad un valore predefinito, ad esempio 9. Ogni volta che il messaggio di richiesta arriva ad un pari, il campo contatore viene decrementato di uno prima che il messaggio di richiesta sia rinviato al suoi vicini. Quando un pari riceve una richiesta con il campo contatore uguale a zero, non la inoltra. 14

Confronto architetture C/S e P2P. Per confrontare le architetture client/server e P2P, faremo ora un calcolo semplificato del tempo necessario per distribuire un file di F bit (inclusi i bit di controllo) a un insieme N di client (o pari), per entrambe le architetture. Il tempo di distribuzione è il tempo necessario affinché tutti gli N pari ottengano una copia del file. Supponiamo che server e client (o pari) siano connessi a Internet con tecnologie a larghezza di banda abbastanza inferiore rispetto alle larghezze di banda dei collegamenti del resto della rete. Indichiamo con Us la velocità di upload del collegamento di accesso a Internet del server, con Ui e Di le velocità di upload e di download del collegamento di accesso dello i- esimo pari. 15

Us Dn U1 Un D1 Dn-1 U2 Un-1 D2 Dk+1 U3 Uk+1 Dk Uk D3 16

Calcoliamo dapprima il tempo di distribuzione TD cs del file per l architettura client/server. Facciamo le seguenti considerazioni: Il server deve trasmettere una copia del file a ciascuno degli N client, cioè N F bit. Dato che la velocità di upload del server è U s il tempo per distribuire il file deve essere almeno N F/U s. Indichiamo con D min = min{d1,d2,..,dn} la velocità di download del client con valore più basso. Il client con la velocità di download più bassa non può ricevere l intero file in meno di F/D min secondi. Quindi il tempo minimo di distribuzione è almeno F/D min. Considerando queste due relazioni, otteniamo che: TD cs = max{ N F/U s, F/D min } Vediamo dalla relazione che per N abbastanza grande, il tempo di distribuzione client/server è dato da N F/U s. La relazione mostra che il tempo di distribuzione aumenta linearmente con il numero N di client. 17

Calcoliamo ora il tempo di distribuzione per l architettura P2P, tenendo presente che quando un pari riceve il file, può rinviare parti dello stesso agli altri pari, contribuendo in tal modo alla distribuzione del file. Il calcolo del tempo di distribuzione per un'architettura P2P è più complicato che nell architettura client/server, perché il tempo di distribuzione dipende da come ciascun pari distribuisce le parti del file agli altri pari. Tuttavia, si può ottenere una semplice espressione del tempo minimo di distribuzione. Al riguardo, facciamo le seguenti osservazioni: 1. All inizio della distribuzione solo il server possiede il file. Per trasmetterlo ai pari, il server deve inviare ciascuna parte del file almeno una volta nel collegamento di accesso. Quindi, il tempo minimo di distribuzione è almeno: F/U s. Diversamente dal modello client/server, una parte del file inviata una volta dal server può non dover essere inviata di nuovo, in quanto i pari possono rinviarsela tra loro. 18

2. Come per l architettura client/server, il pari con la velocità di download più bassa non può ottenere il file completo in meno di F/D min secondi. 3. Infine, osserviamo che la velocità totale di upload del sistema P2P nel suo complesso è uguale alla velocità di upload del server più quella di ciascun pari, cioè U tot = U s + U 1 + U 2 +... + U n il sistema P2P deve trasmettere (upload) F bit a ciascuno degli N pari, inviando quindi un totale di F N bit. Questo non può essere fatto a una velocità superiore a U tot. Quindi, il tempo di distribuzione minimo è almeno N F/(U s +U 1 + U 2 +... + U n ). 19

Mettendo insieme queste tre relazioni otteniamo il tempo di distribuzione minimo D P2P per l architettura P2P: TD P2P = max{ F/U s, F/D min, N F/(U s + U i )} Questa espressione fornisce il valore minimo del tempo di distribuzione per l architettura -to-, nell ipotesi che ciascun pari possa rinviare un bit appena lo riceve. In realtà, vengono rinviate ampie parti del file. L espressione costituisce una buona approssimazione dell effettivo tempo minimo di distribuzione. 20

Tempo di distribuzione minimo Client/Server P2P N 21

Distribuzione di contenuti Con i protocolli client/server fino ad ora studiati, un utente può scaricare file di contenuto vario. E possibile però, che il tempo impiegato per il trasferimento possa essere troppo lungo per vari motivi, tra i quali: client e server sono connessi da un percorso in cui è presente uno o più collegamenti a bassa velocità; tra client e server c è almeno un router congestionato, che causa elevati ritardi di coda e perdita di pacchetti. Al server dove sono presenti i contenuti desiderati arrivano contemporaneamente richieste di molti client, che rendono il server sovraccarico e il collegamento dello stesso un collo di bottiglia per ciascuna connessione. Per ridurre i suddetti ritardi, una possibile soluzione consiste nel copiare il contenuto di un server su altri server e di indirizzare i client su uno dei server che più velocemente può trasmettere le informazioni richieste. 22

Collegamento «Collo di bottiglia» Internet pubblica Server di origine Server di origine ISP Server di origine Rete privata LAN a 100 Mbps Router congestionato Server sovraccarico 23

Con il termine distribuzione di contenuti si intende l insieme di tecnologie, sia software che hardware, che consentono di copiare file su molti server e di permettere ai client di accedere più velocemente alle copie dei file contenute in tali server. Diffuse tecnologie per la distribuzione di contenuti, con caratteristiche e obiettivi diversi, sono: Server proxy; reti per la distribuzione di contenuti (CDN, Content Distribution Networks) Da un certo punto di vista le applicazioni di rete basate su architettura P2P possono essere considerate una tecnologia di distribuzione di contenuti. 24

Server proxy Un browser può essere configurato in modo tale che tutte le richieste HTTP e/o FTP siano ridirette a un server proxy. Un server proxy è un computer su cui gira un opportuno software che memorizza nel suo file system copie di file man mano che i client navigano su internet. Il funzionamento è illustrato nella figura seguente. 25

Il browser ridirige una richiesta HTTP destinata ad un server web (che indicheremo con server di origine ) al proxy. Il proxy verifica se possiede una copia del file richiesto. Se ha il file, lo invia al browser. Se non ha il file, lo richiede al server di origine. Quando il proxy riceve il file, ne salva una copia nel suo filesystem e ne invia una copia al browser. Per esempio, una società privata potrebbe installare un proxy nella sua rete e configurare tutti i browser installati sui suoi host in modo che tutte le richieste HTTP passino attraverso il proxy. I proxy consentono una forma di distribuzione di contenuti in quanto copiano le informazioni richieste dai client nei loro file system. È da notare che i fornitori di contenuti non si devono occupare della distribuzione delle informazioni che avviene automaticamente ogni volta che gli utenti visitano i siti di quei fornitori. 26

I proxy, ai fini della distribuzione dei contenuti, producono i seguenti vantaggi: Un proxy può ridurre notevolmente il tempo di risposta a una richiesta del client, nel caso in cui la larghezza di banda tra il client e il proxy è superiore a quella tra il client e il server di origine. il proxy può ridurre sensibilmente il traffico su un link di accesso a Internet di un azienda. Inoltre, a livello globale, l uso dei proxy può ridurre in modo consistente il traffico dell intera Internet. L installazione di molti proxy fornisce un infrastruttura per una veloce distribuzione di contenuti. L installazione di molti proxy favorisce soprattutto quei siti che pubblicano contenuti di grande interesse collettivo ma hanno limitate risorse hardware. 27