1 telematica di base applicazioni p2p. 2 the peer-to-peer system architecture peer-to-peer is a...
TRANSCRIPT
1
Telematica di BaseTelematica di Base
Applicazioni P2P Applicazioni P2P
2
The Peer-to-Peer System Architecture
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
Definition of P2P 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
P2PP2P 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.pro ce s s 1
r e q u e s t
r e s p o n s e
r e q u e s t
r e s p o n s e
pro ce s s 2
5
P2PP2P
The peer-to-peer paradigm is appropriate for applications such as instant messaging, peer-to-peer file transfers, video conferencing, and collaborative work.
The peer-to-peer paradigm is appropriate for applications such as instant messaging, peer-to-peer file transfers, video conferencing, and collaborative work.
6
P2P file sharingP2P 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!
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
NAPSTER1)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
NAPSTER1)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
centralizeddirectory server
peers
Alice
Bob
1
1
1
12
3
P2P:Centralized Directory
8
DiscussionDiscussion
Single failure point
limited performance
Copyright ….
Single failure point
limited performance
Copyright ….
Two aspects
a) distributed file transfer
b) centralized information
Two aspects
a) distributed file transfer
b) centralized information
9
GnutellaGnutella
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
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
13
In this way the response flows to the source node without none of the intermediate nods knows the source node.
14
GnutellaGnutella
Distributed: no global server
public domain
Distributed: no global server
public domain
overlay network: graph structureThe nodes are the peersarc between X e Y: it exists a TCP
connection between X e Yoverlay network= active peers
and their connectionstypically, for each node there
are (at maximum) 10 “close” nodes
overlay network: graph structureThe nodes are the peersarc between X e Y: it exists a TCP
connection between X e Yoverlay network= active peers
and their connectionstypically, for each node there
are (at maximum) 10 “close” nodes
15
16
GnutellaGnutella
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
GnutellaGnutella
Query
QueryHit
Query
Query
QueryHit
Query
Query
QueryHit
File transfer:HTTP GET
18
Gnutella: Peer joiningGnutella: 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
Gnutella: Query floodingGnutella: Query floodingQueries are sent
to the close nodesQuery forwardingIf the object is
found, its reference is directly sent to the starting node.
Queries are sent to the close nodes
Query forwardingIf the object is
found, its reference is directly sent to the starting node.
20
Gnutella:innovative featuresGnutella:innovative features
overlay networkPeers are nodesConnections
among peers Virtual networkbootstrap nodea connecting peer
(peer join) must find a peer in the overlay network
overlay networkPeers are nodesConnections
among peers Virtual networkbootstrap nodea connecting peer
(peer join) must find a peer in the overlay network
vantagesThere is’nt a
centralized directoryThe localization
service is distributed among the peers
disavantagesQuery flooding
Restriction of the area of the query
vantagesThere is’nt a
centralized directoryThe localization
service is distributed among the peers
disavantagesQuery flooding
Restriction of the area of the query
21
KaZaAKaZaA
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
ordinary peer
group-leader peer
neighoring re la tionshipsin overlay network
22
23
24
P2P Communications: IMP2P Communications: IM
Istant Messagingcentral server with the buddy listUser connects the server
chatting among peerscentralized server
Solution like Napster
Istant Messagingcentral server with the buddy listUser connects the server
chatting among peerscentralized server
Solution like Napster
25
P2P CommunicationsP2P Communications
Skype: Internet Telephony SoftwareIt allows to use internet for telephone
calls. telephonic networks reached via internet
Architecture analogous to KaZaA
Skype: Internet Telephony SoftwareIt allows to use internet for telephone
calls. telephonic networks reached via internet
Architecture analogous to KaZaA
26
SkypeSkype
Proprietary application: technical description is not available
Some informations:Central server for “billing”GroupLeader as KaZaA
Similar featuresdirectory service for the on-line users
Proprietary application: technical description is not available
Some informations:Central server for “billing”GroupLeader as KaZaA
Similar featuresdirectory service for the on-line users
27
EmailEmailThree 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
mailserver
useragent
useragent
useragent
mailserver
useragent
useragent
mailserver
useragent
SMTP
SMTP
SMTP
28
E-Mail: mail serverE-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
mailserver
useragent
useragent
useragent
mailserver
useragent
useragent
mailserver
useragent
SMTP
SMTP
SMTP
29
Alice e Bob Alice e Bob 1) Alice sends a e-mail to
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 [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
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)
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)
useragent
mailserver
mailserver user
agent
1
2 3 4 56