Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.

Slides:



Advertisements
Similar presentations
Peer-to-Peer and Social Networks An overview of Gnutella.
Advertisements

INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
University of Cincinnati1 Towards A Content-Based Aggregation Network By Shagun Kakkar May 29, 2002.
1 An Overview of Gnutella. 2 History The Gnutella network is a fully distributed alternative to the centralized Napster. Initial popularity of the network.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Freenet A Distributed Anonymous Information Storage and Retrieval System Ian Clarke Oskar Sandberg Brandon Wiley Theodore W.Hong.
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
FreeNet: A Distributed Anonymous Information Storage and Retrieval System Ian Clark, Oskar Sandberg, Brandon Wiley and Theodore Hong.
1 Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Protecting Free Expression Online with Freenet Presented by Ho Tsz Kin I. Clarke, T. W. Hong, S. G. Miller, O. Sandberg, and B. Wiley 14/08/2003.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
An Example Architecture for CS179i based on Gnutella and Python Yihua He.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
1 Freenet  Addition goals to file location: -Provide publisher anonymity, security -Resistant to attacks – a third party shouldn’t be able to deny the.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
P2P File Sharing Systems
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presentation by Theodore Mao CS294-4: Peer-to-peer Systems August 27, 2003.
F REENET UDAYA S PISIPATI 02/26/08. C ONTENTS  Introduction  Design goals  Architecture  Basic model  Keys in searching  Retrieving data  Storing.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network
Unstructured P2P networks by example:Gnutella 0.4,Gnutella 0.6 张旭彤 杨蕊鸿 马骕 林晔.
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
1 Reading Report 4 Yin Chen 26 Feb 2004 Reference: Peer-to-Peer Architecture Case Study: Gnutella Network, Matei Ruoeanu, In Int. Conf. on Peer-to-Peer.
Gnutella2: A Better Gnutella?
Survey of Peer to Peer Technologies Authors: Bratislav Milić, Jelena Krunić, Veljko Milutinović,
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Searching In Peer-To-Peer Networks Chunlin Yang. What’s P2P - Unofficial Definition All of the computers in the network are equal Each computer functions.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
1 1.Freenet Architecture a)Goals b)Properties 2.Searching a network a)Searching/Routing algorithm b)Adaptive behaviour c)Differences with other algorithms.
Introduction of P2P systems
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols Network Fundamentals.
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presenter: Chris Grier ECE 598nb Spring 2006.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Ian Clarke, Oskar Sandberg, Brandon Wiley,Theodore W. Hong Presented by Zhengxiang.
Freenet File sharing for a political world. Freenet: A Distributed Anonymous Information Storage and Retrieval System I. Clarke, O. Sandberg, B. Wiley,
Freenet: A Distributed Anonymous Information Storage and Retrieval System Josh Colvin CIS 590, Fall 2011.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
P2PComputing/Scalab 1 Gnutella and Freenet Ramaswamy N.Vadivelu Scalab.
Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity.
Freenet Ubiquitous Computing - Assignment Guided By: Prof. Niloy Ganguly Department of Computer Science and Engineering Submitted By: o Parin Deepak Cheda.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
Peer-to-Peer By Rui Zhang, Chen Teng, Li Dong, Quanshuan He & Yongzheng Zhang.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
A Reputation-Based Approach for Choosing Reliable Resources in Peer-to-Peer Networks E. Damiani S. De Capitani di Vimercati S. Paraboschi P. Samarati F.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
Freenet: Anonymous Storage and Retrieval of Information
Company LOGO Freenet By Yogesh Kalyani. OUTLINE  Introducing P2P  Overview of Freenet  Key’s  Protocol  Security Analysis  Improvement  Strength.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Freenet A Distributed Anonymous Information System and Retrieval System I. Clarke, O. Sandberg, B. Wiley, W. Hong ECE 6102 Presented By: Kaushik Chowdhury.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Distributed Web Systems Peer-to-Peer Systems Lecturer Department University.
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
BitTorrent Vs Gnutella.
CHAPTER 3 Architectures for Distributed Systems
Internet Networking recitation #12
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Unstructured Routing : Gnutella and Freenet
Freenet.
Presentation transcript:

Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos

Peer to Peer Fundamentals No dedicated servers or hierarchy among the computers All of the computers are equal Each computer functions as a client and a server with no administrator User on each computer decides what data on their computer will be shared on the network.

Gnutella and Freenet Freenet and Gnutella are two leading protocols for Peer to Peer networking They both create a decentralized network of computers, but do so with different implementations They handle and distribute data differently according to their own project goals

Freenet and Gnutella Freenet and Gnutella are two leading protocols for peer to peer networking Both create a decentralized network of computers, but do so with different implementations They handle and distribute data differently according to their own project goals Gnutella has a much broader user base than Freenet at this time, due to its easier implementation

Gnutella Basics Gnutella works by “viral propagation” Each node of the network simultaneously acts as a client and server, conducting searches while listening for incoming queries Gnutella defines these heterogeneous nodes as “servents”

Gnutella Basics (cont.) Properties of the Gnutella Network: Every node is equal Every node is both a server as well as a client Problems with the Gnutella Network: The Network cannot be described as a tree, because there is no hierarchy The Network can be cyclical, this causes excessive traffic

Standard Interactions Connecting to a Server(node) A node connecting to the network must first connect to a know node Client Says: GNUTELLA CONNECT Server Responds: GNUTELLA OK Downloading from a Server(node) HTTP Downloading Client Request String: GET /get/1234/bob.mp3 HTTP/1.0 Connection: Keep-Alive Server Response: HTTP 200 OK Server:Gnutella Content-type:application/binary Content-length:3289

Gnutella Descriptor Information Ping Used to actively discover hosts on the network Pong The response to a Ping Query The primary mechanism for searching the distributed network Query Hit The response to a Query Push/Get A mechanism that allows a “servent” to contribute/receive file-based data to the network

HTTP Message Format 3 Major Fields of Information: Initial line signaling Request/Response Headers (not mandatory) Additional Data (not mandatory)

Protocol To discover nodes, a servent will send out a Ping descriptor A servent receiving a Ping is expected to respond with a Pong and forward the Ping to all other nodes it is connected to, decreasing the TTL before forwarding Pongs may only be sent along the same path as the incoming Ping A search is propagated using a Query descriptor which is also routed to nodes and other nodes connected to them

Protocol Diagram 1) Incoming Ping 2) Outgoing Pong3) Routed Ping node Discovery

Protocol Diagram 1) File Transfer 1) Query2) QueryHit SearchTransfer

How Gnutella Retrieves Information

Freenet Overview Objectives of Freenet Protocol Anonymity for both producers and consumers of information Deniability for storers of information Resistance to attempts by third parties to deny access to information Efficient dynamic storage and routing of information Decentralization of all network function

Freenet Basics Network of equal nodes, each acting as client and server Information stored on hosts under searchable keys Total anonymity of users Owner of node has no knowledge of information in node’s datastore Data stored within nodes is encrypted

Freenet Interactions Connection to Freenet network Node connecting to network must obtain existing node’s address though out-of-band means Once connected, a new node message is propagated to randomly selected, connected nodes so existing nodes learn of new node’s existence

Freenet Interactions File Searches Node’s search string is hashed to key and own datastore checked on key If failure, key is sent to one connected node which searches it’s datastore and if fails, propagates search to one of it’s connected nodes, HTL decreased When file is found, search terminates and data is sent back to searching node, each node along path to searching node copies data to its own datastore as well

Freenet Searches

Freenet Details Datastore Key Types Keyword Signed Key (KSK) Content Hash Key (CHK) Most Common Name defined by data itself Signature Verified Key (SVK) Provide a “private” key for use with SSK SubSpace Key (SSK) Allow users to insert data “under” an SVK Can create hierarchical data structure under SVK

Freenet Details Common Message Header Information UniqueID: 64bit value assigned to generated message, used to prevent loops HopsToLive: Number of times a message may be forwarded before destroyed Depth: Distance in hops a message has traveled from its creator Source: Address identifying sender of message

Freenet Details Message Types HandshakeRequest Initiate connection to a node, ensures that node is connected and protocol versions match HandshakeReply Response to HandshakeRequest DataRequest Request from node for data transmission, must provide key for data as well

Freenet Details Message Types (cont) DataReply Reply of requested data, must provide data to be stored DataInsert Request from a node for data to be stored onto network, requesting node includes data and key RequestFailed Signals to sending node that data request failed

Major Differences Manner in which data is stored Level of Anonymity Developer’s Project Design Goals