* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download P2P
Piggybacking (Internet access) wikipedia , lookup
Dynamic Host Configuration Protocol wikipedia , lookup
Distributed firewall wikipedia , lookup
Airborne Networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Distributed operating system wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Remote Desktop Services wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
Hypertext Transfer Protocol wikipedia , lookup
Telematica di Base Applicazioni P2P 1 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 2 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 3 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. process 1 re qu e st re qu e st re spon se re spon se process 2 4 P2P The peer-to-peer paradigm is appropriate for applications such as instant messaging, peer-to-peer file transfers, video conferencing, and collaborative work. 5 P2P file sharing Alice chooses one of the peers, Bob. Alice runs P2P client File is copied from Bob’s application on her PC to Alice’s notebook: notebook computer HTTP GET Intermittently connects While Alice downloads, to Internet; gets new IP other users uploading address for each from Alice. connection Alice’s peer is both a Asks for “Hey Jude” Web client and a Application displays transient Web server. other peers that have All peers are servers = copy of Hey Jude. highly scalable! 6 P2P:Centralized Directory NAPSTER 1) The peer establishes a connection to a centralized server Bob centralized directory server - IP address - Shared information 2) Alice produces a query to find “Hey Jude” 3) Alice downloads the file from Bob 1 peers 1 3 1 2 1 Alice 7 Discussion Single failure point limited performance Copyright …. Two aspects a) distributed file transfer b) centralized information 8 9 Gnutella • 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. 10 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 close11 node, send the response to the close node that sent the request 12 In this way the response flows to the source node without none of the intermediate nods knows the source node. 13 Distributed: no global server public domain Gnutella 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 14 15 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 16 Gnutella File transfer: HTTP GET Query QueryHit Query QueryHit 17 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 18 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. 19 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 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 20 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 ordinary peer group-leader peer neighoring relationships in overlay network 21 22 23 P2P Communications: IM Istant Messaging central server with the buddy list User connects the server chatting among peers centralized server Solution like Napster 24 P2P Communications Skype: Internet Telephony Software It allows to use internet for telephone calls. telephonic networks reached via internet Architecture analogous to KaZaA 25 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 26 Email outgoing message queue user mailbox 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 agent mail server SMTP SMTP mail server user agent SMTP user agent mail server user agent user agent user agent 27 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 user agent mail server SMTP SMTP mail server user agent SMTP user agent mail server user agent user agent user agent 28 Alice e Bob 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) 1) Alice sends a e-mail to [email protected] 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 user agent 2 mail server 3 mail server 4 5 6 user agent 29