il carico kazaa
Transcript
il carico kazaa
Capitolo 2 - parte 4 Corso Reti ed Applicazioni Mauro Campanella Agenda - File Transfer Protocol (FTP) - Content Distribution Networks (CDN) - Peer to Peer M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 2 FTP: file transfer protocol utente FTP user interface FTP client trasferimento di files file system locale FTP server 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 2007 Cap 2 - 4 pag. 3 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. M. Campanella Corso Reti ed Applicazioni - Como 2007 TCP connessione di controllo porta 21 FTP client 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 Cap 2 - 4 pag. 4 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 331 125 425 452 composti da un cosice numerico ed una frase come in HTTP Username OK, password required data connection already open; transfer starting Can’t open data connection Error writing file M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 5 Content distribution networks (CDNs) e fornitori di contenuto sono utenti delle tali reti. I creatori 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 M. Campanella Corso Reti ed Applicazioni - Como 2007 Server originale in Nord America nodo di distribuzione per le CDN CDN server in Sud America CDN server in Europa CDN server in Asia Cap 2 - 4 pag. 6 Esempio di CDN Richiesta HTTP per www.foo.com/sports/sports.html 1 2 3 Nel server originale www.foo.com distribuisce HTML rimpiazzando server originale Richiesta DNS per DNS server www.cdn.com per le CDN Richiesta HTTP per www.cdn.com/www.foo.com/sports/ruth.gif server CDN vicino http://www.foo.com/ sports.ruth.gif con http://www.cdn.com/www.foo.com/ sports/ruth.gif M. Campanella Corso Reti ed Applicazioni - Como 2007 Una ditta CDN distribuisce contenuto non proprio e usa il DNS e la ridirezione per rispondere a richieste per altri Cap 2 - 4 pag. 7 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 M. Campanella Corso Reti ed Applicazioni - Como 2007 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. Cap 2 - 4 pag. 8 Agenda - File Transfer Protocol (FTP) - Content Distribution Networks (CDN) - Peer to Peer M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 9 Peer-to-Peer Peer to Peer (P2P = da Pari a Pari) non è un file sharing classico. E’ una variazione radicale rispetto all’approccio classico: “Paradigm shift” M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 10 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 2007 Cap 2 - 4 pag. 11 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. M. Campanella Corso Reti ed Applicazioni - Como 2007 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 Cap 2 - 4 pag. 12 P2P: database centralizzato L’architettura originale di “Napster” prevedeva un database centralizzato con l’informazione sulla reperibilità dell’informazione. (1) all’atto di connessione alla rete P2P un peer informa il database sul suo • indirizzo IP • l’informazione disponibile (2) Anna richiede informazione (3) il server fornisce il puntatore ai peer (4) Anna scarica da uno dei peer i dati M. Campanella Corso Reti ed Applicazioni - Como 2007 directory server centralizzato 1 3 peer (Anna) 1 4 1 2 peer 1 peer peer Cap 2 - 4 pag. 13 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 M. Campanella Corso Reti ed Applicazioni - Como 2007 A favore: • l’informazione è altamente distribuita e replicata, quindi più affidabile • il carico della rete è più bilanciato Cap 2 - 4 pag. 14 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. M. Campanella Corso Reti ed Applicazioni - Como 2007 peer ordinario capo gruppo peer relazioni nella rete logica Cap 2 - 4 pag. 15 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 M. Campanella Corso Reti ed Applicazioni - Como 2007 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 Cap 2 - 4 pag. 16 P2P: “flooding” delle richieste Gnutella, KaZaa – invio richieste ai vicini – nessuna gerarchia – i vicini inoltrano la richiesta – utilizzo di nodi di bootstrap – se uno dei peer ha per conoscerne altri l’informazione, manda un – messaggi di “unione” messaggio al richiedente originale join M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 17 P2P: flooding richieste A favore – i peers hanno responsabilità identiche: non esistono capi gruppo – completamente decentralizzato – nessun peer ha informazioni di localizzazione M. Campanella Corso Reti ed Applicazioni - Como 2007 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 Cap 2 - 4 pag. 18 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 2007 Cap 2 - 4 pag. 19 Peer-to-Peer: link SETI@Home Freenet Gnutella Napster KaZaa Bittorrent aMule : : : : : : : http://setiathome.ssl.berkeley.edu/ http://freenetproject.org http://www.gnutelliums.com/ http://www.napster.com http://www.kazaa.com http://www.bittorrent.com/ http://www.amule.org O’Reilly Open P2P : http://www.openp2p.org Internet2 P2P Workshop: http://www.internet2.edu/ activities/html/p2pworkshop.html M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 20 Peer-to-Peer: il vero successo Skype: M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 21 Peer-to-Peer: Skype Fondato nel 2003 da Niklas Zennström e Janus Friis, fondatori di KaZaA, con quartier generale in Lussemburgo e uffici a Londra e Tallin. I fondatori gestiscono anche Altnet, per la vendita di materiale audiovisivo sempre con modello P2P. Skype usa una applicazione p2p per far funzionare una “directory distribuita” per risolvere e instradare gli utenti Lo scopo di Skype è : “offering free global telephony, to make unlimited, superior quality voice calls via its next-generation peer-to-peer software. Skype’s mission is providing a simple, reliable and friendly communications tool that just works.” M. Campanella Corso Reti ed Applicazioni - Como 2007 Cap 2 - 4 pag. 22