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.

Slides:



Advertisements
Similar presentations
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Advertisements

Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Layer 7- Application Layer
2: Application Layer P2P applications and Sockets.
Application architectures
1 Client-Server versus P2P  Client-server Computing  Purpose, definition, characteristics  Relationship to the GRID  Research issues  P2P Computing.
Exchange server Mail system Four components Mail user agent (MUA) to read and compose mail Mail transport agent (MTA) route messages Delivery agent.
Chapter 2: Application layer  2.1 Web and HTTP  2.2 FTP 2-1 Lecture 5 Application Layer.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
1 Application layer r Electronic Mail m SMTP, POP3, IMAP r DNS r P2P file sharing.
Introduction 1 Lecture 5 Application Layer slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering Department.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
P2P File Sharing Systems
Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
1 Computer Communication & Networks Lecture 27 Application Layer: Electronic mail and FTP Waleed.
Throughput: Internet scenario
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Ch 2. Application Layer Myungchul Kim
Chapter 10 Intro to Routing & Switching.  Upon completion of this chapter, you should be able to:  Explain how the functions of the application layer,
思科网络技术学院理事会. 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Introduction of P2P systems
22-1 Last time □ SMTP ( ) □ DNS This time □ P2P □ Security.
Vulnerabilities in peer to peer communications Web Security Sravan Kunnuri.
Chapter 2: Application layer
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols Network Fundamentals.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
1 Peer-to-Peer Systems r Application-layer architectures r Case study: BitTorrent r P2P Search and Distributed Hash Table (DHT)
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Lecture 2 Distributed Hash Table
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
Kuliah Pengantar Teknologi Informasi Coky Fauzi Alfi cokyfauzialfi.wordpress.com Internet (2)
INTERNET PROTOCOLS. Microsoft’s Internet Information Server Home Page Figure IT2031 UNIT-3.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols.
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
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.
A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the.
Application Layer instructors at St. Clair College in Windsor, Ontario for their slides. Special thanks to instructors at St. Clair College in Windsor,
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
05 - P2P applications and Sockets
An example of peer-to-peer application
Administrative Things
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Telematica di Base Applicazioni P2P.
Chapter 2 Application Layer
#02 Peer to Peer Networking
Presentation transcript:

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 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 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 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 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 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 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 P2P:Centralized Directory

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

9

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

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 Gnutella Query QueryHit Query QueryHit Query QueryHit File transfer: HTTP GET r

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

23

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 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 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 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 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 Alice e Bob 1) Alice sends a 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 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 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