SlideShare a Scribd company logo
1 of 24
P2P Networks Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
P2P networks A set of technologies that enable the direct exchange of services of data or services between computers S C C C C C C C C Client Server P P P P P P P2P Network  Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Network Effects: Promises & Challenges  Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com Can Have the following advantage…  … however Scalability as there is no central resource to exhaust Has to overcome to challenge of self organization from a collection of unreliable peers with unreliable connections  Aggregating resources can lead to excellent performance  Has to overcome the choking of the network of overhead or organizing messages  Fault resilience as there is no single point of failure  Has to overcome reliability challenges on account of network congestion, isolated networks, unreachable nodes
Types of P2P Networks P2P Systems File Sharing Collaboration Distributed  Computing Napster  Limewire ( www.limewire.com ) Aimster/Madster  Gnutella ( gnutella.com ) Morpheus  ( morpheus.com ) Chord Instant Messaging Groove   Multiplayer Games:  Magi SETI@home ( http://setiathome.berkeley.edu/ ) Grid.org File Sharing is the one we will delve into in this session Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Locating Content in P2P networks Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com Centralized Directory Approach  Flooded Request Approach Document routing Approach Peers connect to a central directory where they publish information about the content that they have to share  When the directory receives a request it replies with a peer in the directory that matches the request  Criteria such as proximity, bandwidth, capacity, congestion, health, frequency can guide the decision  Peers broadcast a request to its directly connected peers, each of whom broadcast to their directly connected peers and so on thru the network. This continues  until the request is answered or some broadcast limit is reached.  Each peer has helpful but only partially complete referral information. Each referral moves the requester closer to a peer that can satisfy the query.  The network can scale with a number of central servers  Generates a lot of ineffective network traffic which prevents scaling Can scale effectively as systems can complete a search within a bounded number of steps
Napster – A quick history ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Case Studies ,[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Napster Protocol - Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Napster Protocol Session Napster Server Client A Client B Search Request Search Response Download Request Download Ack See next two slides for message structures Establish TCP/IP  connection “ 1” “ GET” Peer response Song data Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Napster message structures: server - client Client announcing to server the files it is willing to share Code 100 – for this type of message  <filename>  <md5> <size> <bitrate> <frequency> <time> The MD 5 algorithm identifies the song and ensures that two files have identical content  Client search request Code 200 – for this type of message  <filename> <artist name> <song>  <max results> <line speed> <bitrate> <frequency> Server  Search Response Code 201 – for this message <filename> <md5> <size> <length> <nick>  <ip> <link type> Download request Code 203 <nick>  <file name> Download ack Code 204 <nick>  <ip> <port> <filename> <md5> <linespeed> Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Napster message structures: peer-peer “ 1” Single ASCII characters  “ GET” Not HTTP GET – this is the Napster application protocol Peer response <mynick>  <file name> <offset> - allows transfer to be resumed at any place in file  Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Gnutella  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Gnutella Protocol - Introduction  ,[object Object],[object Object],[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Gnutella Protocol – Finding a Servant  ,[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Gnutella message structures: descriptors The MD 5 algorithm identifies the song and ensures that two files have identical content  Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com Descriptor ID Payload Descriptor TTL – Time to Live Hops Payload Length Uniquely identifies this descriptor message in the network Code identifying the type of message Limits the maximum number of hops for this message 0xOO = Connection accept request  0x01 = pong Connect accept OK 0x01 = push  Push file thru firewall 0x80=query  File search request  0x81=queryhit  Search response OK Each servant receiving a message decrements TTL count and increments the Hop count before the message is forwarded.  The maximum number of hops is 7.
Gnutella Protocol Session  Servant 1 - Joining Servant 2 – On Network Gnutella Connect  Gnutella OK Ping Pong <Ip address>,<port>,<shared data>  Query <filename> Host Cache Server Queryhit <filename> File Download HTTP GET Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
Gnutella Network Traffic A B D E C Each peer broadcasts requests to its connected peers and so on. The Pong descriptors may only be sent along the same path that carried the incoming Ping descriptor  .mp3 .mp3 Get .mp3 Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
KazaA ,[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
KaZaA ,[object Object],[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
BitTorrent ,[object Object],[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
BitTorrent - introduction ,[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
How BitTorrent works ,[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],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
BitTorrent: How it differs from HTTP Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com BitTorrent HTTP Makes many small data requests over different TCP sockets Typically a single HTTP GET request over a single TCP socket.  Downloads in a random or in a &quot;rarest-first&quot; approach Downloads in a sequential manner. Downloads can take time to rise to full speed because it may take time for enough peer connections to be established, and it takes time for a node to receive sufficient data to become an effective uploader Rises to full speed very quickly and maintains this speed throughout.
Summary ,[object Object],[object Object],[object Object],Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com

More Related Content

What's hot

Network Slides
Network SlidesNetwork Slides
Network Slides
iarthur
 
Peer To Peer Protocols
Peer To Peer ProtocolsPeer To Peer Protocols
Peer To Peer Protocols
anishgoel
 
Basics Of Networking (Overview)
Basics Of Networking (Overview)Basics Of Networking (Overview)
Basics Of Networking (Overview)
ashiesh0007
 

What's hot (20)

Routing algorithm
Routing algorithmRouting algorithm
Routing algorithm
 
Computer network basics
Computer network basicsComputer network basics
Computer network basics
 
Isp
IspIsp
Isp
 
Network Slides
Network SlidesNetwork Slides
Network Slides
 
Transmission media
Transmission mediaTransmission media
Transmission media
 
Peer to peer
Peer to peerPeer to peer
Peer to peer
 
819 Static Channel Allocation
819 Static Channel Allocation819 Static Channel Allocation
819 Static Channel Allocation
 
Peer-to-Peer Systems
Peer-to-Peer SystemsPeer-to-Peer Systems
Peer-to-Peer Systems
 
Peer To Peer Protocols
Peer To Peer ProtocolsPeer To Peer Protocols
Peer To Peer Protocols
 
Client Server Network By Usman Ihsan
Client Server Network By Usman IhsanClient Server Network By Usman Ihsan
Client Server Network By Usman Ihsan
 
Computer network
Computer networkComputer network
Computer network
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Wireless Markup Language
Wireless Markup LanguageWireless Markup Language
Wireless Markup Language
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
message communication protocols in IoT
message communication protocols in IoTmessage communication protocols in IoT
message communication protocols in IoT
 
Basics Of Networking (Overview)
Basics Of Networking (Overview)Basics Of Networking (Overview)
Basics Of Networking (Overview)
 
M.A.C (Medium Access Control)
M.A.C (Medium Access Control)M.A.C (Medium Access Control)
M.A.C (Medium Access Control)
 
Chapter 1: Introduction to Data Communication and Networks
Chapter 1: Introduction to Data Communication and NetworksChapter 1: Introduction to Data Communication and Networks
Chapter 1: Introduction to Data Communication and Networks
 
Ipv4 header
Ipv4 headerIpv4 header
Ipv4 header
 
Tcp/ip model and protocol
Tcp/ip model and protocolTcp/ip model and protocol
Tcp/ip model and protocol
 

Similar to Peerto Peer Networks

P2P Seminar
P2P SeminarP2P Seminar
P2P Seminar
CoRehab
 
A Brief Note On Peer And Peer ( P2P ) Applications Have No...
A Brief Note On Peer And Peer ( P2P ) Applications Have No...A Brief Note On Peer And Peer ( P2P ) Applications Have No...
A Brief Note On Peer And Peer ( P2P ) Applications Have No...
Brenda Thomas
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)
Sri Prasanna
 
Project_report_BitTorrent
Project_report_BitTorrentProject_report_BitTorrent
Project_report_BitTorrent
Srikanth Vanama
 
Content Navigation
Content NavigationContent Navigation
Content Navigation
sanjoysanyal
 

Similar to Peerto Peer Networks (20)

P2P Seminar
P2P SeminarP2P Seminar
P2P Seminar
 
Bit torrent protocol
Bit torrent protocolBit torrent protocol
Bit torrent protocol
 
A Brief Note On Peer And Peer ( P2P ) Applications Have No...
A Brief Note On Peer And Peer ( P2P ) Applications Have No...A Brief Note On Peer And Peer ( P2P ) Applications Have No...
A Brief Note On Peer And Peer ( P2P ) Applications Have No...
 
Bittorrent
BittorrentBittorrent
Bittorrent
 
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
 
UNRAVEILING BIT-TORRENT
UNRAVEILING BIT-TORRENTUNRAVEILING BIT-TORRENT
UNRAVEILING BIT-TORRENT
 
Peer To Peer.pptx
Peer To Peer.pptxPeer To Peer.pptx
Peer To Peer.pptx
 
P2p Peer To Peer Introduction
P2p Peer To Peer IntroductionP2p Peer To Peer Introduction
P2p Peer To Peer Introduction
 
Peer to Peer Network with its Architecture, Types, and Examples!!
Peer to Peer Network with its Architecture, Types, and Examples!!Peer to Peer Network with its Architecture, Types, and Examples!!
Peer to Peer Network with its Architecture, Types, and Examples!!
 
Peer to peer_v2pptx
Peer to peer_v2pptxPeer to peer_v2pptx
Peer to peer_v2pptx
 
Bit torrent protocol by milan varia
Bit torrent protocol by milan variaBit torrent protocol by milan varia
Bit torrent protocol by milan varia
 
Magnet links
Magnet linksMagnet links
Magnet links
 
Peer to Peer networks and piracy
Peer to Peer networks and piracyPeer to Peer networks and piracy
Peer to Peer networks and piracy
 
(130316) #fitalk bit torrent protocol
(130316) #fitalk   bit torrent protocol(130316) #fitalk   bit torrent protocol
(130316) #fitalk bit torrent protocol
 
Serverless (Distributed computing)
Serverless (Distributed computing)Serverless (Distributed computing)
Serverless (Distributed computing)
 
Lecture - Network Technologies: Peer-to-Peer Networks
Lecture - Network Technologies: Peer-to-Peer NetworksLecture - Network Technologies: Peer-to-Peer Networks
Lecture - Network Technologies: Peer-to-Peer Networks
 
BitTorrent Protocol
BitTorrent ProtocolBitTorrent Protocol
BitTorrent Protocol
 
ppt
pptppt
ppt
 
Project_report_BitTorrent
Project_report_BitTorrentProject_report_BitTorrent
Project_report_BitTorrent
 
Content Navigation
Content NavigationContent Navigation
Content Navigation
 

More from sanjoysanyal

Windindustryin India
Windindustryin IndiaWindindustryin India
Windindustryin India
sanjoysanyal
 
Solar Industryin India
Solar Industryin IndiaSolar Industryin India
Solar Industryin India
sanjoysanyal
 
Bio Fuel Industryin India
Bio Fuel Industryin IndiaBio Fuel Industryin India
Bio Fuel Industryin India
sanjoysanyal
 
Introductionto Solar
Introductionto SolarIntroductionto Solar
Introductionto Solar
sanjoysanyal
 
Introductionto Solar
Introductionto SolarIntroductionto Solar
Introductionto Solar
sanjoysanyal
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
sanjoysanyal
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
sanjoysanyal
 
Topic5 Web Services
Topic5 Web ServicesTopic5 Web Services
Topic5 Web Services
sanjoysanyal
 
Topic4 Application Servers
Topic4 Application ServersTopic4 Application Servers
Topic4 Application Servers
sanjoysanyal
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integration
sanjoysanyal
 
Topic2 Understanding Middleware
Topic2 Understanding MiddlewareTopic2 Understanding Middleware
Topic2 Understanding Middleware
sanjoysanyal
 
Topic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information SystemsTopic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information Systems
sanjoysanyal
 
Instantmessagingprotocols
InstantmessagingprotocolsInstantmessagingprotocols
Instantmessagingprotocols
sanjoysanyal
 
Caching Techniquesfor Content Delivery
Caching Techniquesfor Content DeliveryCaching Techniquesfor Content Delivery
Caching Techniquesfor Content Delivery
sanjoysanyal
 

More from sanjoysanyal (20)

business
businessbusiness
business
 
Solar
SolarSolar
Solar
 
Windindustryin India
Windindustryin IndiaWindindustryin India
Windindustryin India
 
Solar Industryin India
Solar Industryin IndiaSolar Industryin India
Solar Industryin India
 
Bio Fuel Industryin India
Bio Fuel Industryin IndiaBio Fuel Industryin India
Bio Fuel Industryin India
 
Introduction to Carbon Markets
Introduction to Carbon Markets Introduction to Carbon Markets
Introduction to Carbon Markets
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technology
 
Microsoft Virtualization View
Microsoft Virtualization View Microsoft Virtualization View
Microsoft Virtualization View
 
Introductionto Solar
Introductionto SolarIntroductionto Solar
Introductionto Solar
 
Introductionto Solar
Introductionto SolarIntroductionto Solar
Introductionto Solar
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
Topic5 Web Services
Topic5 Web ServicesTopic5 Web Services
Topic5 Web Services
 
Topic4 Application Servers
Topic4 Application ServersTopic4 Application Servers
Topic4 Application Servers
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integration
 
Topic2 Understanding Middleware
Topic2 Understanding MiddlewareTopic2 Understanding Middleware
Topic2 Understanding Middleware
 
Topic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information SystemsTopic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information Systems
 
Instantmessagingprotocols
InstantmessagingprotocolsInstantmessagingprotocols
Instantmessagingprotocols
 
Caching Techniquesfor Content Delivery
Caching Techniquesfor Content DeliveryCaching Techniquesfor Content Delivery
Caching Techniquesfor Content Delivery
 
Streaming Media Protocols
Streaming Media ProtocolsStreaming Media Protocols
Streaming Media Protocols
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Peerto Peer Networks

  • 1. P2P Networks Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 2. P2P networks A set of technologies that enable the direct exchange of services of data or services between computers S C C C C C C C C Client Server P P P P P P P2P Network Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 3. Network Effects: Promises & Challenges Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com Can Have the following advantage… … however Scalability as there is no central resource to exhaust Has to overcome to challenge of self organization from a collection of unreliable peers with unreliable connections Aggregating resources can lead to excellent performance Has to overcome the choking of the network of overhead or organizing messages Fault resilience as there is no single point of failure Has to overcome reliability challenges on account of network congestion, isolated networks, unreachable nodes
  • 4. Types of P2P Networks P2P Systems File Sharing Collaboration Distributed Computing Napster Limewire ( www.limewire.com ) Aimster/Madster Gnutella ( gnutella.com ) Morpheus ( morpheus.com ) Chord Instant Messaging Groove Multiplayer Games: Magi SETI@home ( http://setiathome.berkeley.edu/ ) Grid.org File Sharing is the one we will delve into in this session Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 5. Locating Content in P2P networks Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com Centralized Directory Approach Flooded Request Approach Document routing Approach Peers connect to a central directory where they publish information about the content that they have to share When the directory receives a request it replies with a peer in the directory that matches the request Criteria such as proximity, bandwidth, capacity, congestion, health, frequency can guide the decision Peers broadcast a request to its directly connected peers, each of whom broadcast to their directly connected peers and so on thru the network. This continues until the request is answered or some broadcast limit is reached. Each peer has helpful but only partially complete referral information. Each referral moves the requester closer to a peer that can satisfy the query. The network can scale with a number of central servers Generates a lot of ineffective network traffic which prevents scaling Can scale effectively as systems can complete a search within a bounded number of steps
  • 6.
  • 7.
  • 8.
  • 9. Napster Protocol Session Napster Server Client A Client B Search Request Search Response Download Request Download Ack See next two slides for message structures Establish TCP/IP connection “ 1” “ GET” Peer response Song data Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 10. Napster message structures: server - client Client announcing to server the files it is willing to share Code 100 – for this type of message <filename> <md5> <size> <bitrate> <frequency> <time> The MD 5 algorithm identifies the song and ensures that two files have identical content Client search request Code 200 – for this type of message <filename> <artist name> <song> <max results> <line speed> <bitrate> <frequency> Server Search Response Code 201 – for this message <filename> <md5> <size> <length> <nick> <ip> <link type> Download request Code 203 <nick> <file name> Download ack Code 204 <nick> <ip> <port> <filename> <md5> <linespeed> Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 11. Napster message structures: peer-peer “ 1” Single ASCII characters “ GET” Not HTTP GET – this is the Napster application protocol Peer response <mynick> <file name> <offset> - allows transfer to be resumed at any place in file Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 12.
  • 13.
  • 14.
  • 15. Gnutella message structures: descriptors The MD 5 algorithm identifies the song and ensures that two files have identical content Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com Descriptor ID Payload Descriptor TTL – Time to Live Hops Payload Length Uniquely identifies this descriptor message in the network Code identifying the type of message Limits the maximum number of hops for this message 0xOO = Connection accept request 0x01 = pong Connect accept OK 0x01 = push Push file thru firewall 0x80=query File search request 0x81=queryhit Search response OK Each servant receiving a message decrements TTL count and increments the Hop count before the message is forwarded. The maximum number of hops is 7.
  • 16. Gnutella Protocol Session Servant 1 - Joining Servant 2 – On Network Gnutella Connect Gnutella OK Ping Pong <Ip address>,<port>,<shared data> Query <filename> Host Cache Server Queryhit <filename> File Download HTTP GET Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 17. Gnutella Network Traffic A B D E C Each peer broadcasts requests to its connected peers and so on. The Pong descriptors may only be sent along the same path that carried the incoming Ping descriptor .mp3 .mp3 Get .mp3 Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. BitTorrent: How it differs from HTTP Sanjoy Sanyal:www.itforintelligentfolks.blogspot.com BitTorrent HTTP Makes many small data requests over different TCP sockets Typically a single HTTP GET request over a single TCP socket. Downloads in a random or in a &quot;rarest-first&quot; approach Downloads in a sequential manner. Downloads can take time to rise to full speed because it may take time for enough peer connections to be established, and it takes time for a node to receive sufficient data to become an effective uploader Rises to full speed very quickly and maintains this speed throughout.
  • 24.