Download presentation
Presentation is loading. Please wait.
Published byEmmeline Harrington Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.