Gnutella, Freenet and Peer to Peer Networks - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Gnutella, Freenet and Peer to Peer Networks

Description:

Gnutella has a much broader user base than Freenet at this ... the Gnutella Network: ... Gnutella Descriptor Information. Ping. Used to actively discover hosts ... – PowerPoint PPT presentation

Number of Views:139
Avg rating:3.0/5.0
Slides: 24
Provided by: georgepap
Category:

less

Transcript and Presenter's Notes

Title: Gnutella, Freenet and Peer to Peer Networks


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

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

3
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

4
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

5
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

6
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

7
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
  • ServerGnutella
  • Content-typeapplication/binary
  • Content-length3289

8
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

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

10
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

11
Protocol Diagram
2) Outgoing Pong
3) Routed Ping
node
1) Incoming Ping
Discovery
12
Protocol Diagram
1) Query
2) QueryHit
1) File Transfer
Search
Transfer
13
How Gnutella Retrieves Information
14
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

15
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
    nodes datastore
  • Data stored within nodes is encrypted

16
Freenet Interactions
  • Connection to Freenet network
  • Node connecting to network must obtain existing
    nodes 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 nodes existence

17
Freenet Interactions
  • File Searches
  • Nodes search string is hashed to key and own
    datastore checked on key
  • If failure, key is sent to one connected node
    which searches its datastore and if fails,
    propagates search to one of its 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

18
Freenet Searches
19
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

20
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

21
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

22
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

23
Major Differences
  • Manner in which data is stored
  • Level of Anonymity
  • Developers Project Design Goals
Write a Comment
User Comments (0)
About PowerShow.com