Capitolo 2 - parte 4. Corso Reti ed Applicazioni Mauro Campanella Como 2003

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Capitolo 2 - parte 4. Corso Reti ed Applicazioni Mauro Campanella Como 2003"

Transcript

1 Capitolo 2 - parte 4 Corso Reti ed Applicazioni Mauro Campanella Como 2003

2 Agenda - Content Distribution Networks (CDN) - Peer to Peer M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 2

3 FTP: file transfer protocol utente FTP user interface FTP client trasferimento di files FTP server file system locale file system remoto Trasferimento con TCP di file (ASCII o in formato binario) fra nodi in rete tra un client che, dopo essere stato autenticato, richiede il trasferimento ed un server che soddisfa i comandi inviati. FTP è descritto nella RFC 959 ed il server usa la porta 21 M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 3

4 FTP: connessione dati e controllo separate Client ottiene l autorizzazione nella connessione di controllo. Client consulta la directory remota inviando comandi lungo la connessione di controllo. Quando il server riceve un comando di trasferimento file, il server apre un altra connessione TCP con il client. Dopo il trasferimento del file il server chiude la connessione. FTP client TCP connessione di controllo port 21 TCP connessione dati porta 20 FTP server Il server apre una seconda connessione dati per trasferire un altro, file se richiesto. La connessione di controllo è out of band Il server FTP maintiene stato : la directory corrente, le chiavi di autenticazione M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 4

5 FTP esempi di comandi e codici Comandi: user username pass password ls o dir : restituisce una lista dei files nella directory remota corrente get (mget) filename : recupera uno (più) file dal server put (mput) filename : invia uno (più) file sul server remoto bin (ascii):predispone per trasferimenti in binario (ascii) cd directory : si sposta di directory sul server pwd : stampa la directory corrente sul server Codici di ritorno sono composti da un cosice numerico ed una frase come in HTTP 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 5

6 Content distribution networks (CDNs) I creatori e fornitori di contenuto sono utenti delle tali reti. Il servizio è basato sulla replica e distribuzione dell informazione Le ditte (p.e. Akamai) installano decine di server in punti chiave di Internet, vicino ai bordi. Il sistema replica ed aggiorna automaticamente i contenuti in modo trasparente all utente, che non si accorge nemmeno di usare le CDN Server originale in Nord America nodo di distribuzione per le CDN CDN server CDN server in Sud America CDN server in Asia in Europa M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 6

7 Esempio di CDN Richiesta HTTP per 1 server originale 2 3 DNS server per le CDN Richiesta DNS per Nel server originale distribuisce HTML rimpiazzando sports.ruth.gif con server CDN vicino sports/ruth.gif Richiesta HTTP per Una ditta CDN distribuisce contenuto non proprio e usa il DNS e la ridirezione per rispondere a richieste per altri M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 7

8 CDN Distribuire le richieste Le CDN creano una mappa che indichi la distanza fra i server CDN e ISP foglie Quando arriva una richiesta al server autoritativo DNS: il server determina l ISP da cui arriva la richiesta usa la mappa per determinare il servercdn più adatto Non solo pagine Web - audio/video streaming non in tempo reale - streaming in real-time audio/video Le CDN creano una rete logica (overlay) a livello di applicazione, la cui topologia è diversa da quella fisica. M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 8

9 Agenda - Content Distribution Networks (CDN) - Peer to Peer M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 9

10 Peer-to-Peer P2P non è un file sharing classico. E una variazione radicale rispetto all approccio classico: Paradigm shift Client-server silos Web-based computing Peer-to-Peer M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 10

11 P2P: condivisione informazione Nel modello classico vi sono poche sorgenti precise di informazione (web server, database server) e molti client. L informazione risiede solo nei server e si crea un traffico con topologia a stella, sbilanciato nel carico fra ingresso ed uscita nei client. Nel Peer to Peer, ogni calcolatore può esportare ed importare informazione diventando server e client allo stesso tempo. Il traffico si equipartisce uniformemente fra le linee di trasmissione e non c è più sbilanciamento fra ingresso ed uscita (ADSL non è più adatto) M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 11

12 P2P: condivisione informazione Esempio Anna usa il portatile per collegarsi ad Internet con un indirizzo IP variabile. Ricerca informazione e l applicazione lista i calcolatori (peer) che mettono a disposizione una copia di quella informazione. Anna sceglie uno dei peer. L informazione è copiata dal calcolatore del peer al portatile di Anna, usando per esempio HTTP come protocollo. Mentre Anna è collegata, altri utenti possono scaricare dal portatile di Anna l informazione sul suo disco. Ogni peer è sia client che server e l informazione è replicata: altamente scalabile M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 12

13 P2P: database centralizzato L architettura originale di Napster prevedeva un database centralizzato con l informazione sulla reperibilità dell informazione. directory server centralizzato peer (Anna) (1) all atto di connessione alla rete P2P 1 4 peer un peer informa il database sul suo 2 1 indirizzo IP l informazione disponibile peer (2) Anna richiede informazione (3) il server fornisce il puntatore ai peer (4) Anna scarica da uno dei peer i dati peer M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 13

14 P2P: Database centralizzato Contro: Singolo punto di fallimento (ma ci possono essere più server centrali) Possibile collo di bottiglia Alto volume di traffico di messaggistica A favore: l informazione è altamente distribuita e replicata, quindi più affidabile il carico della rete è più bilanciato M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 14

15 P2P: directory distribuita Ogni peer è un capo gruppo od è assegnato ad un capo gruppo. Il capo gruppo tiene traccia dell informazione messa a disposizione dagli apparteneneti al suo gruppo. I peer lanciano le richieste ai capi gruppo; i capi gruppo possono propagare la richiesta ad altri capo gruppo. peer ordinario capo gruppo peer relazioni nella rete logica M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 15

16 P2P: directory decentralizzata Overlay network peer sono nodi frontiere fra i peer ed i loro capi gruppo frontiere fra coppie di capi gruppo vicini virtuali Nodo di bootstrap Il peer che si collega è: assegnato ad un capogruppo oppure designato capo gruppo A favore: il servizio di localizzazione dell informazione è distribuito fra i peer nessun server centrale difficile da bloccare i ruoli peer/capogruppo sono interscambiabili Contro: Il carico dei capigruppo può essere alto M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 16

17 P2P: flooding delle richieste Gnutella, KaZaa nessuna gerarchia utilizzo di nodi di bootstrap per conoscerne altri messaggi di unione invio richieste ai vicini i vicini inoltrano la richiesta se uno dei peer ha l informazione, manda un messaggio al richiedente originale join M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 17

18 P2P: flooding richieste A favore i peers hanno responsabilità identiche: non esistono capi gruppo completamente decentralizzato nessun peer ha informazioni di localizzazione Contro: alto volume di traffico di richieste il raggio massimo raggiungibile dalla richiesta può non contenere l informazione deve esistere un nodo cui appoggiarsi inizialmente deve auto-mantenersi M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 18

19 P2P: le vere novità Le ultime applicazioni P2P hanno introdotto, oltre alle informazioni sulla locazione della risorsa, la qualità della sorgente in termini di: - velocità, distanza e tipo del collegamento del peer - qualità del collegamento (affidabilità) - un meccanismo di file transfer più affidabile del classico FTP o GET HTTP divide il file in record è in grado di riprendere il trasferimento dall ultimo record trasferito con successo può trasferire da più sorgenti contemporaneamente può trasferire record diversi da sorgenti diverse Meccanismi utili e necessari per grandi dimensioni dei file M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 19

20 Peer-to-Peer: link : Freenet : Gnutella : Napster : KaZaa : O Reilly Open P2P : Internet2 P2P Workshop: activities/html/p2pworkshop.html M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 20

21 M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag. 21