SlideShare una empresa de Scribd logo
1 de 34
Indranil Gupta Lecture 9 Peer-to-peer systems Computer Science 425 Distributed Systems
Peer to peer systems (Next few lectures) D.S. Theory 2 Angles of Distributed Systems
Some Questions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
A Brief History ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Napster Structure Client machines  (“Peers”) napster.com Servers Store their own files Store a directory, i.e.,  filenames with peer pointers  Filename  Info about PennyLane.mp3  Beatles, @   128.84.92.23:1006 … .. S S S P P P P P P
Napster Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Napster Search Peers napster.com Servers Store their own files Store peer pointers  for all files 3. Response 1. Query 2. All servers search their lists (ternary tree algo.) 4. ping candidates 5. download from best host S S S P P P P P P
Problems ,[object Object],[object Object],[object Object],[object Object],[object Object]
Gnutella ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Gnutella Servents (“Peers”) Connected in an  overlay  graph Store their own files Also store  “ peer pointers” a peer pointer P P P P P P P
How do I search for my Beatles file? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Descriptor Header Type of payload 0x00 Ping 0x01 Pong 0x40 Push 0x80 Query 0x81 Queryhit Decremented at each hop, Message dropped when ttl=0 ttl_initial usually 10 Incremented at each hop ID of this  search transaction Number of bytes of message following  this header 0  15  16  17  18  22 Payload Gnutella Message Header Format Descriptor ID  Payload  descriptor TTL  Hops  Payload length
Minimum Speed  Search criteria (keywords) Query (0x80) 0  1  ….. Payload Format in Gnutella Query Message
Gnutella Search Who has PennyLane.mp3? Query ’s flooded out, ttl-restricted, forwarded only once TTL=2 TTL=1 P P P P P P P
Num. hits  port ip_address speed (fileindex,filename,fsize) servent_id 0  1  3  7  11  n  n+16 QueryHit (0x80)  : successful result to a query Results Unique identifier of responder; a function of its IP address Info about responder Payload Format in Gnutella Query Reply Message
Gnutella Search Who has PennyLane.mp3? Successful results  QueryHit ’s routed on  reverse path P P P P P P P
Avoiding excessive traffic ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
After receiving QueryHit messages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dealing with Firewalls Requestor sends  Push  to responder asking for file transfer Has PennyLane.mp3 But behind firewall (Why is the Push routed and not sent directly?) P P P P P P P
servent_id  fileindex  ip_address port Push (0x40) same as in  received QueryHit Address at which requestor can accept incoming connections
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ping-Pong ,[object Object],[object Object],[object Object],Port  ip_address Num. files shared  Num. KB shared Pong (0x01) Ping (0x00) no payload
Gnutella Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Problems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Problems (contd.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FastTrack ,[object Object],[object Object],[object Object],[object Object],[object Object]
A FastTrack-like System Peers Supernodes P P P P S S P
FastTrack (contd.) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Wrap-up Notes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DHT=Distributed Hash Table ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

101 3.3 perform basic file management
101 3.3 perform basic file management101 3.3 perform basic file management
101 3.3 perform basic file management
Acácio Oliveira
 
101 2.1 design hard disk layout
101 2.1 design hard disk layout101 2.1 design hard disk layout
101 2.1 design hard disk layout
Acácio Oliveira
 

La actualidad más candente (20)

Linux commands
Linux commands Linux commands
Linux commands
 
Know the UNIX Commands
Know the UNIX CommandsKnow the UNIX Commands
Know the UNIX Commands
 
Python - Lecture 8
Python - Lecture 8Python - Lecture 8
Python - Lecture 8
 
Distributed Systems Naming
Distributed Systems NamingDistributed Systems Naming
Distributed Systems Naming
 
Unit5 C
Unit5 C Unit5 C
Unit5 C
 
Data file handling in python reading & writing methods
Data file handling in python reading & writing methodsData file handling in python reading & writing methods
Data file handling in python reading & writing methods
 
File handling(some slides only)
File handling(some slides only)File handling(some slides only)
File handling(some slides only)
 
File Handling Python
File Handling PythonFile Handling Python
File Handling Python
 
File handling in Python
File handling in PythonFile handling in Python
File handling in Python
 
Introduction to HTTP
Introduction to HTTPIntroduction to HTTP
Introduction to HTTP
 
Unix commands in etl testing
Unix commands in etl testingUnix commands in etl testing
Unix commands in etl testing
 
Lecture17
Lecture17Lecture17
Lecture17
 
D.N.S
D.N.SD.N.S
D.N.S
 
Linux
LinuxLinux
Linux
 
101 3.3 perform basic file management
101 3.3 perform basic file management101 3.3 perform basic file management
101 3.3 perform basic file management
 
Domain name system (dns) , TELNET ,FTP, TFTP
Domain name system (dns) , TELNET ,FTP, TFTPDomain name system (dns) , TELNET ,FTP, TFTP
Domain name system (dns) , TELNET ,FTP, TFTP
 
File and directories in python
File and directories in pythonFile and directories in python
File and directories in python
 
Introduction to UNIX Command-Lines with examples
Introduction to UNIX Command-Lines with examplesIntroduction to UNIX Command-Lines with examples
Introduction to UNIX Command-Lines with examples
 
101 2.1 design hard disk layout
101 2.1 design hard disk layout101 2.1 design hard disk layout
101 2.1 design hard disk layout
 
Downloading a Billion Files in Python
Downloading a Billion Files in PythonDownloading a Billion Files in Python
Downloading a Billion Files in Python
 

Similar a ppt

P2P Seminar
P2P SeminarP2P Seminar
P2P Seminar
CoRehab
 
Peerto Peer Networks
Peerto Peer NetworksPeerto Peer Networks
Peerto Peer Networks
sanjoysanyal
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)
Sri Prasanna
 
Ch1 2ed 29_dec03
Ch1 2ed 29_dec03Ch1 2ed 29_dec03
Ch1 2ed 29_dec03
Sugan Nalla
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
NYversity
 

Similar a ppt (20)

Introduction P2p
Introduction P2pIntroduction P2p
Introduction P2p
 
Cloud Computing Concepts - Peer to peer systems- Napster - Gnutella
Cloud Computing Concepts - Peer to peer systems- Napster - GnutellaCloud Computing Concepts - Peer to peer systems- Napster - Gnutella
Cloud Computing Concepts - Peer to peer systems- Napster - Gnutella
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and Streaming
 
P2P Seminar
P2P SeminarP2P Seminar
P2P Seminar
 
Peerto Peer Networks
Peerto Peer NetworksPeerto Peer Networks
Peerto Peer Networks
 
Peer to peer Paradigms
Peer to peer ParadigmsPeer to peer Paradigms
Peer to peer Paradigms
 
Lecture: Software Agents and P2P
Lecture: Software Agents and P2PLecture: Software Agents and P2P
Lecture: Software Agents and P2P
 
Week2 lec3-bscs1
Week2 lec3-bscs1Week2 lec3-bscs1
Week2 lec3-bscs1
 
Ods chapter7
Ods chapter7Ods chapter7
Ods chapter7
 
E-business Infrastructure and Security
E-business Infrastructure and SecurityE-business Infrastructure and Security
E-business Infrastructure and Security
 
Bit Torrent technology
Bit Torrent technology Bit Torrent technology
Bit Torrent technology
 
Unit 6 : Application Layer
Unit 6 : Application LayerUnit 6 : Application Layer
Unit 6 : Application Layer
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)
 
Ch1 2ed 29_dec03
Ch1 2ed 29_dec03Ch1 2ed 29_dec03
Ch1 2ed 29_dec03
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin   chp-7 - application layer- 2011 batchJaimin   chp-7 - application layer- 2011 batch
Jaimin chp-7 - application layer- 2011 batch
 
Journal Club- MPSS
Journal Club- MPSSJournal Club- MPSS
Journal Club- MPSS
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
 
Bit Torrent
Bit Torrent Bit Torrent
Bit Torrent
 
Http VS. Https
Http VS. HttpsHttp VS. Https
Http VS. Https
 
Basic concept of internet
Basic concept of internetBasic concept of internet
Basic concept of internet
 

Más de webhostingguy

Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Framework
webhostingguy
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guide
webhostingguy
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3
webhostingguy
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web servers
webhostingguy
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidation
webhostingguy
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreement
webhostingguy
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
webhostingguy
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
webhostingguy
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructure
webhostingguy
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.ppt
webhostingguy
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy
webhostingguy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandisers
webhostingguy
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Products
webhostingguy
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mb
webhostingguy
 

Más de webhostingguy (20)

File Upload
File UploadFile Upload
File Upload
 
Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Framework
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guide
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web servers
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidation
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreement
 
Notes8
Notes8Notes8
Notes8
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructure
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.ppt
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandisers
 
OLUG_xen.ppt
OLUG_xen.pptOLUG_xen.ppt
OLUG_xen.ppt
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Products
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mb
 
Reseller's Guide
Reseller's GuideReseller's Guide
Reseller's Guide
 

ppt

  • 1. Indranil Gupta Lecture 9 Peer-to-peer systems Computer Science 425 Distributed Systems
  • 2. Peer to peer systems (Next few lectures) D.S. Theory 2 Angles of Distributed Systems
  • 3.
  • 4.
  • 5.  
  • 6.
  • 7. Napster Structure Client machines (“Peers”) napster.com Servers Store their own files Store a directory, i.e., filenames with peer pointers Filename Info about PennyLane.mp3 Beatles, @ 128.84.92.23:1006 … .. S S S P P P P P P
  • 8.
  • 9. Napster Search Peers napster.com Servers Store their own files Store peer pointers for all files 3. Response 1. Query 2. All servers search their lists (ternary tree algo.) 4. ping candidates 5. download from best host S S S P P P P P P
  • 10.
  • 11.
  • 12. Gnutella Servents (“Peers”) Connected in an overlay graph Store their own files Also store “ peer pointers” a peer pointer P P P P P P P
  • 13.
  • 14. Descriptor Header Type of payload 0x00 Ping 0x01 Pong 0x40 Push 0x80 Query 0x81 Queryhit Decremented at each hop, Message dropped when ttl=0 ttl_initial usually 10 Incremented at each hop ID of this search transaction Number of bytes of message following this header 0 15 16 17 18 22 Payload Gnutella Message Header Format Descriptor ID Payload descriptor TTL Hops Payload length
  • 15. Minimum Speed Search criteria (keywords) Query (0x80) 0 1 ….. Payload Format in Gnutella Query Message
  • 16. Gnutella Search Who has PennyLane.mp3? Query ’s flooded out, ttl-restricted, forwarded only once TTL=2 TTL=1 P P P P P P P
  • 17. Num. hits port ip_address speed (fileindex,filename,fsize) servent_id 0 1 3 7 11 n n+16 QueryHit (0x80) : successful result to a query Results Unique identifier of responder; a function of its IP address Info about responder Payload Format in Gnutella Query Reply Message
  • 18. Gnutella Search Who has PennyLane.mp3? Successful results QueryHit ’s routed on reverse path P P P P P P P
  • 19.
  • 20.
  • 21. Dealing with Firewalls Requestor sends Push to responder asking for file transfer Has PennyLane.mp3 But behind firewall (Why is the Push routed and not sent directly?) P P P P P P P
  • 22. servent_id fileindex ip_address port Push (0x40) same as in received QueryHit Address at which requestor can accept incoming connections
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. A FastTrack-like System Peers Supernodes P P P P S S P
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.

Notas del editor

  1. How many among us have not used a p2p file sharing software?
  2. little-endian. 1234 stored as 4, 3, 2, 1 (enter the little one first)
  3. http port – 80. Yes.
  4. 70% freeloaders.