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