Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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.  http://www.peer-to-peerwg.org/whatis/index.html  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.  http://www.peer-to-peerwg.org/whatis/index.html

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 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!

7 7 NAPSTER 1)The peer establishes a connection to a centralized server - IP address - Shared information 2) Alice produces a query to find “Hey Jude” 3) Alice downloads the file from Bob NAPSTER 1)The peer establishes a connection to a centralized server - IP address - Shared information 2) Alice produces a query to find “Hey Jude” 3) Alice downloads the file from Bob centralized directory server peers Alice Bob 1 1 1 1 2 3 P2P:Centralized Directory

8 8 Discussion  Single failure point  limited performance  Copyright ….  Single failure point  limited performance  Copyright …. Two aspects a)distributed file transfer b) centralized information

9 9

10 Gnutella 10 It is one of the first systems wich does not depend from a centralized directory. Each node which implements Gnutella protocol knows a set of different nodes which implement the same protocol. Query message. Sent by a node to a close node with the specification of the request object. Query response. If one of the close nodes owns the object replays giving IP and port number. Get and put. To obtain the object.

11 11 If the node that received the request does not able to satisfy it, send the Query message to each of the own close nodes belongimg to the overlay network and the process repeats. TTL (Time to Live). For each request a limit time is fixed in order to limit the flooding of the network. QID (query identifier). Each Query message contains QID, but does not contain the identity of the node of the original message. Each node manages a directory of the Query messages recently received, storing either the QID or the identity of the close node which sent the message. If the node receive a message with the same QID of a previous message, the message is rejected. Every time that a node receives a Query Response from a close node, send the response to the close node that sent the request

12 12

13 13 In this way the response flows to the source node without none of the intermediate nods knows the source node.

14 14 Gnutella  Distributed: no global server  public domain  Distributed: no global server  public domain overlay network: graph structure  The nodes are the peers  arc between X e Y: it exists a TCP connection between X e Y  overlay network= active peers and their connections  typically, for each node there are (at maximum) 10 “close” nodes

15 15

16 16 Gnutella  the query is transmitted on the TCP con.  Query Forward: peers forward the msg on the overlay network  QueryHit : the response to the query is sent on the “reverse” path of the overlay network  the query is transmitted on the TCP con.  Query Forward: peers forward the msg on the overlay network  QueryHit : the response to the query is sent on the “reverse” path of the overlay network

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

18 18 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

19 19 Gnutella: Query flooding  Queries are sent to the close nodes  Query forwarding  If the object is found, its reference is directly sent to the starting node.

20 20 Gnutella:innovative features overlay network  Peers are nodes  Connections among peers  Virtual network bootstrap node  a connecting peer (peer join) must find a peer in the overlay network overlay network  Peers are nodes  Connections among peers  Virtual network bootstrap node  a connecting peer (peer join) must find a peer in the overlay network vantages  There is’nt a centralized directory  The localization service is distributed among the peers disavantages  Query flooding  Restriction of the area of the query

21 21 KaZaA  peer structure  Peer = group leader o it is associated to a group leader.  TCP with Peer -- Group leader  TCP cons among pairs of group leader.  Group leaders: is a particular type of centralized directory for the peers associated to the group  peer structure  Peer = group leader o it is associated to a group leader.  TCP with Peer -- Group leader  TCP cons among pairs of group leader.  Group leaders: is a particular type of centralized directory for the peers associated to the group

22 22

23 23

24 24 P2P Communications: IM  Istant Messaging  central server with the buddy list  User connects the server  chatting among peers  centralized server  Solution like Napster  Istant Messaging  central server with the buddy list  User connects the server  chatting among peers  centralized server  Solution like Napster

25 25 P2P Communications  Skype: Internet Telephony Software  It allows to use internet for telephone calls.  telephonic networks reached via internet  Architecture analogous to KaZaA  Skype: Internet Telephony Software  It allows to use internet for telephone calls.  telephonic networks reached via internet  Architecture analogous to KaZaA

26 26 Skype  Proprietary application: technical description is not available  Some informations:  Central server for “billing”  GroupLeader as KaZaA  Similar features  directory service for the on-line users  Proprietary application: technical description is not available  Some informations:  Central server for “billing”  GroupLeader as KaZaA  Similar features  directory service for the on-line users

27 27 Email Three components:  user agent  mail server  simple mail transfer protocol: smtp User Agent  features: reading, writing and sending mail  Eudora, Outlook, Pine, MacMail  Messages are stored in the server Three components:  user agent  mail server  simple mail transfer protocol: smtp User Agent  features: reading, writing and sending mail  Eudora, Outlook, Pine, MacMail  Messages are stored in the 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 E-Mail: mail server Mail Server  mailbox contains messages not i msg non still read by the users  Smtp: communication protocol among the mail servers Mail Server  mailbox contains messages not i msg non still read by the users  Smtp: communication protocol among the mail servers mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP

29 29 Alice e Bob 1) Alice sends a e-mail to bob@school.edu 2) The message is inserted in the queue of the mail server 3) SMTP (client side) defines a connection TCP with the Bob mail server 1) Alice sends a e-mail to bob@school.edu 2) The message is inserted in the queue of the mail server 3) SMTP (client side) defines a connection TCP with the Bob mail server 4) SMTP (client side) sends the Alice message on the TCP connection 5)The mailserver of Bob stores the message in the mailbox of Bob 6) Bob read the message using its user agent (POP3 o IMAP) user agent mail server mail server user agent 1 2 3 4 5 6


Download 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."

Similar presentations


Ads by Google