Unstructured Routing : Gnutella and Freenet

Slides:



Advertisements
Similar presentations
Peer-to-peer and agent-based computing P2P Algorithms.
Advertisements

Peer-to-Peer and Social Networks An overview of Gnutella.
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
1 An Overview of Gnutella. 2 History The Gnutella network is a fully distributed alternative to the centralized Napster. Initial popularity of the network.
Denial-of-Service Resilience in Peer-to-Peer Systems D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica and W. Zwaenepoel Presenter: Yan Gao.
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.
Other File Systems: AFS, Napster. 2 Recap NFS: –Server exposes one or more directories Client accesses them by mounting the directories –Stateless server.
1 Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul.
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.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
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.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
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 张旭彤 杨蕊鸿 马骕 林晔.
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.
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Introduction of P2P systems
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,
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
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.
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 Network Design Discovery and Routing algorithms
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.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
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 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.
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.
CS 268: Lecture 22 (Peer-to-Peer Networks)
Peer-to-Peer Data Management
An overview of Gnutella
CHAPTER 3 Architectures for Distributed Systems
Peer-to-Peer and Social Networks
Early Measurements of a Cluster-based Architecture for P2P Systems
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Freenet.
#02 Peer to Peer Networking
Presentation transcript:

Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul

Presentation Overview Gnutella What Gnutella is How it works Its positives and negatives Freenet Motivation and Philosophy Architecture and use Performance, Strengths and Weaknesses

What is Gnutella? Gnutella is a protocol for distributed search Each node in a Gnutella network acts as both a client and server Peer to Peer, decentralized model for file sharing Any type of file can be shared Nodes are called “Servents”

What do Servents do? Servents “know” about other Servents Act as interfaces through which users can issue queries and view search results Communicate with other Servents by sending “descriptors”

Descriptors Each descriptor consists of a header and a body. The header includes (among other things) A descriptor ID number A Time-To-Live number The body includes: Port information IP addresses Query information Etc… depending on the descriptor

Gnutella Descriptors Ping: Used to discover hosts on the network. Pong: Response to a Ping Query: Search the network for data QueryHit: Response to a Query. Provides information used to download the file Push: Special descriptor used for sharing with a firewalled servent

Routing Node forwards Ping and Query descriptors to all nodes connected to it Except: If descriptor’s TTL is decremented to 0 Descriptor has already been received before Loop detection is done by storing Descriptor ID’s Pong and QueryHit descriptors retrace the exact path of their respective Ping and Query descriptors

Routing2 C B A D QueryHit Query Query Note: Ping works essentially the same way, except that a Pong is sent as the response

Joining a Gnutella Network Servent connects to the network using TCP/IP connection to another servent. Could connect to a friend or acquaintance, or from a “Host-Cache”. Send a Ping descriptor to the network Hopefully, a number of Pongs are received

Querying Servent sends Query descriptor to nodes it is connected to. Queried Servents check to see if they have the file. If query match is found, a QueryHit is sent back to querying node

Downloading a File File data is never transferred over the Gnutella network. Data transferred by direct connection Once a servent receives a QueryHit descriptor, it may initiate the direct download of one of the files described by the descriptor’s Result Set. The file download protocol is HTTP. Example: GET /get/<File Index>/<File Name>/ HTTP/1.0\r\n Connection: Keep-Alive\r\n Range: bytes=0-\r\n User-Agent: Gnutella\r\n3

Direct File Download TCP/IP Connection C QueryHit B Query A Query

Overall: Simple Protocol Not a lot of overhead for routing Robustness? No central point of failure However: A file is only available as long as the file-provider is online. Vulnerable to denial-of-service attacks

Overall 2: Scales poorly: Querying and Pinging generate a lot of unnecessary traffic Example: If TTL = 10 and each site contacts six other sites Up to 10^6 (approximately 1 million) messages could be generated. On a slow day, a GnutellaNet would have to move 2.4 gigabytes per second in order to support numbers of users comparable to Napster. On a heavy day, 8 gigabytes per second (Ritter article) Heavy messaging can result in poor performance

Final thoughts about Gnutella Gnutella developers acknowledge the problems with Gnutella Gnutella2 (Mike’s protocol) is now released, but it is substantially different from original Gnutella Gnutella2 is not compatible with original Some say Gnutella2 is attempt to hijack Gnutella

Freenet

Freenet What is Freenet ? How does it work ? A Decentralized Distributed File Storage System How does it work ? Files stored and replicated across a distributed network environment, with a peer-to-peer query and data access system. No centralized system management.

Freenet Motivation – What does it provide ? 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 functions From ”Freenet: A Distributed anonymous Information Storage and Retrieval System”, Ian Clarke et. al.

Freenet Architecture Key generation Distributed information storage Query procedure Data retrieval Data removal

Freenet Architecture (2) Location independence Transparent lazy replication File encryption Dynamic network expansion/contraction

Freenet Routing

Freenet Lookup / Insert Hash key for data (160-bit SHA-1) Find node with closest match Forward query to this node Return data, replicating along the way For insert, push data onto node

Clustering around own key value Freenet Keys and Data distribution 160-bit keyspace Data clustered according to key values Nodes attract requests for data with keys similar to theirs Clustering around own key value 2160 - 1

Freenet Data Store Each node has an inventory of locally stored data, their hash keys and their most recent access/modification times Each node has limited storage capacity Potential overflow of data handled by removing least-recently used (LRU) files NO file lifetime guarantees Data passing through a node is stored locally, creating a dynamic cache

Freenet Protocol Request.Handshake Reply.Handshake Request.Data Send.Data Reply.NotFound Reply.Restart Request.Continue Request.Insert Reply.Insert Send.Insert Initial Contact Querying for Data Request Management Inserting Data

Freenet Protocol (2) All messages contain Transaction ID – 64-bit randomly generated Hops-to-live limit Request messages also contain Search key or Proposed key

Freenet Performance Network convergence Scalability Fault-tolerance Evolution of path length stability Scalability Network adaptability to increasing number of nodes and increasing traffic Fault-tolerance System resistance to node / network failure Small-world scenario Preferential attachment in the network permits efficient short paths between arbitrary points

Freenet Network convergence

Freenet Scalability

Freenet Fault-tolerance

Freenet Fault-tolerance (2)

Freenet Small-world scenario

Freenet Security Nodes are unable to determine origin of messages Messages between nodes encrypted against local eavesdropping Data source information periodically removed from data transfer Hops-to-live trick Hashing used to check data integrity and safeguard against intentional data corruption

Freenet Design weaknesses No file lifetime guarantees No efficient keyword search Currently, no defense against DoS attacks Bandwidth limitations not considered

Freenet Design strengths Decentralized - no single point of failure Scales well Dynamic routing adapts well to changing network topology High resilience to attacks

Freenet Next Generation Routing protocol Nodes become smarter about deciding where to route information Bandwidth considered when routing Statistical information gathered about response times, successful requests and connection times This information used to estimate nodes most likely to retrieve data quickest

Gnutella vs. Freenet Common features Decentralization Out-of-network initial connection Peer-based query system

Gnutella vs. Freenet Differences Flood-based routing vs. Dynamic decision-based routing Out-of-band vs. In-band data transfer No memory of past network traffic (stateless) vs. Routing tables Read-only (File sharing) vs. Read/Write (File storage) Static file locations vs. Dynamic file removal and replication Openness vs. Anonymity Low security vs. High security

End of Presentation Nutella and Questions !!!!