La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.

Presentazioni simili


Presentazione sul tema: "1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services."— Transcript della presentazione:

1 1 Telematica di Base Applicazioni P2P

2 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services are direct exchanged between computer systems.  In such an architecture, computers that have traditionally been used solely as clients communicate directly among themselves and can act as both clients and servers, assuming whatever role is most efficient for the network.   peer-to-peer is a network architecture where computer resources and services are direct exchanged between computer systems.  In such an architecture, computers that have traditionally been used solely as clients communicate directly among themselves and can act as both clients and servers, assuming whatever role is most efficient for the network. 

3 3 Definition of P2P “P2P is a way of structuring distributed applications such that the individual nodes have symmetric roles. Rather than being divided into clients and servers each with quite distinct roles, in P2P applications a node may act as both a client and a server.” Excerpt from the Charter of Peer-to-Peer research Group, IETF/IRTF, June 24, 2003 “P2P is a way of structuring distributed applications such that the individual nodes have symmetric roles. Rather than being divided into clients and servers each with quite distinct roles, in P2P applications a node may act as both a client and a server.” Excerpt from the Charter of Peer-to-Peer research Group, IETF/IRTF, June 24, 2003

4 4 P2P  In the peer-to-peer paradigm, the participating processes play equal roles, with equivalent capabilities and responsibilities (hence the term “ peer ” ).  Each participant may issue a request to another participant and receive a response.  In the peer-to-peer paradigm, the participating processes play equal roles, with equivalent capabilities and responsibilities (hence the term “ peer ” ).  Each participant may issue a request to another participant and receive a response.

5 5 P2P The peer-to-peer paradigm is appropriate for applications such as instant messaging, peer-to-peer file transfers, video conferencing, and collaborative work.

6 6

7 7 P2P file sharing  Alice runs P2P client application on her notebook computer  Intermittently connects to Internet; gets new IP address for each connection  Asks for “Hey Jude”  Application displays other peers that have copy of Hey Jude.  Alice runs P2P client application on her notebook computer  Intermittently connects to Internet; gets new IP address for each connection  Asks for “Hey Jude”  Application displays other peers that have copy of Hey Jude.  Alice chooses one of the peers, Bob.  File is copied from Bob’s PC to Alice’s notebook: HTTP GET  While Alice downloads, other users uploading from Alice.  Alice’s peer is both a Web client and a transient Web server. All peers are servers = highly scalable!

8 8 P2P: directory centralizzata NAPSTER 1) Quando un peer si connette alla rete si collega ad un server centralizzato:  Indirizzo IP  Informazione condivisa 2) Alice effettua una query per trovare “Hey Jude” 3) Alice scarica il file da Bob NAPSTER 1) Quando un peer si connette alla rete si collega ad un server centralizzato:  Indirizzo IP  Informazione condivisa 2) Alice effettua una query per trovare “Hey Jude” 3) Alice scarica il file da Bob centralized directory server peers Alice Bob

9 9 Discussione  Singolo punto di fallimento  Performance limitata  Copyright ….  Singolo punto di fallimento  Performance limitata  Copyright …. Due aspetti a)Trasferimento dei files: distribuito b)La localizzazione dell’informazione e’ centralizzata

10 10 Gnutella  Distribuito: Non esiste un server globale  public domain  Distribuito: Non esiste un server globale  public domain overlay network: una struttura a grafo  Nodi sono i peer  Esiste un arco tra X e Y se esiste una connessione TCP tra X e Y  Rete overlay = peer attivi e le loro connessioni  Tipicamente ogni nodo ha 10 vicini (al massimo)

11 11

12 12 Gnutella  Le query sono trasmesse sulle con. TCP  Query Forward: peers inoltrano i msg nella rete overlay  QueryHit : risposta alla query lungo il cammino “inverso” della rete overlay  Le query sono trasmesse sulle con. TCP  Query Forward: peers inoltrano i msg nella rete overlay  QueryHit : risposta alla query lungo il cammino “inverso” della rete overlay

13 13 Gnutella Query QueryHit Query QueryHit Query QueryHit File transfer: HTTP GET r

14 14 Gnutella: Peer joining 1.Joining peer X must find some other peer in Gnutella network: use list of candidate peers 2.X sequentially attempts to make TCP with peers on list until connection setup with Y 3.X sends Ping message to Y; Y forwards Ping message. 4.All peers receiving Ping message respond with Pong message 5.X receives many Pong messages. It can then setup additional TCP connections 1.Joining peer X must find some other peer in Gnutella network: use list of candidate peers 2.X sequentially attempts to make TCP with peers on list until connection setup with Y 3.X sends Ping message to Y; Y forwards Ping message. 4.All peers receiving Ping message respond with Pong message 5.X receives many Pong messages. It can then setup additional TCP connections

15 15 Gnutella: Query flooding  Query sono inviate ai vicini  Query forwarding  Se l’oggetto viene trovato il riferimento è inviato direttamente al peer di partenza join

16 16 Gnutella: caratteristiche innovative overlay network  peer sono i nodi  connessioni tra peer  Rete virtuale bootstrap node  un peer che si connette (peer join) deve individuare un peer nella overlay net overlay network  peer sono i nodi  connessioni tra peer  Rete virtuale bootstrap node  un peer che si connette (peer join) deve individuare un peer nella overlay net vantaggi  Non è presente una directory centralizzata  Il servizio di localizzazione è distribuito tra i peer svantaggi  Query flooding  TTL per delimitare il raggio di azione della query

17 17 KaZaA  Strutturazione dei peer  Peer = group leader o e’ associato a un group leader.  TCP con Peer -- Group leader  TCP cons tra coppie di group leader.  Group leader: sono una sorta di directory centralizzata per i peer associati al gruppo.  Strutturazione dei peer  Peer = group leader o e’ associato a un group leader.  TCP con Peer -- Group leader  TCP cons tra coppie di group leader.  Group leader: sono una sorta di directory centralizzata per i peer associati al gruppo.

18 18

19 19 KaZaA: Querying  Each file has a hash and a descriptor  Client sends keyword query to its group leader  Group leader responds with matches:  For each match: metadata, hash, IP address  If group leader forwards query to other group leaders, they respond with matches  Client then selects files for downloading  HTTP requests using hash as identifier sent to peers holding desired file  Each file has a hash and a descriptor  Client sends keyword query to its group leader  Group leader responds with matches:  For each match: metadata, hash, IP address  If group leader forwards query to other group leaders, they respond with matches  Client then selects files for downloading  HTTP requests using hash as identifier sent to peers holding desired file

20 20

21 21 P2P Communications: IM  Istant Messaging  Server centrale con la buddy list  Utente si connette al server  Chatting among peers  Server centralizzato  Soluzione a la Napster  Istant Messaging  Server centrale con la buddy list  Utente si connette al server  Chatting among peers  Server centralizzato  Soluzione a la Napster

22 22 P2P Communications  Skype: Internet Telephony Software  Permette di effettuare chiamate telefoniche su internet  Reti telefoniche raggiungibili via internet  Progettato da chi ha progettato KaZaA  Architettura simile a KaZaA  Skype: Internet Telephony Software  Permette di effettuare chiamate telefoniche su internet  Reti telefoniche raggiungibili via internet  Progettato da chi ha progettato KaZaA  Architettura simile a KaZaA

23 23 Skype  Applicazione proprietaria: non sono disponibili dettagli tecnici  Alcune informazioni  Server centrale per “billing”  GroupLeader come KaZaA  Funzionalita’ similari  Servizio di directory per gli utenti on-line  Applicazione proprietaria: non sono disponibili dettagli tecnici  Alcune informazioni  Server centrale per “billing”  GroupLeader come KaZaA  Funzionalita’ similari  Servizio di directory per gli utenti on-line

24 24 Skype  Vantaggi  Diminuzione dei costi  Qualita’ elevata della comunicazione  Efficienza nella trasmissione e codifica del segnale sonoro  Vantaggi  Diminuzione dei costi  Qualita’ elevata della comunicazione  Efficienza nella trasmissione e codifica del segnale sonoro

25 25 P2P Collaboration  Condivisione delle risorse  Esempio: enciclopedia on line: wikipedia  Scrittura individuale  Modifiche individuali  Guida on line  Condivisione delle risorse  Esempio: enciclopedia on line: wikipedia  Scrittura individuale  Modifiche individuali  Guida on line

26 26 P2P  Il servizio di su internet  Mailserver (mailbox utenti)  POP3 -- Post Office Protocol  IMAP -- Internet Mail Access Protocol  Il servizio di su internet  Mailserver (mailbox utenti)  POP3 -- Post Office Protocol  IMAP -- Internet Mail Access Protocol

27 27 Tre componenti:  user agent  mail server  simple mail transfer protocol: smtp User Agent  Funzionalità: per leggere, editare ed inviare mail  Eudora, Outlook, Pine, MacMail  Messaggi sono memorizzati nel server Tre componenti:  user agent  mail server  simple mail transfer protocol: smtp User Agent  Funzionalità: per leggere, editare ed inviare mail  Eudora, Outlook, Pine, MacMail  Messaggi sono memorizzati nel server user mailbox outgoing message queue mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP

28 28 mail server Mail Server  mailbox contiene i msg non ancora letti degli utenti  message coda dei msg da inviare  Smtp: protocollo di comunicazione tra i mail server Mail Server  mailbox contiene i msg non ancora letti degli utenti  message coda dei msg da inviare  Smtp: protocollo di comunicazione tra i mail server mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP

29 29 Scenario: Alice e Bob 1) Alice invia una a 2) Messsaggio è inserito nella coda del mail server 3) SMTP (lato cliente) apre una connessione TCP con il mail server di Bob 1) Alice invia una a 2) Messsaggio è inserito nella coda del mail server 3) SMTP (lato cliente) apre una connessione TCP con il mail server di Bob 4) SMTP (lato cliente) trasmette il messaggio di Alice sulla connessione TCP 5) Il mailserver di Bob memorizza il messaggio nella mailbox di Bob 6) Bob legge il messaggio tramite il suo user agent (usando POP3 o IMAP) user agent mail server mail server user agent

30 30

31 31

32 32

33 33

34 34


Scaricare ppt "1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services."

Presentazioni simili


Annunci Google